seb contents
This commit is contained in:
@@ -3,3 +3,4 @@ from enum import Enum
|
|||||||
class KafkaMessage(str, Enum):
|
class KafkaMessage(str, Enum):
|
||||||
REFRESH_PRODUCT_SETTINGS = "REFRESH_PRODUCT_SETTINGS"
|
REFRESH_PRODUCT_SETTINGS = "REFRESH_PRODUCT_SETTINGS"
|
||||||
FLUTTER_PAYMENT_RECEIVED = "FLUTTER_PAYMENT_RECEIVED"
|
FLUTTER_PAYMENT_RECEIVED = "FLUTTER_PAYMENT_RECEIVED"
|
||||||
|
SITE_TRAFFIC_DATA = "SITE_TRAFFIC_DATA"
|
||||||
|
|||||||
@@ -74,3 +74,11 @@ class SettingsItemsData:
|
|||||||
"list_order": 1},
|
"list_order": 1},
|
||||||
}
|
}
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_site_blog_connect_settings():
|
||||||
|
data = {
|
||||||
|
"boolean_blog_connect_show": {"name": 'Show Blog Section', "controls": 'SELECT_NO_YES',
|
||||||
|
"active": True, "list_order": 0},
|
||||||
|
}
|
||||||
|
return data
|
||||||
@@ -608,6 +608,15 @@ def get_refresh_generatives():
|
|||||||
result = GenerativesService.process_generatives_list(data)
|
result = GenerativesService.process_generatives_list(data)
|
||||||
return jsonify(result)
|
return jsonify(result)
|
||||||
|
|
||||||
|
# =====================================================
|
||||||
|
@api.route('/web/traffic', methods=['POST'])
|
||||||
|
# @token_required
|
||||||
|
def get_web_traffic():
|
||||||
|
# Call the dashboard service
|
||||||
|
data = request.get_json()
|
||||||
|
result = WebContentsService.get_web_trafic_data(data)
|
||||||
|
return jsonify(data)
|
||||||
|
|
||||||
|
|
||||||
# ===================================================
|
# ===================================================
|
||||||
# Common Data
|
# Common Data
|
||||||
|
|||||||
@@ -529,6 +529,7 @@ class MyProductsService(BaseService):
|
|||||||
socialFields = SettingsItemsData.get_site_social_settings_data()
|
socialFields = SettingsItemsData.get_site_social_settings_data()
|
||||||
aboutFields = SettingsItemsData.get_site_about_items()
|
aboutFields = SettingsItemsData.get_site_about_items()
|
||||||
testimonialFields = SettingsItemsData.get_site_testimonial_settings()
|
testimonialFields = SettingsItemsData.get_site_testimonial_settings()
|
||||||
|
blogConnectFields = SettingsItemsData.get_site_blog_connect_settings()
|
||||||
|
|
||||||
blogConnect = False
|
blogConnect = False
|
||||||
if product_data.blog_product_id != None and product_data.blog_product_id != '':
|
if product_data.blog_product_id != None and product_data.blog_product_id != '':
|
||||||
@@ -596,7 +597,7 @@ class MyProductsService(BaseService):
|
|||||||
if blogConnect:
|
if blogConnect:
|
||||||
settings_items["blog_connect_tab"] = {"title": 'Blog Connect', "controls": 'blog-connect-scheme',
|
settings_items["blog_connect_tab"] = {"title": 'Blog Connect', "controls": 'blog-connect-scheme',
|
||||||
"active": '',
|
"active": '',
|
||||||
"custom": True, "data": {}, "list_order": 9}
|
"custom": False, "data": blogConnectFields, "list_order": 9}
|
||||||
|
|
||||||
# Simulate processing
|
# Simulate processing
|
||||||
response_data = {
|
response_data = {
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
from flask import jsonify
|
from flask import jsonify
|
||||||
|
|
||||||
|
from app.api.enums import KafkaMessage
|
||||||
from app.api.services import MyProductsService
|
from app.api.services import MyProductsService
|
||||||
from app.utils.logger import logger
|
from app.utils.logger import logger
|
||||||
from app.api.services.base_service import BaseService
|
from app.api.services.base_service import BaseService
|
||||||
from sqlalchemy import func, desc
|
from sqlalchemy import func, desc
|
||||||
from app.extensions import db
|
from app.extensions import db
|
||||||
from app.models import MembersProductsSettings
|
from app.models import MembersProductsSettings, MembersProducts
|
||||||
|
from threading import Thread
|
||||||
|
|
||||||
class WebContentsService(BaseService):
|
class WebContentsService(BaseService):
|
||||||
|
|
||||||
@@ -52,3 +53,42 @@ class WebContentsService(BaseService):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"An error occurred while getting dashboard data: {str(e)}", exc_info=True)
|
logger.error(f"An error occurred while getting dashboard data: {str(e)}", exc_info=True)
|
||||||
return jsonify({"message": "Internal Server Error"}), 500
|
return jsonify({"message": "Internal Server Error"}), 500
|
||||||
|
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_web_trafic_data(data):
|
||||||
|
provision_uid = data.get('provision_uid', '')
|
||||||
|
|
||||||
|
membersSubResult = MembersProducts.get_member_product_by_subscription_uid(provision_uid)
|
||||||
|
if not membersSubResult:
|
||||||
|
return {
|
||||||
|
"message": "Invalid Subscription",
|
||||||
|
"error_message": "Error - Please select a valid product to view",
|
||||||
|
"data": None,
|
||||||
|
"error": f"Subscription with UID {provision_uid} does not exist."
|
||||||
|
}, 400
|
||||||
|
|
||||||
|
member_id = membersSubResult.member_id
|
||||||
|
product_id = membersSubResult.product_id
|
||||||
|
|
||||||
|
try:
|
||||||
|
response_data = {
|
||||||
|
"provision_uid": provision_uid,
|
||||||
|
"member_id": member_id,
|
||||||
|
"product_id": product_id,
|
||||||
|
"site_logo_text": "MY-GOOD-LOGO",
|
||||||
|
"site_contact_email": "email@specialemail.com",
|
||||||
|
"site_contact_phone": "911 111 1111",
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.error(f"Going for Thread ******************** ")
|
||||||
|
thread = Thread(target=MyProductsService.async_send_settings_refresh_to_kafka,
|
||||||
|
args=(response_data, provision_uid, KafkaMessage.SITE_TRAFFIC_DATA))
|
||||||
|
thread.start()
|
||||||
|
logger.error(f"After the Thread ******************** ")
|
||||||
|
|
||||||
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user