from typing import Any import db from ..flow.ensure_flow_schema import ensure_flow_schema def screens_referencing(slug: str, screen_id: int) -> list[dict[str, Any]]: """Écrans dont un nœud de logique (action "aller_a") cible précisément cet écran — pour avertir avant suppression plutôt que de casser silencieusement le lien.""" ensure_flow_schema(slug) conn = db.connect(slug) rows = conn.execute( """SELECT DISTINCT s.id, s.name FROM _flow_nodes n JOIN _screens s ON s.id = n.screen_id WHERE n.action_type = 'aller_a' AND n.target_screen_id = ?""", (screen_id,), ).fetchall() conn.close() return [dict(r) for r in rows]