Skip to content
Snippets Groups Projects
helpers.py 729 B
Newer Older
# Using login_required Flask function decorator from the following reference
# https://flask.palletsprojects.com/en/3.0.x/patterns/viewdecorators/

from flask import redirect, render_template, session
from functools import wraps

def login_required(f):
    """
    Decorating routes that require login

    https://flask.palletsprojects.com/en/3.0.x/patterns/viewdecorators/
    """

    @wraps(f)
    def decorated_function(*args, **kwargs):
        # "user_id" is the identifier associated with currently logged-in user
        if session.get("user_id") is None: # Confirm "user_id" in app.py
            return redirect("/login")
        return f(*args, **kwargs)
    return decorated_function

# print(login_required.__doc__)