first commit
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
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))
|
||||
Reference in New Issue
Block a user