from ..connection import connect from .ensure_custom_events_schema import ensure_custom_events_schema def create_custom_event(slug, name, description=""): """Idempotent par nom (même convention que create_global_variable.py) : si le nom existe déjà, ne touche à rien et renvoie simplement son id existant plutôt que de lever une erreur — sans risque en cas de double clic/soumission depuis l'onglet Événements (screen_edit.html).""" name = (name or "").strip() if not name: return None ensure_custom_events_schema(slug) conn = connect(slug) existing = conn.execute("SELECT id FROM _custom_events WHERE name = ?", (name,)).fetchone() if existing: conn.close() return existing["id"] conn.execute( "INSERT INTO _custom_events (name, description) VALUES (?, ?)", (name, (description or "").strip()), ) new_id = conn.execute("SELECT last_insert_rowid() AS id").fetchone()["id"] conn.commit() conn.close() return new_id