from flask import jsonify from werkzeug.wrappers import Response import document_engine from core.flask_app import app @app.route("/document//pages//delete", methods=["POST"]) def document_page_delete(slug: str, page_id: int) -> Response | tuple[Response, int]: """Supprime une page — refuse de supprimer la DERNIÈRE page restante (un support a toujours au moins une page, voir document_engine/pages/ pages.md) : le garde-fou vit ici, à la route, pas dans delete_document_page (même découpage que routes/game/screens/ screen_delete.py côté jeu, qui bloque aussi au niveau route).""" if document_engine.get_document_page(slug, page_id) is None: return jsonify({"error": "page introuvable"}), 404 if len(document_engine.list_document_pages(slug)) <= 1: return jsonify({"error": "impossible de supprimer la dernière page"}), 400 document_engine.delete_document_page(slug, page_id) return jsonify({"ok": True})