This repository has been archived on 2026-03-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
cau-praktikum/app/__init__.py
T

39 lines
968 B
Python

from typing import Optional
from flask import Flask, app
from flask_socketio import SocketIO
from flask_login import LoginManager
from .db import close_db, init_db
from app.models.user import User
sIO = SocketIO()
login_manager = LoginManager()
@login_manager.user_loader
def load_user(user_id: int | str) -> Optional["User"]:
return User.get(user_id)
def create_app():
app = Flask(__name__)
app.config['SECRET_KEY'] = 'dev' #! ofc not intended for prod use
from .sockets import socket as _socket
app.teardown_appcontext(close_db)
sIO.init_app(app)
login_manager.init_app(app)
from .routes.auth import auth_bp
from .routes.main import main_bp
from .routes.friends import friends_bp
from .routes.presence import presence_bp
app.register_blueprint(main_bp)
app.register_blueprint(auth_bp)
app.register_blueprint(friends_bp)
app.register_blueprint(presence_bp)
init_db(app)
return app