1
0
Fork 0
forked from sr2/cloud-api
cloud-api/src/service/dependencies.py
2026-05-27 14:29:09 +01:00

39 lines
1.1 KiB
Python

"""
Router dependencies for <this module>
Classes:
- List: Description
- Classes: Description
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)]