From: Michael Tremer Date: Sat, 12 Jul 2025 08:08:05 +0000 (+0000) Subject: api: builds: Add dependency function to fetch a build X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=86ea54a1084ab14dd4795765d3ebca11bf163702;p=pbs.git api: builds: Add dependency function to fetch a build Signed-off-by: Michael Tremer --- 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")