Add HTML5 authoring diff preview
This commit is contained in:
@@ -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_diff_result,
|
||||
render_html5_authoring_preview_result,
|
||||
render_html5_authoring_rollback_result,
|
||||
render_html5_editor,
|
||||
@@ -1794,6 +1795,26 @@ async def html5_project_authoring_completion_preview(project_id: str, request: R
|
||||
return Response(html, media_type="text/html; charset=utf-8")
|
||||
|
||||
|
||||
@app.post("/html5/projects/{project_id}/authoring/semantic-diff-preview")
|
||||
async def html5_project_authoring_semantic_diff_preview(project_id: str, request: Request) -> Response:
|
||||
form = await _html5_form_data(request)
|
||||
payload = AuthoringSemanticDiffPreviewRequest(
|
||||
routine_name=_form_value(form, "routine_name"),
|
||||
source_path=_form_value(form, "source_path"),
|
||||
original_text=_form_value(form, "original_text") or "",
|
||||
proposed_text=_form_value(form, "proposed_text") or "",
|
||||
task_id=_form_value(form, "task_id"),
|
||||
session_id=_form_value(form, "session_id"),
|
||||
user_id=_form_value(form, "user_id"),
|
||||
)
|
||||
try:
|
||||
preview = _authoring_semantic_diff_preview(project_id, payload)
|
||||
html = render_html5_authoring_diff_result(project_id, preview)
|
||||
except HTTPException as error:
|
||||
html = render_html5_authoring_diff_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)
|
||||
|
||||
Reference in New Issue
Block a user