WMGZON/controllers/web/endpoints.py

40 lines
1.1 KiB
Python

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'))