New end pint
This commit is contained in:
@@ -413,6 +413,13 @@ def myproduct_template_config():
|
|||||||
response = MyProductsService.template_configuration(data)
|
response = MyProductsService.template_configuration(data)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
@api.route("/panel/myproduct/template-media-set", methods=["POST"])
|
||||||
|
def myproduct_template_set_media():
|
||||||
|
data = request.get_json()
|
||||||
|
logger.info(f"Route Save MyProduct_Template_Config ==>>>> {data}")
|
||||||
|
response = MyProductsService.template_set_media(data)
|
||||||
|
return response
|
||||||
|
|
||||||
@api.route("/panel/myproduct/settings/values", methods=["POST"])
|
@api.route("/panel/myproduct/settings/values", methods=["POST"])
|
||||||
def myproduct_settings_values():
|
def myproduct_settings_values():
|
||||||
data = request.get_json()
|
data = request.get_json()
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
from marshmallow import Schema, fields
|
||||||
|
|
||||||
|
class MyProductTemplateImageSchema(Schema):
|
||||||
|
token = fields.Str(required=True)
|
||||||
|
uid = fields.Str(required=True)
|
||||||
|
product_id = fields.Str(required=True)
|
||||||
|
file_uid = fields.Str(required=True)
|
||||||
|
image_id = fields.Str(required=True)
|
||||||
@@ -6,6 +6,7 @@ from app.api.enums import SettingsItemsData, KafkaMessage
|
|||||||
from app.api.schemas.myproduct_external_url import MyProductExternalUrlSchema
|
from app.api.schemas.myproduct_external_url import MyProductExternalUrlSchema
|
||||||
from app.api.schemas.myproduct_set_colorstyle import MyProductSetColorStyleSchema
|
from app.api.schemas.myproduct_set_colorstyle import MyProductSetColorStyleSchema
|
||||||
from app.api.schemas.myproduct_set_template import MyProductSetTemplateSchema
|
from app.api.schemas.myproduct_set_template import MyProductSetTemplateSchema
|
||||||
|
from app.api.schemas.myproduct_template_image import MyProductTemplateImageSchema
|
||||||
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 marshmallow import ValidationError
|
from marshmallow import ValidationError
|
||||||
@@ -902,3 +903,103 @@ class MyProductsService(BaseService):
|
|||||||
logger.error(f"An error occurred: {str(e)}", exc_info=True)
|
logger.error(f"An error occurred: {str(e)}", exc_info=True)
|
||||||
db.session.rollback()
|
db.session.rollback()
|
||||||
return ResponseHelper.internal_server_error()
|
return ResponseHelper.internal_server_error()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def template_set_media(data):
|
||||||
|
try:
|
||||||
|
with db.session.begin():
|
||||||
|
validated_data = MyProductsService.validate_data(data, MyProductTemplateImageSchema())
|
||||||
|
token = validated_data.get('token')
|
||||||
|
uid = validated_data.get('uid')
|
||||||
|
file_uid = validated_data.get('file_uid')
|
||||||
|
image_id = validated_data.get('image_id')
|
||||||
|
|
||||||
|
member_data = Members.get_member_by_uid(uid)
|
||||||
|
member_id = member_data.id
|
||||||
|
product_id = validated_data.get('product_id')
|
||||||
|
|
||||||
|
product_subscription_uid = ''
|
||||||
|
product_data = Products.get_product_by_product_id(product_id)
|
||||||
|
if not product_data:
|
||||||
|
return {
|
||||||
|
"message": "Please provide valid product_id",
|
||||||
|
"error_message": "Error - Please select a valid product to view",
|
||||||
|
"data": None,
|
||||||
|
"error": f"Product with ID {product_id} does not exist."
|
||||||
|
}, 400
|
||||||
|
|
||||||
|
product_description = ProductsDetails.get_product_details_with_product_id(product_id)
|
||||||
|
productDataStatus = product_data.status
|
||||||
|
|
||||||
|
memberSubscription = MembersProducts.get_member_product_by_product_member_id(member_id, product_id)
|
||||||
|
template_images = []
|
||||||
|
template_name = ''
|
||||||
|
|
||||||
|
if memberSubscription is not None:
|
||||||
|
custom_template = "" if (
|
||||||
|
memberSubscription.custom_template is None or len(memberSubscription.custom_template)
|
||||||
|
== 0) else memberSubscription.custom_template
|
||||||
|
|
||||||
|
# logger.info(f"Incoming MyProduct data ==>>>> {memberSubscription}")
|
||||||
|
product_subscription_uid = memberSubscription.uid
|
||||||
|
subscription_template = "" if len(custom_template) > 0 else memberSubscription.product_template
|
||||||
|
settingsFields = SettingsItemsData.get_site_settings_data()
|
||||||
|
templateData = []
|
||||||
|
# homeFields = SettingsItemsData.get_site_home_settings()
|
||||||
|
# footerFields = SettingsItemsData.get_site_footer_settings()
|
||||||
|
# contactFields = SettingsItemsData.get_site_contact_items()
|
||||||
|
# socialFields = SettingsItemsData.get_site_social_settings_data()
|
||||||
|
# aboutFields = SettingsItemsData.get_site_about_items()
|
||||||
|
# testimonialFields = SettingsItemsData.get_site_testimonial_settings()
|
||||||
|
# blogConnectFields = SettingsItemsData.get_site_blog_connect_settings()
|
||||||
|
|
||||||
|
blogConnect = False
|
||||||
|
if product_data.blog_product_id != None and product_data.blog_product_id != '':
|
||||||
|
blogConnect = True
|
||||||
|
blog_product_data = Products.get_product_by_product_id(product_data.blog_product_id)
|
||||||
|
|
||||||
|
settings_items = {}
|
||||||
|
selected_flavor = ''
|
||||||
|
if product_id == "A000001" or product_id == "A000002": ## should be config or data driven not hard coded
|
||||||
|
settings_items = {}
|
||||||
|
|
||||||
|
if memberSubscription.product_template:
|
||||||
|
selectedTemplate = ProductsTemplates.get_template_by_uid(
|
||||||
|
str(memberSubscription.product_template))
|
||||||
|
if selectedTemplate:
|
||||||
|
selected_flavor = selectedTemplate.flavor
|
||||||
|
template_name = selectedTemplate.name
|
||||||
|
|
||||||
|
template_images = BaseService.get_site_imges_data(memberSubscription.uid,
|
||||||
|
memberSubscription.primary_server,
|
||||||
|
memberSubscription.provision_port,
|
||||||
|
selected_flavor)
|
||||||
|
|
||||||
|
# Simulate processing
|
||||||
|
response_data = {
|
||||||
|
"settings_items": settings_items,
|
||||||
|
"member_id": member_id,
|
||||||
|
"subscription_template": str(subscription_template),
|
||||||
|
"template_name": str(template_name),
|
||||||
|
"product_subscription_uid": str(product_subscription_uid),
|
||||||
|
"blog_connect": str(blogConnect),
|
||||||
|
"template_images": template_images
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResponseHelper.success(data=response_data)
|
||||||
|
|
||||||
|
except ValidationError as err:
|
||||||
|
|
||||||
|
logger.error(f"Validation Error: {getattr(err, 'messages', str(err))}")
|
||||||
|
db.session.rollback()
|
||||||
|
return ResponseHelper.unprocessable_entity(result_description="Validation exception")
|
||||||
|
|
||||||
|
except ValueError as err:
|
||||||
|
logger.error(f"{getattr(err, 'messages', str(err))}")
|
||||||
|
db.session.rollback()
|
||||||
|
return ResponseHelper.error(result_description=str(err))
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"An error occurred: {str(e)}", exc_info=True)
|
||||||
|
db.session.rollback()
|
||||||
|
return ResponseHelper.internal_server_error()
|
||||||
|
|||||||
Reference in New Issue
Block a user