# Pydantic imports from typing import List, Optional from fastapi import APIRouter, Depends, HTTPException from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm # Sqlalchemy imports from sqlalchemy.orm import Session from starlette.responses import Response from commands.fincas import update_fincas as command_update_fincas # My imports from cruds.fincas import get_fincas_filter_company from database.sqlalchemy import get_db from routes.login import get_current_user from schemas.fincas import Finca as FincaSchema from schemas.users import User as UserSchema router = APIRouter() @router.get("/fincas", response_model=List[FincaSchema]) async def get_all_my_fincas( db: Session = Depends(get_db), current_user: UserSchema = Depends(get_current_user), ) -> Response: company = get_fincas_filter_company(db, current_user.company_id) return company @router.get( "/update-fincas", ) def update_my_fincas( db: Session = Depends(get_db), current_user: UserSchema = Depends(get_current_user), ) -> Response: return command_update_fincas(current_user.company_id)