from db.supports import connect_support, ensure_document_pages_schema def delete_document_page(slug: str, page_id: int) -> None: """Supprime une page — CASCADE (contrainte FK sur les supports créés après l'ajout des pages ; ensure_document_pages_schema n'en pose pas pour les anciens, voir son commentaire) retire aussi ses éléments. Ne refuse JAMAIS ici de supprimer la dernière page restante — cette règle est un garde-fou métier posé par l'appelant (voir routes/document/document_page_delete.py), pas une contrainte structurelle de cette fonction bas niveau (même découpage que routes/game/screens/screen_delete.py côté jeu).""" ensure_document_pages_schema(slug) conn = connect_support(slug) conn.execute("DELETE FROM _document_elements WHERE page_id = ?", (page_id,)) conn.execute("DELETE FROM _document_pages WHERE id = ?", (page_id,)) conn.commit() conn.close()