from db.supports import connect_support, ensure_document_pages_schema def move_document_page(slug: str, page_id: int, new_index: int) -> None: """Réordonne une page dans la bande d'onglets (glisser-déposer) — renumérote intégralement order_index sur TOUTES les pages, même principe que move_document_element (jamais un décalage un par un).""" ensure_document_pages_schema(slug) conn = connect_support(slug) page_ids = [ r["id"] for r in conn.execute( "SELECT id FROM _document_pages WHERE id != ? ORDER BY order_index", (page_id,) ).fetchall() ] page_ids.insert(max(0, min(new_index, len(page_ids))), page_id) for index, pid in enumerate(page_ids): conn.execute("UPDATE _document_pages SET order_index = ? WHERE id = ?", (index, pid)) conn.commit() conn.close()