Fix fanout gaps: statistics JSON 500, schema drops, undocumented admin routes
- Fix StatisticsOut to match the real admin_statistics page context (active_tab/tabs/window_hours/initial), which was raising a ValidationError and 500ing GET /admin/statistics with Accept: application/json. - Add missing *Out fields dropped from JSON responses: IsslopSourceOut (source_lines, marked_lines, focus_line, report_url), IsslopReportOut (report_url, badge_url, events_url, topic), IssuesOut (viewer_is_admin), GameStateOut/GameFarmViewOut (game_error), QuizAttemptPageOut (answer_max_chars, quiz_error), QuizBuilderOut (quiz_error). - Convert GET /admin/issues/planning to respond() with a new AdminIssuesPlanningOut schema so it serves JSON like every sibling admin dashboard, and document it in docs_api. - Document previously-undocumented admin endpoint families in docs_api: services page routes, gateway provider/model CRUD, admin workspaces (11 routes), and trash list/restore/purge. - Correct stale references to services/devii/actions/catalog.py as a single file; it is the actions/catalog/ package. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VL9Xn57W5UR3HZbbuuzxdK
This commit is contained in:
@@ -5,11 +5,12 @@ import logging
|
||||
from fastapi import APIRouter, Request
|
||||
from fastapi.responses import HTMLResponse
|
||||
|
||||
from devplacepy.responses import respond
|
||||
from devplacepy.schemas import AdminIssuesPlanningOut
|
||||
from devplacepy.seo import base_seo_context
|
||||
from devplacepy.services.gitea import runtime
|
||||
from devplacepy.services.gitea.config import gitea_config
|
||||
from devplacepy.services.gitea.planning import collect_open_issues
|
||||
from devplacepy.templating import templates
|
||||
from devplacepy.utils import require_admin
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -65,4 +66,4 @@ async def admin_issues_planning(request: Request):
|
||||
"tickets": tickets,
|
||||
"tickets_error": tickets_error,
|
||||
}
|
||||
return templates.TemplateResponse(request, "admin_issues_planning.html", context)
|
||||
return respond(request, "admin_issues_planning.html", context, model=AdminIssuesPlanningOut)
|
||||
|
||||
Reference in New Issue
Block a user