fincas.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # Pydantic imports
  2. from typing import List, Optional
  3. from fastapi import APIRouter, Depends, HTTPException
  4. from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
  5. # Sqlalchemy imports
  6. from sqlalchemy.orm import Session
  7. from starlette.responses import Response
  8. from commands.fincas import update_fincas as command_update_fincas
  9. # My imports
  10. from cruds.fincas import get_fincas_filter_company
  11. from database.sqlalchemy import get_db
  12. from routes.login import get_current_user
  13. from schemas.fincas import Finca as FincaSchema
  14. from schemas.users import User as UserSchema
  15. router = APIRouter()
  16. @router.get("/fincas", response_model=List[FincaSchema])
  17. async def get_all_my_fincas(
  18. db: Session = Depends(get_db),
  19. current_user: UserSchema = Depends(get_current_user),
  20. ) -> Response:
  21. company = get_fincas_filter_company(db, current_user.company_id)
  22. return company
  23. @router.get(
  24. "/update-fincas",
  25. )
  26. def update_my_fincas(
  27. db: Session = Depends(get_db),
  28. current_user: UserSchema = Depends(get_current_user),
  29. ) -> Response:
  30. return command_update_fincas(current_user.company_id)