sub scription prooductds

This commit is contained in:
CHIEFSOFT\ameye
2025-08-23 13:39:38 -04:00
parent e53abb288a
commit da1724c671
6 changed files with 86 additions and 11 deletions
+4
View File
@@ -1,4 +1,6 @@
from flask import session, jsonify
from app.api.integrations import StripeIntegration
from app.utils.logger import logger
from app.api.services.base_service import BaseService
from marshmallow import ValidationError
@@ -235,6 +237,8 @@ class LoginService(BaseService):
Config.JWT_SECRET_KEY,
algorithm="HS256"
)
# price_create_result = StripeIntegration.create_product('AmeyeTEST', 9999)
# logger.info(f"Inside Stripe_Product ===== : {price_create_result}")
# Simulate processing
response_data = {
+20 -5
View File
@@ -6,7 +6,7 @@ from app.api.helpers.response_helper import ResponseHelper
from app.api.schemas.user import UserSchema
from app.models import Members, MembersProducts, SubscriptionOptions, SubscriptionOptionsItems
from app.extensions import db
from app.api.integrations import StripeIntegration
class SubscriptionService(BaseService):
# def get_all_subscriptions(cls, product_id=None, member_id=None, page=1, limit=20):
@@ -64,8 +64,6 @@ class SubscriptionService(BaseService):
return response_data
except Exception as e:
logger.error(f"An error occurred while getting dashboard data: {str(e)}", exc_info=True)
return jsonify({"message": "Internal Server Error"}), 500
@@ -78,10 +76,28 @@ class SubscriptionService(BaseService):
token = validated_data.get('token')
uid = validated_data.get('uid')
member_data = Members.get_member_by_uid(uid)
if not member_data:
invalid_data = {
"error_message": "Member Data",
"message_key": "invalid_member",
}
return ResponseHelper.success(data=invalid_data)
# option_name
member_id = member_data.id
option_name = member_data.option_name
trial_name = "TRIAL-90"
res_options = []
sub_options = SubscriptionOptions.get_subscription_options(1)
for t in sub_options:
if t.stripe_product_id is None or t.stripe_product_id.strip() == "" or t.stripe_price_id is None or t.stripe_price_id.strip() == "":
price_create_result = StripeIntegration.create_product(t.display_name, t.monthly)
logger.info(f"Inside Stripe_Product ===== : {price_create_result}")
if price_create_result:
SubscriptionOptions.set_stripe_product_id(t.uid,price_create_result['product_id'])
SubscriptionOptions.set_stripe_price_id(t.uid,price_create_result['price_id'])
res_options.append({
'option_id': t.id,
'package_uid': t.uid,
@@ -95,7 +111,7 @@ class SubscriptionService(BaseService):
subscription_products_data = {
"current_product": {
"display_name": "TRIAL-90",
"display_name": trial_name if option_name is None else option_name,
"subs": [
'Post Jobs',
'advanced instructors search',
@@ -126,4 +142,3 @@ class SubscriptionService(BaseService):
# return ['Post Jobs 222', 'advanced instructors search', 'invite candidates', 'post events',
# 'Cancel anytime']
return res_options_items