From: Michael Tremer Date: Mon, 7 Jul 2025 12:48:08 +0000 (+0000) Subject: api: packages: Add endpoint to fetch latest package by name X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a4d3e5133d4523ccbe1239a03f69b24c68dc5478;p=pbs.git api: packages: Add endpoint to fetch latest package by name Signed-off-by: Michael Tremer --- diff --git a/src/api/packages.py b/src/api/packages.py index 4b333b2a..0c319403 100644 --- a/src/api/packages.py +++ b/src/api/packages.py @@ -24,6 +24,8 @@ import pydantic from . import apiv1 from . import backend +from ..packages import Package + # Create a new router for all endpoints router = fastapi.APIRouter( prefix="/packages", @@ -50,5 +52,15 @@ async def get_packages() -> list[PackageSummary]: """ return [package async for package in backend.packages] + +@router.get("/{name}") +async def get_package(name: str) -> Package: + build = await backend.builds.get_latest_by_name(name) + if not build: + raise fastapi.HTTPException(404, "Could not find package %s" % name) + + # Return the source package + return build.pkg + # Add everything to the APIv1 apiv1.include_router(router)