Refresh product from back office

This commit is contained in:
CHIEFSOFT\ameye
2025-10-11 06:17:27 -04:00
parent 08337f1dbd
commit a87f482240
3 changed files with 50 additions and 10 deletions
+8
View File
@@ -536,6 +536,14 @@ def get_product_update_office():
return jsonify(result)
@api.route('/office/rebuild-template', methods=['POST'])
def product_rebuild_office():
# Call the dashboard service
data = request.get_json()
result = OfficeTemplatesService.office_template_rebuild(data)
return jsonify(result)
@api.route('/office/products-templates', methods=['GET'])
def get_product_templates():
# Call the dashboard service
+41 -9
View File
@@ -4,7 +4,7 @@ from app.api.services.base_service import BaseService
from sqlalchemy import func, desc
from datetime import datetime, timedelta, timezone
from app.extensions import db
from app.models import OfficeUsers, CustomTemplates, MembersProducts, ProductsTemplates
from app.models import OfficeUsers, CustomTemplates, MembersProducts, ProductsTemplates, MembersProductsRefresh
class OfficeTemplatesService(BaseService):
@@ -31,7 +31,6 @@ class OfficeTemplatesService(BaseService):
MembersProducts.set_member_product_custom_template(member_id, subscrtiption_uid, custom_id)
office_users_result = {
"set_office_custom_template": [],
}
@@ -44,7 +43,6 @@ class OfficeTemplatesService(BaseService):
}
return office_users_result
@staticmethod
def set_office_user_template(data):
logger.info('set_office_user_template')
@@ -56,7 +54,7 @@ class OfficeTemplatesService(BaseService):
selectProduct = MembersProducts.get_member_product_by_subscription_uid(subscrtiption_uid)
if selectProduct:
selectedTemplate = ProductsTemplates.get_template_by_uid(template_uid)
selectedTemplate = ProductsTemplates.get_template_by_uid(template_uid)
if selectedTemplate is None or selectedTemplate is None:
return jsonify({
@@ -64,7 +62,6 @@ class OfficeTemplatesService(BaseService):
'message': 'Invalid credentials',
}), 400
office_users_result = {
"set_office_user_template": [],
}
@@ -77,8 +74,6 @@ class OfficeTemplatesService(BaseService):
}
return office_users_result
@staticmethod
def create_custom_template(data):
logger.info('create_custom_template')
@@ -87,11 +82,11 @@ class OfficeTemplatesService(BaseService):
provision_name = data.get('provision_name', '')
similarName = CustomTemplates.get_template_by_custom_id(custom_id)
if not similarName and provision_name !='':
if not similarName and provision_name != '':
# with db.session.begin():
custom_data = CustomTemplates.create_template(custom_id, provision_name)
else:
custom_data ={
custom_data = {
"error": "Possible duplicate"
}
@@ -106,3 +101,40 @@ class OfficeTemplatesService(BaseService):
"error": f"An error occurred: {str(e)}",
}
return office_users_result
@staticmethod
def office_template_rebuild(data):
logger.info('office_template_rebuild')
try:
with db.session.begin():
subscription_uid = data.get('subscription_uid', '')
custom_id = data.get('custom_id', '')
membersSubResult = MembersProducts.get_member_product_by_subscription_uid(subscription_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 {subscription_uid} does not exist."
}, 400
member_id = membersSubResult.member_id
product_id = membersSubResult.product_id
logger.info(f'office_template_rebuild {member_id} {subscription_uid} {product_id}')
# with db.session.begin():
plannedRefresh = MembersProductsRefresh.create_subscription_refresh(member_id, product_id,
subscription_uid)
office_rebuild_result = {
"office_template_rebuild": [],
}
return office_rebuild_result
except Exception as e:
logger.error(f"An error occurred: {str(e)}", exc_info=True)
office_rebuild_result = {
"error": f"An error occurred: {str(e)}",
}
return office_rebuild_result
+1 -1
View File
@@ -51,7 +51,7 @@ class MembersProductsRefresh(db.Model):
)
try:
logger.info(f" About to Insert Subscription Data {subscription.member_id} ")
logger.info(f" About to Insert Subscription REfresh Data {subscription.member_id} ")
db.session.add(subscription)
db.session.flush()
except IntegrityError as err: