28 lines
821 B
Python
28 lines
821 B
Python
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)
|