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 created_at: datetime
person_id: UUID4 person_id: UUID4
person: Optional[PersonDetail] 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: class Config:
orm_mode = True orm_mode = True

View File

@@ -2,7 +2,7 @@ from fastapi import Depends
from fastapi.routing import APIRouter from fastapi.routing import APIRouter
from typing import List, Optional from typing import List, Optional
from pydantic.types import UUID4 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.db.schemas import MedicalCardResponse, MedicalCardCreate, MedicalCardBase,MedicalCardDetail
from medical_info.services import MedicalCardService, get_medical_cards_service 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): def __init__(self, db_session: Session):
super(MedicalCardService, self).__init__(MedicalCard, db_session) super(MedicalCardService, self).__init__(MedicalCard, db_session)
def list(self, searchstring: str) -> dict: def list(self, searchstring: str) -> Any:
medical_cards_rows = self.db_session.query(MedicalCard).all() objs = self.db_session.query(models.MedicalCard).all()
medical_cards = parse_obj_as(List[MedicalCardBase], medical_cards_rows) medical_cards = parse_obj_as(List[schemas.MedicalCard], objs)
medical_cards = [medical_card.dict() for medical_card in medical_cards] 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'} person = {'full_name': 'Жижин Антон Семенович', 'birth_date': '2012-03-10'}
for m in medical_cards: for m in medical_cards:
print(m) print(m)
@@ -29,8 +37,8 @@ class MedicalCardService(BaseService[MedicalCard, MedicalCardCreate, Any]):
if obj is None: if obj is None:
raise HTTPException(status_code=404, detail='NotFound') raise HTTPException(status_code=404, detail='NotFound')
# personal_information_host = os.getenv('ASTRA-PESONAL-INFORMATION') personal_information_host = os.getenv('ASTRA-PESONAL-INFORMATION')
personal_information_host = 'http://localhost:8001/persons' # personal_information_host = 'http://localhost:8001/persons'
#TODO обработка ошибок ответа сервиса personal_info #TODO обработка ошибок ответа сервиса personal_info