update to 0.16.0 #72

Merged
serversdown merged 32 commits from dev into main 2026-06-23 00:59:46 -04:00
2 changed files with 23 additions and 2 deletions
Showing only changes of commit 03f3dca243 - Show all commits
+20
View File
@@ -404,6 +404,26 @@ def _build_combined_location_data(
# Project List & Overview # Project List & Overview
# ============================================================================ # ============================================================================
@router.get("/list-json")
async def get_projects_list_json(db: Session = Depends(get_db)):
"""JSON list of assignable projects (id, name, status) for pickers such as
the pending-deployment classify modal. Excludes deleted/archived/completed,
matching the default /list view. (The /list endpoint returns HTML cards, so
JSON consumers must use this one.)"""
projects = (
db.query(Project)
.filter(Project.status.notin_(["deleted", "archived", "completed"]))
.order_by(Project.name)
.all()
)
return JSONResponse({
"projects": [
{"id": p.id, "name": p.name, "status": p.status}
for p in projects
]
})
@router.get("/list", response_class=HTMLResponse) @router.get("/list", response_class=HTMLResponse)
async def get_projects_list( async def get_projects_list(
request: Request, request: Request,
+3 -2
View File
@@ -295,9 +295,10 @@ function closeClassifyModal() {
async function _loadProjects() { async function _loadProjects() {
try { try {
const r = await fetch('/api/projects/list'); // Must be the JSON endpoint — /api/projects/list returns HTML cards.
const r = await fetch('/api/projects/list-json');
const data = r.ok ? await r.json() : { projects: [] }; const data = r.ok ? await r.json() : { projects: [] };
// Endpoint shape varies; tolerate either { projects: [...] } or a flat array. // Tolerate either { projects: [...] } or a flat array.
_pdState.projectsCache = Array.isArray(data) ? data : (data.projects || []); _pdState.projectsCache = Array.isArray(data) ? data : (data.projects || []);
} catch (e) { } catch (e) {
_pdState.projectsCache = []; _pdState.projectsCache = [];