checkup detail

This commit is contained in:
dderbentsov
2023-07-22 16:57:20 +03:00
parent 9c5b389849
commit 54cd6872e4
4 changed files with 47 additions and 31 deletions

View File

@@ -1,20 +1,27 @@
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 CheckupDetail, CheckupCreate
from medical_info.db.schemas import CheckupCreate, CheckupBase, CheckupDetail
from medical_info.services import CheckupService, get_checkups_service
router = APIRouter(prefix='/checkups')
@router.get('/', response_model=List[CheckupDetail])
@router.get('/', response_model=List[CheckupBase])
def list_checkups(
checkups_service: CheckupService = Depends(get_checkups_service)
) -> List[models.Checkup]:
return checkups_service.list()
@router.post('/', status_code=201, response_model=CheckupDetail)
@router.get('/{checkup_id}', response_model=CheckupDetail)
async def get_checkup(
checkup_id: UUID4, checkups_service: CheckupService = Depends(get_checkups_service)
) -> Optional[models.Checkup]:
return checkups_service.get(checkup_id)
@router.post('/', status_code=201, response_model=CheckupBase)
async def create_checkup(
checkup: CheckupCreate, checkups_service: CheckupService = Depends(get_checkups_service)
) -> models.Checkup: