from flask import jsonify, request from werkzeug.wrappers import Response import document_engine from core.flask_app import app @app.route("/document//pages//vertical-align", methods=["POST"]) def document_page_vertical_align(slug: str, page_id: int) -> Response | tuple[Response, int]: """Règle l'alignement vertical du contenu d'une page (voir panneau Propriétés affiché quand l'onglet "Pages" est actif, static/document/ js/document-editor.js::forgeDocRenderPageProps) — renvoie la valeur RÉELLEMENT persistée (jamais celle envoyée telle quelle) : une valeur invalide retombe silencieusement sur "top", même convention que document_page_rename.py pour un titre vide.""" if document_engine.get_document_page(slug, page_id) is None: return jsonify({"error": "page introuvable"}), 404 payload = request.get_json(force=True) or {} document_engine.set_document_page_vertical_align(slug, page_id, str(payload.get("vertical_align", ""))) page = document_engine.get_document_page(slug, page_id) vertical_align = page["vertical_align"] if page else "top" return jsonify({"ok": True, "vertical_align": vertical_align})