add friend table, start work on ws
This commit is contained in:
+4
-1
@@ -1,10 +1,11 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
from flask import Flask
|
from flask import Flask, app
|
||||||
from flask_socketio import SocketIO
|
from flask_socketio import SocketIO
|
||||||
from flask_login import LoginManager
|
from flask_login import LoginManager
|
||||||
from .db import close_db, init_db
|
from .db import close_db, init_db
|
||||||
from app.models.user import User
|
from app.models.user import User
|
||||||
|
|
||||||
|
|
||||||
sIO = SocketIO()
|
sIO = SocketIO()
|
||||||
login_manager = LoginManager()
|
login_manager = LoginManager()
|
||||||
|
|
||||||
@@ -16,6 +17,8 @@ def create_app():
|
|||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.config['SECRET_KEY'] = 'dev' #! ofc not intended for prod use
|
app.config['SECRET_KEY'] = 'dev' #! ofc not intended for prod use
|
||||||
|
|
||||||
|
from .sockets import socket as _socket
|
||||||
|
|
||||||
app.teardown_appcontext(close_db)
|
app.teardown_appcontext(close_db)
|
||||||
|
|
||||||
sIO.init_app(app)
|
sIO.init_app(app)
|
||||||
|
|||||||
@@ -53,6 +53,17 @@ def init_db(app):
|
|||||||
|
|
||||||
CREATE INDEX IF NOT EXISTS idx_game_players_player_id
|
CREATE INDEX IF NOT EXISTS idx_game_players_player_id
|
||||||
ON game_players(player_id);
|
ON game_players(player_id);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS friendships (
|
||||||
|
requester_id INTEGER NOT NULL,
|
||||||
|
addressee_id INTEGER NOT NULL,
|
||||||
|
status TEXT NOT NULL CHECK(status IN ('pending','accepted','blocked')),
|
||||||
|
|
||||||
|
PRIMARY KEY (requester_id, addressee_id),
|
||||||
|
|
||||||
|
FOREIGN KEY (requester_id) REFERENCES users(id) ON DELETE CASCADE,
|
||||||
|
FOREIGN KEY (addressee_id) REFERENCES users(id) ON DELETE CASCADE
|
||||||
|
);
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
db.commit()
|
db.commit()
|
||||||
+10
-3
@@ -13,10 +13,17 @@ main_bp = Blueprint("main", __name__)
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
@main_bp.route("/", methods=["GET", "POST"])
|
@main_bp.route("/", methods=["GET", "POST"])
|
||||||
def main():
|
def index():
|
||||||
return render_template("main.html")
|
return render_template("index.html")
|
||||||
|
|
||||||
@main_bp.route("/home", methods=["GET", "POST"])
|
@main_bp.route("/home", methods=["GET", "POST"])
|
||||||
@login_required
|
@login_required
|
||||||
def home():
|
def home():
|
||||||
return render_template("home.html", username=current_user.username)
|
print(f"Current user: {current_user.username}")
|
||||||
|
return render_template("home.html")
|
||||||
|
|
||||||
|
|
||||||
|
@main_bp.route("/play", methods=["GET"])
|
||||||
|
@login_required
|
||||||
|
def play():
|
||||||
|
return render_template("play.html")
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
from app import sIO
|
||||||
|
|
||||||
|
@sIO.on('auth')
|
||||||
|
def handle_auth(msg):
|
||||||
|
print(msg)
|
||||||
@@ -11,5 +11,5 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>logged in</h1>
|
<h1>logged in</h1>
|
||||||
<p>hi, {{ username }}!</p>
|
<p>hi, {{ current_user.username }}!</p>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user