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

28 lines
821 B
Python
Raw Permalink Normal View History

2023-11-21 01:02:56 +03:00
from fastapi import APIRouter, Depends, Path
2023-11-13 07:38:01 +03:00
from core.models.office.requests import UpdateOfficeRequest
from core.models.office.responses import JdeOfficeDetailResponse
from core.services.office import services
router = APIRouter(prefix='/offices')
2023-11-15 16:20:07 +03:00
@router.get('/')
2023-11-13 07:38:01 +03:00
async def list_offices(offices: list[JdeOfficeDetailResponse] = Depends(services.list_offices_service)) -> list[
2023-11-21 01:02:56 +03:00
JdeOfficeDetailResponse]:
2023-11-13 07:38:01 +03:00
return offices
2023-11-21 01:02:56 +03:00
@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
2023-11-15 16:20:07 +03:00
@router.post('/')
2023-11-13 07:38:01 +03:00
async def update_office(data: UpdateOfficeRequest):
await services.update_office(data)