import json from ..connection import connect from .ensure_quests_schema import ensure_quests_schema from .get_quest import get_quest from .sanitize_quest_dialogues import sanitize_quest_dialogues def set_quest_dialogues(slug, quest_id, raw_dialogues): """Toujours les 3 colonnes ENTIÈRES (nouvelle/en_cours/terminee) en un bloc — même convention "replace-all" que set_scene_object_collision_rules.py, jamais une réplique isolée.""" ensure_quests_schema(slug) if get_quest(slug, quest_id) is None: return None dialogues = sanitize_quest_dialogues(raw_dialogues) conn = connect(slug) conn.execute("UPDATE _quests SET dialogues_json = ? WHERE id = ?", (json.dumps(dialogues), quest_id)) conn.commit() conn.close() return dialogues