implemented new model for database, new routes for save. Fixed logout not allowing post requests

This commit is contained in:
2026-03-30 13:22:04 +02:00
parent 5781eef189
commit b808b0017b
12 changed files with 94 additions and 3 deletions
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -46,7 +46,7 @@ def login():
return render_template("login.html")
@login_bp.route('/logout')
@login_bp.route('/logout', methods=['POST'])
@login_required
def logout():
logout_user()
+34 -1
View File
@@ -1,6 +1,9 @@
from flask import Blueprint, jsonify, render_template, request
from flask_login import login_required, current_user
import random
import random, json
from ..models.gamestate import GameState
from ..models.user import User
from .. import db
main_bp = Blueprint("main", __name__)
@@ -73,3 +76,33 @@ def solve_rooks(n=8):
random.shuffle(solution)
return solution
@main_bp.route("/save", methods=["POST"])
def save_game():
data = request.json
board = data["board"]
mode = data["mode"]
game = GameState(
user_id=current_user.id,
board=json.dumps(board),
mode=mode
)
db.session.add(game)
db.session.commit()
return jsonify({"status": "saved"})
@main_bp.route("/load")
def load_game():
game = GameState.query.filter_by(user_id=current_user.id)\
.order_by(GameState.id.desc()).first()
if not game:
return jsonify({"board": [-1]*8, "mode": "queens"})
return jsonify({
"board": json.loads(game.board),
"mode": game.mode
})