diff --git a/src/apps/users/v1/router.py b/src/apps/users/v1/router.py index e79af46..86a4a29 100644 --- a/src/apps/users/v1/router.py +++ b/src/apps/users/v1/router.py @@ -47,9 +47,12 @@ async def get_workers(departmentId: str): return await c.vitacore_api.getWorkers(departmentId) -@router.get('/getSpecs') +@router.get('/getSpecs', response_model=s.SpecsV021Model) async def get_specs(): - return mock.specs + """ + Get list of specialties. + """ + return await c.vitacore_api.getSpecsV021() @router.post('/measurement', status_code=status.HTTP_202_ACCEPTED) diff --git a/src/clients/vitacore/api.py b/src/clients/vitacore/api.py index 08e4502..e74cb18 100644 --- a/src/clients/vitacore/api.py +++ b/src/clients/vitacore/api.py @@ -50,3 +50,13 @@ class VITACORE_API(AsyncClient): case _: self.logger.error(req.json()) raise e.UnknownException + + async def getSpecsV021(self): + req = await self.get('/getSpecsV021') + + match req.status_code: + case st.HTTP_200_OK: + return s.SpecsV021Model.model_validate(req.json()) + case _: + self.logger.error(req.json()) + raise e.UnknownException diff --git a/src/clients/vitacore/schema.py b/src/clients/vitacore/schema.py index a397108..ffc8b94 100644 --- a/src/clients/vitacore/schema.py +++ b/src/clients/vitacore/schema.py @@ -174,3 +174,17 @@ class WorkersModel(BaseModel): middleName: str = Field(title='Отчество', examples=['Михайлович']) birthDate: datetime = Field(title='Дата рождения', examples=['30.05.1961']) positions: list[WorkersPositionModel] + + +class SpecialityV021Model(BaseModel): + SpecialityID: str = Field( + title='Код спциальности по справочнику V021', examples=['1'] + ) + SpecialityName: str = Field( + title='Наимнование спциальности по справочнику V021', + examples=['Авиационная и космическая медицина'], + ) + + +class SpecsV021Model(BaseModel): + SpecialitiesV021: list[SpecialityV021Model]