From 86ea54a1084ab14dd4795765d3ebca11bf163702 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 12 Jul 2025 08:08:05 +0000 Subject: [PATCH] api: builds: Add dependency function to fetch a build Signed-off-by: Michael Tremer --- src/api/builds.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/api/builds.py b/src/api/builds.py index 97a6004f..3e7194cd 100644 --- a/src/api/builds.py +++ b/src/api/builds.py @@ -19,12 +19,15 @@ ############################################################################### import fastapi -import uuid + +from uuid import UUID from . import apiv1 from . import backend -from .. import builds +# Import types +from ..builds import Build + # Create a new router for all builds endpoints router = fastapi.APIRouter( @@ -32,10 +35,14 @@ router = fastapi.APIRouter( tags=["Builds"], ) -@router.get("/{build_id}") -async def get(build_id: uuid.UUID) -> builds.Build: - build = await backend.builds.get_by_uuid(build_id) +async def get_build_by_uuid(uuid: UUID) -> Build | None: + """ + Fetches a build by its UUID + """ + return await backend.builds.get_by_uuid(uuid) +@router.get("/{uuid}") +async def get(build: Build = fastapi.Depends(get_build_by_uuid)) -> Build: # Raise 404 if the build could not be found if not build: raise fastapi.HTTPException(404, "Build not found") -- 2.47.2