1
0
Fork 0
forked from sr2/cloud-api

feat: service dependencies

Issue #6
This commit is contained in:
Chris Milne 2026-05-27 13:43:06 +01:00
parent d0c8c6c297
commit 75f5bc79da
4 changed files with 59 additions and 20 deletions

View file

@ -8,4 +8,32 @@ Classes:
Functions:
- List: Description
- Functions: Description
"""
"""
from typing import Annotated
from fastapi import Depends, Query
from src.database import db_dependency
from src.service.exceptions import ServiceNotFoundException
from src.service.models import Service
from src.service.schemas import ServiceIDMixin
async def get_service_model_query(db: db_dependency, service_id: Annotated[int, Query(gt=0)]):
service_model = db.get(Service, service_id)
if service_model is None:
raise ServiceNotFoundException(service_id=service_id)
return service_model
service_model_query_dependency = Annotated[type[Service], Depends(get_service_model_query)]
async def get_service_model_body(db: db_dependency, request_model: ServiceIDMixin):
service_model = db.get(Service, request_model.service_id)
if service_model is None:
raise ServiceNotFoundException(service_id=request_model.service_id)
return service_model
service_model_body_dependency = Annotated[type[Service], Depends(get_service_model_body)]