2025-05-18 01:00:52 -05:00

38 lines
917 B
Python

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_login import LoginManager
db = SQLAlchemy()
migrate = Migrate()
login_manager = LoginManager()
def create_app():
app = Flask(__name__)
app.config.from_object('config.Config')
# Initialize core extensions
db.init_app(app)
migrate.init_app(app, db)
login_manager.init_app(app)
login_manager.login_view = 'auth.login' # Optional: redirect for @login_required
# Register Blueprints
from .core.routes import core
from .core.auth import auth
app.register_blueprint(core)
app.register_blueprint(auth, url_prefix="/auth")
# Register CLI commands
from .cli import seed_admin
app.cli.add_command(seed_admin)
return app
@login_manager.user_loader
def load_user(user_id):
from .core.models import User
return User.query.get(int(user_id))