Files
MermsCoreFlask/app/api/services/subscription.py
T
2025-08-11 16:23:47 -04:00

55 lines
2.3 KiB
Python

from flask import jsonify
from app.utils.logger import logger
from app.api.services.base_service import BaseService
from sqlalchemy import func, desc
from app.api.helpers.response_helper import ResponseHelper
from app.api.schemas.user import UserSchema
from app.models import Members
from app.extensions import db
class SubscriptionService(BaseService):
@staticmethod
def subscription_available_products(data):
try:
with db.session.begin():
validated_data = SubscriptionService.validate_data(data, UserSchema())
token = validated_data.get('token')
uid = validated_data.get('uid')
member_data = Members.get_member_by_uid(uid)
member_id = member_data.id
subscription_products_data = {
"current_product": {
"display_name": "Current Subscriptions",
},
"options": {
"starter":{
"display_name" : "Starter",
"monthly" : 5.99,
"items" : ['Post Jobs','advanced instructors search','invite candidates','post events',
'Cancel anythime']
},
"basic": {
"display_name": "Basic",
"monthly": 12.99,
"items": ['Post Jobs', 'advanced instructors search', 'invite candidates', 'post events',
'Cancel anythime']
},
"premium": {
"display_name": "Premium",
"monthly": 20.99,
"items": ['Post Jobs', 'advanced instructors search', 'invite candidates', 'post events',
'Cancel anythime']
},
}
}
return ResponseHelper.success(data=subscription_products_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