subscription layer

This commit is contained in:
CHIEFSOFT\ameye
2025-08-11 12:12:47 -04:00
parent 4fda3ccfe9
commit 8fd53a7ec6
3 changed files with 52 additions and 1 deletions
+9 -1
View File
@@ -8,7 +8,9 @@ from app.api.services import (
MyProductsService,
ContactService,
OfficeAuthService,
OfficeDashboardService, WebContentsService
OfficeDashboardService,
WebContentsService,
SubscriptionService
)
from app.utils.logger import logger
from app.api.middlewares import enforce_json, require_auth
@@ -183,6 +185,12 @@ def myproduct_settings_values():
response = MyProductsService.process_settings_values(data)
return response
@api.route("/panel/subscription/products", methods=["POST"])
def subscription_products():
data = request.get_json()
logger.info(f"Route Subscription Product Data ==>>>> {data}")
response = SubscriptionService.subscription_available_products(data)
return response
# /panel/myproduct/subscription
+1
View File
@@ -16,4 +16,5 @@ from app.api.services.contacts import ContactService
from app.api.services.office_auth import OfficeAuthService
from app.api.services.office_dashboard import OfficeDashboardService
from app.api.services.web_contents import WebContentsService
from app.api.services.subscription import SubscriptionService
+42
View File
@@ -0,0 +1,42 @@
from flask import jsonify
from app.utils.logger import logger
from app.api.services.base_service import BaseService
from sqlalchemy import func, desc
class SubscriptionService(BaseService):
@staticmethod
def subscription_available_products(data):
try:
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 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