Added Flask Blueprints to enforce modularity

This commit is contained in:
white
2025-01-19 20:13:45 +00:00
parent 43d97f638b
commit d3620cc9da
15 changed files with 71 additions and 50 deletions

24
core/blueprints/utils.py Normal file
View File

@@ -0,0 +1,24 @@
from flask import redirect, url_for, request, g, session
from functools import wraps
def logged_in_user():
g.user = session.get("username", None)
g.admin = session.get("username", None)
def login_required(view):
"""add at start of routes where users need to be logged in to access"""
@wraps(view)
def wrapped_view(*args, **kwargs):
if g.user is None:
return redirect(url_for("login", next=request.url))
return view(*args, **kwargs)
return wrapped_view
def admin_required(view):
"""add at start of routes where admins need to be logged in to access"""
@wraps(view)
def wrapped_view(*args, **kwargs):
if g.admin != "admin":
return redirect(url_for("login", next=request.url))
return view(*args, **kwargs)
return wrapped_view