first commit
Some checks failed
Build And Push / publish (push) Failing after 3m15s

This commit is contained in:
2025-09-24 04:11:55 +03:00
commit 967bb8d936
45 changed files with 2651 additions and 0 deletions

View File

1113
src/apps/users/v1/mock.py Normal file

File diff suppressed because it is too large Load Diff

152
src/apps/users/v1/router.py Normal file
View File

@ -0,0 +1,152 @@
from datetime import datetime
from json import dumps
from logging import getLogger
from typing import Annotated, Any
from fastapi import APIRouter, Body, Depends, status
from apps.users.auth import login
from shared.redis import client as cache
from . import mock
logger = getLogger(__name__)
router = APIRouter(
prefix='/user',
tags=[
'User',
],
)
@router.post('/measurement', status_code=status.HTTP_202_ACCEPTED)
async def measurement(
user: Annotated[str, Depends(login)],
ad: Annotated[int, Body()],
sd: Annotated[int, Body()],
pulse: Annotated[int, Body()],
created_at: Annotated[datetime, Body()],
comment: Annotated[str, Body()],
status: Annotated[str, Body()],
):
created = created_at.strftime('%Y-%m-%d %H:%M:%S')
data = {
'ad': ad,
'sd': sd,
'pulse': pulse,
'created_at': created,
'comment': comment,
'status': status,
}
cache_key = f'tdn:measurement:{user}:{created}'
cache.set(cache_key, dumps(data))
return
@router.get('/measurements')
async def measurements(user: Annotated[str, Depends(login)],):
data = [cache.get(key) for key in cache.keys(f'tdn:measurement:{user}:*')]
return data
@router.get('/queue')
async def queue(user: Annotated[bool, Depends(login)]):
return {
'id': 60,
'guid': '92b3343d-1cb2-47b2-8497-a37e38b6ba24',
'tmk_date': None,
'created_at': '2025-04-02 15:21:19.890343',
'code_mo': '166502',
'mo_name': 'ГАУЗ "ГКБ№7 ИМ. М.Н.САДЫКОВА"',
'doctor_spec': '109',
'doctor_snils': None,
'patient_name': 'Иванов Петр Федорович',
'patient_birthday': '1997-03-01',
'patient_snils': '099-678-666 12',
'patient_policy': None,
'patient_phone': '+79123456789',
'patient_email': None,
'tmk_status': 1,
'tmk_status_name': 'Создана',
'tmk_cancel_reason': None,
'tmk_cancel_reason_name': None,
'vks_doctor_link': None,
'vks_patient_link': None,
'doctor_spec_name': 'врач-терапевт',
}
@router.get('/getDepartments')
async def get_departments():
data: dict[Any, Any] = {}
return data
@router.get('/getSpecs')
async def get_specs():
return mock.specs
@router.get('/findPat')
async def find_pat(user: Annotated[str, Depends(login)]):
return mock.findpat[0]
@router.get('/getProfile')
async def get_profile(user: Annotated[str, Depends(login)]):
return mock.profile[0]
@router.get('/getHosps')
async def get_hosps():
return mock.hosps
@router.get('/getELNS')
async def get_elns(user: Annotated[str, Depends(login)]):
return mock.elns[0]
@router.get('/getVaccsReport')
async def get_vaccs_report(user: Annotated[str, Depends(login)]):
return mock.vacs[0]
@router.get('/getDiagnosticResults')
async def get_diagnostic_results(user: Annotated[str, Depends(login)]):
return mock.diagnosticResults[0]
@router.get('/getCurrHosp')
async def get_curr_hosp(user: Annotated[str, Depends(login)]):
return mock.currHosp[0]
@router.get('/getPatFLG')
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]
@router.get('/getMedExamDict')
async def get_med_exam_dict(user: Annotated[str, Depends(login)]):
return mock.medexamDict
@router.get('/getHospRecommendations')
async def get_hosp_recommendations(user: Annotated[str, Depends(login)]):
return mock.hospRecommendations
@router.get('/getHospRoutes')
async def get_hosp_routes(user: Annotated[str, Depends(login)]):
return mock.hospRoutes