jde-server/core/handlers/office/handlers.py

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)