This commit is contained in:
2026-06-09 23:10:17 +02:00
parent 7b3b9a890f
commit 90e5f61b91
15 changed files with 911 additions and 86 deletions
+29
View File
@@ -3,6 +3,7 @@ from flask import Flask
from flask_migrate import Migrate
from flask_socketio import SocketIO
from dotenv import load_dotenv
from sqlalchemy import text
from .models import db
socketio = SocketIO(cors_allowed_origins="*")
@@ -20,6 +21,14 @@ def create_app():
)
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
@app.after_request
def add_cors_headers(response):
origin = os.getenv("FRONTEND_ORIGIN", "*")
response.headers["Access-Control-Allow-Origin"] = origin
response.headers["Access-Control-Allow-Headers"] = "Content-Type"
response.headers["Access-Control-Allow-Methods"] = "GET, POST, OPTIONS"
return response
db.init_app(app)
migrate.init_app(app, db)
socketio.init_app(app, cors_allowed_origins=os.getenv("FRONTEND_ORIGIN", "*"))
@@ -29,4 +38,24 @@ def create_app():
from .socket import events # noqa: F401
with app.app_context():
ensure_schema()
return app
def ensure_schema():
db.create_all()
engine_name = db.engine.url.get_backend_name()
if engine_name != "postgresql":
return
db.session.execute(text(
"ALTER TABLE session_settings "
"ADD COLUMN IF NOT EXISTS match_mode VARCHAR(20) NOT NULL DEFAULT 'first_match'"
))
db.session.execute(text(
"ALTER TABLE session_settings "
"ADD COLUMN IF NOT EXISTS voting_round INTEGER NOT NULL DEFAULT 1"
))
db.session.commit()