This commit is contained in:
@ -1,6 +1,7 @@
|
||||
from datetime import UTC, datetime
|
||||
from json import dumps
|
||||
from logging import getLogger
|
||||
from secrets import token_urlsafe
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Body, Depends, UploadFile, status
|
||||
@ -180,20 +181,42 @@ async def queue(_: Annotated[User, Depends(login)]):
|
||||
|
||||
|
||||
@router.get('/aemd')
|
||||
async def aemd(user: Annotated[User, Depends(login)]):
|
||||
async def get_aemd(user: Annotated[User, Depends(login)]):
|
||||
profile = await c.vitacore_api.getProfile(user.vita_id)
|
||||
snils = profile.SNILS.replace('-', '').replace(' ', '')
|
||||
docs = await c.aemd_api.searchRegistryItem(patient_snils=snils)
|
||||
doc = docs['items'][0]
|
||||
items: list[s.AEMDFile] = docs['items']
|
||||
return_items: list[s.AEMDReturnFile] = []
|
||||
|
||||
from datetime import datetime
|
||||
for item in items:
|
||||
is_cached = await cache.get(f'aemd:{item["localUid"]}')
|
||||
|
||||
msg = f'AEMD Current datetime: {datetime.now(UTC).isoformat()}'
|
||||
logger.info(msg)
|
||||
return_items.append(
|
||||
s.AEMDReturnFile(
|
||||
emdrId=item['emdrId'],
|
||||
registrationDate=item['registrationDate'],
|
||||
DocKind=item['DocKind'],
|
||||
IsSemd=item['IsSemd'],
|
||||
isCached=bool(is_cached),
|
||||
)
|
||||
)
|
||||
|
||||
return await c.aemd_api.demandContent(
|
||||
messageId='test123', emdrId=doc['emdrId']
|
||||
return return_items
|
||||
|
||||
|
||||
@router.post('/aemd', status_code=status.HTTP_202_ACCEPTED)
|
||||
async def post_aemd(user: Annotated[User, Depends(login)], emdrId: str):
|
||||
messageId = token_urlsafe(32)
|
||||
data = s.AEMDDemandContent(
|
||||
messageId=messageId, emdrId=emdrId, vitaId=user.vita_id
|
||||
)
|
||||
await cache.set(f'aemd_messages:{messageId}', dumps(data))
|
||||
await c.aemd_api.demandContent(messageId=messageId, emdrId=emdrId)
|
||||
|
||||
|
||||
@router.get('/aemd/{emdrId}')
|
||||
async def get_aemd_file(user: Annotated[User, Depends(login)], emdrId: str):
|
||||
return
|
||||
|
||||
|
||||
@router.post('/measurement', status_code=status.HTTP_202_ACCEPTED)
|
||||
|
||||
Reference in New Issue
Block a user