from fastapi import APIRouter, Depends, Path from core.models.office.requests import UpdateOfficeRequest from core.models.office.responses import JdeOfficeDetailResponse from core.services.office import services router = APIRouter(prefix='/offices') @router.get('/') async def list_offices(offices: list[JdeOfficeDetailResponse] = Depends(services.list_offices_service)) -> list[ JdeOfficeDetailResponse]: return offices @router.get('/{office_id}') async def get_office_by_id(office_id: str = Path()) -> JdeOfficeDetailResponse | None: data = await services.list_offices_service() try: return [x for x in data if x.code == office_id][0] except IndexError: return None @router.post('/') async def update_office(data: UpdateOfficeRequest): await services.update_office(data)