from flask import g, redirect, request, url_for from werkzeug.wrappers import Response import db from core.flask_app import app @app.route("/games/new", methods=["POST"]) def games_new() -> Response: name = request.form.get("name", "").strip() if not name: return redirect(url_for("index")) # Fusion des moteurs (voir screens/screens_repo/ensure_schema.py) : un # jeu n'a plus de type propre — aucun écran créé d'office ici, comme # avant (l'admin en crée via "+ Nouvel écran" dans le dashboard, en # choisissant "document" ou "jeu_2d" pour chacun). # owner_folder (voir db/games/project_slug.py — structure de dossiers # par utilisateur) : l'id du compte, JAMAIS son email — opaque, ne # révèle rien du compte propriétaire dans les slugs/URLs (voir # scripts/migrate_owner_folders_to_user_id.py pour les projets déjà # existants avec l'ancien schéma). slug = db.create_game(name, owner_folder=str(g.current_user["id"])) return redirect(url_for("game_dashboard", slug=slug))