fix: add missing last_scan field in code quality dashboard empty state

Problem:
- GET /api/v1/admin/code-quality/stats returned 500 error
- Pydantic validation error: "last_scan Field required"
- When no scan data exists, service returned dict without last_scan field
- DashboardStatsResponse model required last_scan field

Solution:
1. Added last_scan: None to empty state return dictionary
2. Made last_scan field explicitly optional with default value (= None)
3. Ensures field is always present in response

Changes:
- app/services/code_quality_service.py: Added "last_scan": None
- app/api/v1/admin/code_quality.py: Changed to last_scan: str | None = None

This fixes the 500 error when accessing /admin/code-quality page
with no architecture scan data in the database.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-28 20:15:07 +01:00
parent b8a46e1746
commit c7c2c83007
2 changed files with 2 additions and 1 deletions

View File

@@ -122,7 +122,7 @@ class DashboardStatsResponse(BaseModel):
by_rule: dict
by_module: dict
top_files: list
last_scan: str | None
last_scan: str | None = None
# API Endpoints

View File

@@ -371,6 +371,7 @@ class CodeQualityService:
"by_rule": {},
"by_module": {},
"top_files": [],
"last_scan": None,
}
# Get violation counts by status