from models.users.user import User from controllers.database.user import UserController from flask import redirect, Blueprint, session, url_for from . import user from . import product from . import stats from . import admin blueprint = Blueprint('main', __name__) blueprint.register_blueprint(user.blueprint) blueprint.register_blueprint(product.product_blueprint) blueprint.register_blueprint(product.seller_blueprint) blueprint.register_blueprint(stats.blueprint) blueprint.register_blueprint(admin.blueprint) # CONTEXTS # # Function that returns a given user class based on the ID in the session @blueprint.context_processor def get_user() -> dict[User | None]: # Get the user based on the user ID user_id = session.get('user_id') user = None if user_id is not None: db = UserController() user = db.read_id(user_id) return dict(user=user) # Function responsible for displaying the main landing page of the site @blueprint.route('/') def index(): return redirect(url_for('main.products.index'))