Add HTML5 authoring rollback form

This commit is contained in:
2026-05-16 23:02:28 +03:00
parent d2c42cabda
commit a62e213b2f
3 changed files with 93 additions and 1 deletions
@@ -38,6 +38,7 @@ from pydantic import BaseModel, Field
from api_server.html5 import (
render_html5_authoring_changes,
render_html5_authoring_change_detail,
render_html5_authoring_rollback_result,
render_html5_editor,
render_html5_index,
render_html5_project_setup,
@@ -1750,6 +1751,24 @@ async def html5_project_authoring_change_detail(project_id: str, change_id: str)
)
@app.post("/html5/projects/{project_id}/authoring/changes/{change_id}/apply-rollback")
async def html5_project_authoring_apply_rollback(project_id: str, change_id: str, request: Request) -> Response:
form = await _html5_form_data(request)
payload = AuthoringApplyRollbackRequest(
expected_rollback_version_id=_form_value(form, "expected_rollback_version_id") or "",
approved_by=_form_value(form, "approved_by") or "",
approval_note=_form_value(form, "approval_note"),
task_id=_form_value(form, "task_id"),
session_id=_form_value(form, "session_id"),
)
try:
result = await authoring_apply_rollback(project_id, change_id, payload)
html = render_html5_authoring_rollback_result(project_id, result)
except HTTPException as error:
html = render_html5_authoring_rollback_result(project_id, error=str(error.detail))
return Response(html, media_type="text/html; charset=utf-8")
@app.get("/html5/projects/{project_id}/setup")
async def html5_project_setup(project_id: str) -> Response:
setup = _project_setup_response(project_id)