Atualizar app/app.py
This commit is contained in:
+23
@@ -55,6 +55,29 @@ def queue_admin_generate():
|
||||
# ================
|
||||
# DECORATORS
|
||||
# ================
|
||||
def enforce_plan_limits(f):
|
||||
@wraps(f)
|
||||
def wrapper(*args, **kwargs):
|
||||
db = SessionLocal()
|
||||
|
||||
if app.config["AUTH_MODE"] == "oauth":
|
||||
email = session["user"]["email"]
|
||||
else:
|
||||
email = session["db_user"]["email"]
|
||||
|
||||
user = db.query(User).filter_by(email=email).first()
|
||||
plan = db.query(Plan).filter_by(id=user.plan_id).first()
|
||||
|
||||
# Limite de conversas
|
||||
conv_count = db.query(Conversation).filter_by(user_email=email).count()
|
||||
if conv_count >= plan.max_conversations:
|
||||
db.close()
|
||||
return jsonify({"erro": "Você atingiu o limite de conversas do seu plano."}), 403
|
||||
|
||||
db.close()
|
||||
return f(*args, **kwargs)
|
||||
return wrapper
|
||||
|
||||
|
||||
def require_subscription(f):
|
||||
@wraps(f)
|
||||
|
||||
Reference in New Issue
Block a user