VIP medical card detail

This commit is contained in:
dderbentsov
2023-08-02 01:32:01 +03:00
parent 974ae44fd1
commit 276bfa69a1
2 changed files with 17 additions and 3 deletions

View File

@@ -28,3 +28,11 @@ 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

View File

@@ -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)