31 lines
997 B
Python
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 |