From 9a2b323fd8238a1b6eac3c36fb3c7b8622c4ac8d Mon Sep 17 00:00:00 2001 From: Mondo Diaz Date: Tue, 3 Feb 2026 16:24:31 -0600 Subject: [PATCH] Fix PackageArtifactResponse missing sha256 and version fields - Add sha256 field to list_package_artifacts response (artifact ID is SHA256) - Add version field to PackageArtifactResponse schema - Add version field to frontend PackageArtifact type - Update getArtifactVersion to prefer direct version field --- backend/app/routes.py | 4 ++++ backend/app/schemas.py | 1 + frontend/src/pages/PackagePage.tsx | 4 ++-- frontend/src/types.ts | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/app/routes.py b/backend/app/routes.py index e4ee5ff..5473cb8 100644 --- a/backend/app/routes.py +++ b/backend/app/routes.py @@ -4817,9 +4817,13 @@ def list_package_artifacts( artifact_responses.append( PackageArtifactResponse( id=artifact.id, + sha256=artifact.id, # Artifact ID is the SHA256 hash size=artifact.size, content_type=artifact.content_type, original_name=artifact.original_name, + checksum_md5=artifact.checksum_md5, + checksum_sha1=artifact.checksum_sha1, + s3_etag=artifact.s3_etag, created_at=artifact.created_at, created_by=artifact.created_by, format_metadata=artifact.format_metadata, diff --git a/backend/app/schemas.py b/backend/app/schemas.py index 3bd19ed..b82f0c1 100644 --- a/backend/app/schemas.py +++ b/backend/app/schemas.py @@ -256,6 +256,7 @@ class PackageArtifactResponse(BaseModel): created_at: datetime created_by: str format_metadata: Optional[Dict[str, Any]] = None + version: Optional[str] = None # Version from PackageVersion if exists class Config: from_attributes = True diff --git a/frontend/src/pages/PackagePage.tsx b/frontend/src/pages/PackagePage.tsx index 44a8dbd..d245624 100644 --- a/frontend/src/pages/PackagePage.tsx +++ b/frontend/src/pages/PackagePage.tsx @@ -313,9 +313,9 @@ function PackagePage() { } }; - // Helper to get version from artifact metadata + // Helper to get version from artifact - prefer direct version field, fallback to metadata const getArtifactVersion = (a: PackageArtifact): string | null => { - return (a.format_metadata?.version as string) || null; + return a.version || (a.format_metadata?.version as string) || null; }; // Helper to get download ref - prefer version, fallback to artifact ID diff --git a/frontend/src/types.ts b/frontend/src/types.ts index 7c1e3c5..1ce1dfd 100644 --- a/frontend/src/types.ts +++ b/frontend/src/types.ts @@ -58,6 +58,7 @@ export interface PackageArtifact { created_at: string; created_by: string; format_metadata?: Record | null; + version?: string | null; // Version from PackageVersion if exists } export interface PackageVersion {