From 276bfa69a18aaeaeb7e3230313d4609443f87b78 Mon Sep 17 00:00:00 2001 From: dderbentsov Date: Wed, 2 Aug 2023 01:32:01 +0300 Subject: [PATCH] VIP medical card detail --- src/medical_info/db/schemas/medical_card.py | 8 ++++++++ src/medical_info/routers/medical_cards.py | 12 +++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/medical_info/db/schemas/medical_card.py b/src/medical_info/db/schemas/medical_card.py index 2af40e7..53add1a 100644 --- a/src/medical_info/db/schemas/medical_card.py +++ b/src/medical_info/db/schemas/medical_card.py @@ -26,5 +26,13 @@ class MedicalCardBase(BaseModel): class MedicalCards(BaseModel): __root__: List[MedicalCardBase] + class Config: + orm_mode = True + +class MedicalCardDetail(BaseModel): + id: UUID4 + number: Optional[str] + + created_at: Optional[datetime] class Config: orm_mode = True \ No newline at end of file diff --git a/src/medical_info/routers/medical_cards.py b/src/medical_info/routers/medical_cards.py index cf4186a..57ad660 100644 --- a/src/medical_info/routers/medical_cards.py +++ b/src/medical_info/routers/medical_cards.py @@ -1,9 +1,9 @@ from fastapi import Depends from fastapi.routing import APIRouter -from typing import List - +from typing import List, Optional +from pydantic.types import UUID4 from medical_info.db import models -from medical_info.db.schemas import MedicalCardResponse, MedicalCardCreate, MedicalCardBase +from medical_info.db.schemas import MedicalCardResponse, MedicalCardCreate, MedicalCardBase,MedicalCardDetail from medical_info.services import MedicalCardService, get_medical_cards_service router = APIRouter(prefix='/medical_cards') @@ -14,6 +14,12 @@ def list_medical_cards( ): return medical_cards_service.list('sss') +@router.get('/{medical_card_id}', response_model=MedicalCardDetail) +async def get_medical_card( + medical_card_id: UUID4, medical_cards_service: MedicalCardService = Depends(get_medical_cards_service) +) -> Optional[models.MedicalCard]: + return medical_cards_service.get(medical_card_id) + @router.post('/', status_code=201, response_model=MedicalCardBase) async def create_medical_card( medical_card: MedicalCardCreate, medical_cards_service: MedicalCardService = Depends(get_medical_cards_service)