Add governed view revision resolution

This commit is contained in:
2026-07-31 02:48:57 +02:00
parent 2df42fb0f8
commit 5c5aeecc19
8 changed files with 496 additions and 43 deletions
+26
View File
@@ -45,6 +45,7 @@ from govoplan_views.backend.schemas import (
ViewSelectionRequest,
ViewSurfaceCatalogueResponse,
ViewSurfaceResponse,
WorkflowViewResolutionRequest,
)
from govoplan_views.backend.service import (
EffectiveViewState,
@@ -493,6 +494,31 @@ def api_effective_view(
)
@router.post("/effective/workflow", response_model=EffectiveViewResponse)
def api_workflow_effective_view(
payload: WorkflowViewResolutionRequest,
session: Session = Depends(get_session),
principal: ApiPrincipal = Depends(get_api_principal),
) -> EffectiveViewResponse:
_require_any_scope(
principal,
SELECTION_READ_SCOPE,
SELECTION_WRITE_SCOPE,
)
return _effective_response(
resolve_effective_view(
session,
tenant_id=principal.tenant_id,
account_id=principal.account_id,
group_ids=principal.group_ids,
catalogue=_catalogue(),
workflow_view_id=payload.view_id,
workflow_revision_id=payload.revision_id,
workflow_surface_ids=payload.visible_surface_ids,
)
)
@router.put("/selection", response_model=EffectiveViewResponse)
def api_select_view(
payload: ViewSelectionRequest,