Atualizar app/app.py
This commit is contained in:
+31
@@ -186,6 +186,37 @@ def call_ollama_with_fallback(payload):
|
|||||||
continue
|
continue
|
||||||
raise Exception("All models failed")
|
raise Exception("All models failed")
|
||||||
|
|
||||||
|
def corp_admin_required(f):
|
||||||
|
@wraps(f)
|
||||||
|
def wrapper(*args, **kwargs):
|
||||||
|
db = SessionLocal()
|
||||||
|
|
||||||
|
email = session["user"]["email"] if app.config["AUTH_MODE"] == "oauth" else session["db_user"]["email"]
|
||||||
|
u = db.query(User).filter_by(email=email).first()
|
||||||
|
db.close()
|
||||||
|
|
||||||
|
if not u or u.priority not in ["system_admin", "corp_admin"]:
|
||||||
|
return jsonify({"erro": "Acesso restrito ao administrador corporativo."}), 403
|
||||||
|
|
||||||
|
return f(*args, **kwargs)
|
||||||
|
return wrapper
|
||||||
|
|
||||||
|
|
||||||
|
def system_admin_required(f):
|
||||||
|
@wraps(f)
|
||||||
|
def wrapper(*args, **kwargs):
|
||||||
|
db = SessionLocal()
|
||||||
|
|
||||||
|
email = session["user"]["email"] if app.config["AUTH_MODE"] == "oauth" else session["db_user"]["email"]
|
||||||
|
u = db.query(User).filter_by(email=email).first()
|
||||||
|
db.close()
|
||||||
|
|
||||||
|
if not u or u.priority != "system_admin":
|
||||||
|
return jsonify({"erro": "Acesso restrito ao administrador do sistema."}), 403
|
||||||
|
|
||||||
|
return f(*args, **kwargs)
|
||||||
|
return wrapper
|
||||||
|
|
||||||
|
|
||||||
def admin_required(f):
|
def admin_required(f):
|
||||||
@wraps(f)
|
@wraps(f)
|
||||||
|
|||||||
Reference in New Issue
Block a user