from db.supports import connect_support, ensure_document_pages_schema def add_document_page(slug: str, title: str | None = None) -> int: """Ajoute une page en fin de la bande d'onglets — titre par défaut "Page N" (N = position 1-indexée dans la liste actuelle + 1) si `title` n'est pas fourni, jamais un titre vide (voir update_document_page.py, qui lui rejette silencieusement un titre vide au renommage — ici la valeur par défaut ne peut structurellement pas être vide, donc rien à valider).""" ensure_document_pages_schema(slug) conn = connect_support(slug) max_row = conn.execute("SELECT MAX(order_index) AS m, COUNT(*) AS n FROM _document_pages").fetchone() order_index = (max_row["m"] or 0) + 1 if max_row["n"] else 0 page_title = title.strip() if title and title.strip() else f"Page {max_row['n'] + 1}" conn.execute( "INSERT INTO _document_pages (title, order_index) VALUES (?, ?)", (page_title, order_index), ) page_id = int(conn.execute("SELECT last_insert_rowid() AS id").fetchone()["id"]) conn.commit() conn.close() return page_id