From 2ca4230d8197aeb4e626ea7934b1f6545940ef4f Mon Sep 17 00:00:00 2001 From: "murat.oguz" Date: Thu, 8 Jan 2026 14:02:00 +0300 Subject: [PATCH] Update RepoLibrary model to allow optional ecosystem field and handle unknown ecosystems in library view --- backend/app/models/repository_scan.py | 2 +- backend/app/views/library_view.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/app/models/repository_scan.py b/backend/app/models/repository_scan.py index 976ddda..ce23679 100644 --- a/backend/app/models/repository_scan.py +++ b/backend/app/models/repository_scan.py @@ -8,7 +8,7 @@ class RepoLibrary(BaseModel): library_name: str = Field(..., description='Discovered library name') library_version: str = Field(..., description='Discovered library version') - ecosystem: str = Field(..., description='Ecosystem of the library (e.g., npm, pip, maven, etc.)') + ecosystem: Optional[str] = Field(None, description='Ecosystem of the library (e.g., npm, pip, maven, etc.). May be null for legacy records') model_config = ConfigDict(populate_by_name=True) diff --git a/backend/app/views/library_view.py b/backend/app/views/library_view.py index ef9c42f..7b36a80 100644 --- a/backend/app/views/library_view.py +++ b/backend/app/views/library_view.py @@ -419,7 +419,7 @@ async def handle_repo_scan_highest_risk(payload: dict): lib_entry = { "library_name": d.get('name'), "library_version": normalize_version(d.get('version')) or d.get('version') or "unknown", - "ecosystem": d.get('ecosystem') + "ecosystem": d.get('ecosystem') or 'unknown' } grouped.setdefault(path, []).append(lib_entry)