Atualizar app/app.py
This commit is contained in:
+31
@@ -186,6 +186,37 @@ def call_ollama_with_fallback(payload):
|
||||
continue
|
||||
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):
|
||||
@wraps(f)
|
||||
|
||||
Reference in New Issue
Block a user