diff --git a/app/app.py b/app/app.py index 59094c2..dd09336 100644 --- a/app/app.py +++ b/app/app.py @@ -991,6 +991,37 @@ def vision(cid): return jsonify({"status": "ok", "description": description}) +@app.route("/api/subscribe", methods=["POST"]) +@login_required +def subscribe(): + data = request.json + plan_id = data["plan_id"] + + db = SessionLocal() + + if app.config["AUTH_MODE"] == "oauth": + email = session["user"]["email"] + else: + email = session["db_user"]["email"] + + sub = Subscription( + id=str(uuid.uuid4()), + user_email=email, + plan_id=plan_id, + status="active", + renew_at=datetime.utcnow() + timedelta(days=30) + ) + + user = db.query(User).filter_by(email=email).first() + user.plan_id = plan_id + + db.add(sub) + db.commit() + db.close() + + return jsonify({"status": "ok"}) + + # =========== # IO