SAE-A2-TruthInquiry/truthinquiry/utils.py
2023-03-27 16:57:41 +02:00

21 lines
634 B
Python

from functools import wraps
import flask
def require_admin(*args, **kwargs):
def decorator(route):
@wraps(route)
def decorated_function(*route_args, **route_kwargs):
if flask.session.get("admin"):
return route(*route_args, **route_kwargs)
elif kwargs.get("api"):
return {"error": 1, "msg": "Invalid authentication"}
elif kwargs.get("ui"):
return flask.redirect("/admin/auth")
else:
raise ValueError("Can't determine request type")
return decorated_function
return decorator