From: Michael Tremer Date: Mon, 7 Jul 2025 12:59:20 +0000 (+0000) Subject: api: Create an endpoint to fetch a package by its UUID X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=61cab19a2ba31cf73a28ae609f28074f2f23764d;p=pbs.git api: Create an endpoint to fetch a package by its UUID Signed-off-by: Michael Tremer --- diff --git a/src/api/packages.py b/src/api/packages.py index 0c319403..65189cbb 100644 --- a/src/api/packages.py +++ b/src/api/packages.py @@ -21,6 +21,9 @@ import fastapi import pydantic +# UUID +from uuid import UUID + from . import apiv1 from . import backend @@ -53,6 +56,15 @@ async def get_packages() -> list[PackageSummary]: return [package async for package in backend.packages] +@router.get("/{uuid:uuid}") +async def get_package_by_uuid(uuid: UUID) -> Package: + # Fetch the package by its UUID + pkg = await backend.packages.get_by_uuid(uuid) + if not pkg: + raise fastapi.HTTPException(404, "Could not find package %s" % id) + + return pkg + @router.get("/{name}") async def get_package(name: str) -> Package: build = await backend.builds.get_latest_by_name(name)