31 lines
997 B
Python

#
# @auth_required decorator
# @admin_required decorator
#
from flask import session, redirect
from app._tools.database import SessionManager
from app._tools.database import DataManager
def auth_required(func):
def auth_check(*args, **kwargs):
if ("token" not in session):
return redirect("/auth")
token_i = SessionManager.get_session(session["token"])
if (token_i == None):
return redirect("/auth")
return func(*args, **kwargs)
auth_check.__name__ = func.__name__
return auth_check
def admin_required(func):
def admin_check(*args, **kwargs):
token_i = SessionManager.get_session(session["token"])
user = DataManager.get_user(token_i.user_id)
if (user == None):
return redirect("/")
if (user.team != "$root$"):
return redirect("/")
return func(*args, **kwargs)
admin_check.__name__ = func.__name__
return admin_check