Atualizar app/app.py
This commit is contained in:
+23
@@ -55,6 +55,29 @@ def queue_admin_generate():
|
|||||||
# ================
|
# ================
|
||||||
# DECORATORS
|
# 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):
|
def require_subscription(f):
|
||||||
@wraps(f)
|
@wraps(f)
|
||||||
|
|||||||
Reference in New Issue
Block a user