###############################################################################
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(
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")