diff --git a/src/apps/users/v1/router.py b/src/apps/users/v1/router.py index 86a4a29..b9d7b41 100644 --- a/src/apps/users/v1/router.py +++ b/src/apps/users/v1/router.py @@ -55,6 +55,16 @@ async def get_specs(): return await c.vitacore_api.getSpecsV021() +@router.get('/getEntries', response_model=s.EntriesModel) +async def get_entries(): + """ + Get list of entries for user by id. + """ + return await c.vitacore_api.getEntries( + 'b172ddc1-bd94-407f-885f-725193dcc502' + ) + + @router.post('/measurement', status_code=status.HTTP_202_ACCEPTED) async def measurement( user: Annotated[str, Depends(login)], @@ -149,11 +159,6 @@ async def get_pat_flg(user: Annotated[str, Depends(login)]): return mock.patFLG[0] -@router.get('/getEntries') -async def get_entries(user: Annotated[str, Depends(login)]): - return mock.entries[0] - - @router.get('/getRoutesList') async def get_routes_list(user: Annotated[str, Depends(login)]): return mock.routesList[0] diff --git a/src/clients/vitacore/api.py b/src/clients/vitacore/api.py index e74cb18..c97bebc 100644 --- a/src/clients/vitacore/api.py +++ b/src/clients/vitacore/api.py @@ -60,3 +60,13 @@ class VITACORE_API(AsyncClient): case _: self.logger.error(req.json()) raise e.UnknownException + + async def getEntries(self, patId: str): + req = await self.get('/getEntries', params={'patId': patId}) + + match req.status_code: + case st.HTTP_200_OK: + return s.EntriesModel.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 ffc8b94..413b3c1 100644 --- a/src/clients/vitacore/schema.py +++ b/src/clients/vitacore/schema.py @@ -188,3 +188,42 @@ class SpecialityV021Model(BaseModel): class SpecsV021Model(BaseModel): SpecialitiesV021: list[SpecialityV021Model] + + +class EntryModel(BaseModel): + DateTime: datetime = Field( + title='Дата и время записи', + examples=['2022-08-01T00:00:00.000Z'], + ) + TicketType: str = Field(title='Тип талона', examples=['Первичный']) + EntryPlace: str = Field( + title='Место записи', + examples=['Регистратура'], + ) + EntryType: str = Field( + title='Тип записи', examples=['Запись на прием к врачу'] + ) + Place: str = Field( + title='Кабинет приёма', + examples=['6'], + ) + ResourceName: str = Field( + title='ФИО врача или наимнование кабинета полностью', + examples=['Сиразетдинов Рамзис Халафутдинович'], + ) + Speciality: str = Field( + title='Специальность', + examples=['Врач общей практики (семейный врач)'], + ) + Branch: str = Field( + title='Подразделение', + examples=['Главное здание'], + ) + LpuName: str = Field( + title='Наименование МО', + examples=['ГАУЗ Азнакаевская ЦРБ'], + ) + + +class EntriesModel(BaseModel): + Entries: list[EntryModel]