Files
Forge-Engine/routes/flow/flow_node_add.py
T
williamandwilliam 3f4ebc4527
Build and deploy / build-and-push (push) Successful in 17s
Build and deploy / deploy (push) Successful in 10s
first commit
2026-08-21 16:23:49 +02:00

22 lines
942 B
Python

from flask import request, jsonify
import screens
from core.flask_app import app
@app.route("/game/<slug>/screens/<int:screen_id>/flow/nodes/add", methods=["POST"])
def flow_node_add(slug, screen_id):
"""Ajoute un nœud (Déclencheur / Condition / Action) au graphe de
logique de cet écran — appelé en AJAX depuis le panneau "Logique de la
scène", pour que poser un nœud ne recharge jamais toute la page."""
payload = request.get_json(force=True) or {}
node_type = payload.get("node_type")
if node_type not in ("trigger", "condition", "action"):
return jsonify({"error": "type de nœud invalide"}), 400
x = float(payload.get("x", 40))
y = float(payload.get("y", 40))
fields = {k: v for k, v in payload.items() if k not in ("node_type", "x", "y")}
node_id = screens.add_flow_node(slug, screen_id, node_type, x=x, y=y, **fields)
return jsonify(screens.get_flow_node(slug, node_id))