From 02a35d044110f58951bd70616df1598e11ca8404 Mon Sep 17 00:00:00 2001 From: Miwory Date: Mon, 29 Sep 2025 08:50:34 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=8D=D0=BD=D0=B4=D0=BF=D0=BE=D0=B8=D0=BD=D1=82=20get?= =?UTF-8?q?Entries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apps/users/v1/router.py | 15 ++++++++----- src/clients/vitacore/api.py | 10 +++++++++ src/clients/vitacore/schema.py | 39 ++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 5 deletions(-) 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]