feat(backend): add editor context, draft flow bootstrap, and draft summary endpoints

add backend endpoints for editor context and draft summaries

ensure draft flow bootstrap for editor-driven workflows
improve draft-aware initialization and summary reads for clients
This commit is contained in:
greebo
2026-03-19 21:47:38 +03:00
parent a266f56ddd
commit 4c15f4c201
6 changed files with 390 additions and 265 deletions

View File

@@ -47,6 +47,7 @@
- GET /api/v1/schemes/{scheme_id}/pricing/coverage
- GET /api/v1/schemes/{scheme_id}/pricing/unpriced-seats
- GET /api/v1/schemes/{scheme_id}/pricing/explain/{seat_id}
- GET /api/v1/schemes/{scheme_id}/pricing/rules/diagnostics
## app/api/routes/test_mode.py
- GET /api/v1/schemes/{scheme_id}/test/seats/{seat_id}
@@ -62,9 +63,12 @@
- POST /api/v1/schemes/{scheme_id}/draft/remap/apply
## app/api/routes/editor.py
- GET /api/v1/schemes/{scheme_id}/editor/context
- POST /api/v1/schemes/{scheme_id}/draft/ensure
- GET /api/v1/schemes/{scheme_id}/draft/summary
- GET /api/v1/schemes/{scheme_id}/draft/structure
- GET /api/v1/schemes/{scheme_id}/draft/compare-preview
- GET /api/v1/schemes/{scheme_id}/draft/validation
- GET /api/v1/schemes/{scheme_id}/draft/compare-preview
- GET /api/v1/schemes/{scheme_id}/draft/seats/records/{seat_record_id}
- GET /api/v1/schemes/{scheme_id}/draft/sectors/records/{sector_record_id}
- GET /api/v1/schemes/{scheme_id}/draft/groups/records/{group_record_id}
@@ -90,3 +94,4 @@
- This file is an operational route index, not a generated OpenAPI export.
- Update this map in the same change set when adding, removing, renaming, or moving routes.
- Query guards such as expected_current_scheme_version_id / expected_scheme_version_id are part of the operational contract for optimistic concurrency on mutable flows.
- Draft/editor routes may legally return 409 draft_not_editable when current version is already published and no editable draft exists yet.