From 8fd53a7ec6bd45b6a8f190049b5765a950349d64 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Mon, 11 Aug 2025 12:12:47 -0400 Subject: [PATCH] subscription layer --- app/api/routes/routes.py | 10 +++++++- app/api/services/__init__.py | 1 + app/api/services/subscription.py | 42 ++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 app/api/services/subscription.py diff --git a/app/api/routes/routes.py b/app/api/routes/routes.py index f6ff972..a5bbe35 100644 --- a/app/api/routes/routes.py +++ b/app/api/routes/routes.py @@ -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 diff --git a/app/api/services/__init__.py b/app/api/services/__init__.py index 92856b3..f96bd09 100644 --- a/app/api/services/__init__.py +++ b/app/api/services/__init__.py @@ -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 diff --git a/app/api/services/subscription.py b/app/api/services/subscription.py new file mode 100644 index 0000000..9b8ed76 --- /dev/null +++ b/app/api/services/subscription.py @@ -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