This commit is contained in:
dderbentsov
2023-08-03 01:22:39 +03:00
parent 784f4e4964
commit e88a29ea32
3 changed files with 30 additions and 6 deletions

View File

@@ -61,5 +61,21 @@ class MedicalCardDetail(BaseModel):
created_at: datetime
person_id: UUID4
person: Optional[PersonDetail]
class Config:
orm_mode = True
class MedicalCardSimple(BaseModel):
id: UUID4
number: Optional[str]
person_id: UUID4
created_at: Optional[datetime]
class Config:
orm_mode = True
class MedicalCard(BaseModel):
id: UUID4
number: str
created_at: datetime
person_id: UUID4
class Config:
orm_mode = True

View File

@@ -2,7 +2,7 @@ from fastapi import Depends
from fastapi.routing import APIRouter
from typing import List, Optional
from pydantic.types import UUID4
from medical_info.db import models
from medical_info.db import models, schemas
from medical_info.db.schemas import MedicalCardResponse, MedicalCardCreate, MedicalCardBase,MedicalCardDetail
from medical_info.services import MedicalCardService, get_medical_cards_service

View File

@@ -12,12 +12,20 @@ class MedicalCardService(BaseService[MedicalCard, MedicalCardCreate, Any]):
def __init__(self, db_session: Session):
super(MedicalCardService, self).__init__(MedicalCard, db_session)
def list(self, searchstring: str) -> dict:
medical_cards_rows = self.db_session.query(MedicalCard).all()
medical_cards = parse_obj_as(List[MedicalCardBase], medical_cards_rows)
def list(self, searchstring: str) -> Any:
objs = self.db_session.query(models.MedicalCard).all()
medical_cards = parse_obj_as(List[schemas.MedicalCard], objs)
medical_cards = [medical_card.dict() for medical_card in medical_cards]
# personal_information_host = 'http://localhost:8001/persons'
#TODO обобщение хоста personal_info
#TODO обработка ошибок ответа сервиса personal_info
# CONTINUE
# person_response = requests.get(f'{personal_information_host}/{obj.person_id}')
person = {'full_name': 'Жижин Антон Семенович', 'birth_date': '2012-03-10'}
for m in medical_cards:
print(m)
@@ -29,8 +37,8 @@ class MedicalCardService(BaseService[MedicalCard, MedicalCardCreate, Any]):
if obj is None:
raise HTTPException(status_code=404, detail='NotFound')
# personal_information_host = os.getenv('ASTRA-PESONAL-INFORMATION')
personal_information_host = 'http://localhost:8001/persons'
personal_information_host = os.getenv('ASTRA-PESONAL-INFORMATION')
# personal_information_host = 'http://localhost:8001/persons'
#TODO обработка ошибок ответа сервиса personal_info