diff --git a/app/api/enums/generatives_list.py b/app/api/enums/generatives_list.py index c876983..8f3b37e 100644 --- a/app/api/enums/generatives_list.py +++ b/app/api/enums/generatives_list.py @@ -5,10 +5,10 @@ class GenerativesList: def get_generative_list(product_id: str): logger.info(f"get_generative_list ****** *****: {product_id}") data = [ - {"name": 'site_title', + {"name": 'banner_text', "prompt": 'Write about a 30-character title text for a REPLACE_THIS with specialization in REPLACE_ANOTHER website.', "active": True}, - {"name": 'site_description', + {"name": 'banner_description', "prompt": 'Write a short introduction text about 100 characters for a REPLACE_THIS with specialization in REPLACE_ANOTHER website.', "active": True}, {"name": 'about_title', diff --git a/app/api/services/genaratives.py b/app/api/services/genaratives.py index bce9fc1..31fcf90 100644 --- a/app/api/services/genaratives.py +++ b/app/api/services/genaratives.py @@ -45,21 +45,21 @@ class GenerativesService(BaseService): text_result = sub.text_result if var_name == 'about_description': paragraphs = text_result.split("\n\n") - MembersProductsSettings.save_update_product_settings(member_id, subscription_uid, + MembersProductsSettings.save_generative_product_settings(member_id, subscription_uid, product_id, - "about_details", + "about_description", 'TXT', str(paragraphs[0])) - MembersProductsSettings.save_update_product_settings(member_id, subscription_uid, + MembersProductsSettings.save_generative_product_settings(member_id, subscription_uid, product_id, - "extra_about_us", + "about_extra_1", 'TXT', str(paragraphs[1])) - MembersProductsSettings.save_update_product_settings(member_id, subscription_uid, + MembersProductsSettings.save_generative_product_settings(member_id, subscription_uid, product_id, - "more_about_us", + "about_extra_2", 'TXT', str(paragraphs[2])) else: - MembersProductsSettings.save_update_product_settings(member_id, subscription_uid, + MembersProductsSettings.save_generative_product_settings(member_id, subscription_uid, product_id, var_name, 'TXT', text_result) diff --git a/app/api/services/web_contents.py b/app/api/services/web_contents.py index 9949f92..3e53a9b 100644 --- a/app/api/services/web_contents.py +++ b/app/api/services/web_contents.py @@ -27,7 +27,6 @@ class WebContentsService(BaseService): "facebook": "myface.facebook.com", "twitter": "mytwit.twitter.com", "youtube": "myyou.youtube.com", - "banner_text": "Welcome to my online front desk", "banner_description": "We focus on your better health outcomes ", "footer_description": "Any text under the logo on the footer", "about_description": "Naira", diff --git a/app/models/members_products_settings.py b/app/models/members_products_settings.py index b8f13c5..57ec134 100644 --- a/app/models/members_products_settings.py +++ b/app/models/members_products_settings.py @@ -87,6 +87,30 @@ class MembersProductsSettings(db.Model): raise ValueError(f"Database integrity error: {err}") return product_settings + @classmethod + def create_generative_entry(cls, member_id,subscription_uid,product_id,settings_key,setting_type,setting_value): + logger.info(f" Data for Subscription Data {member_id} ,{product_id} {setting_type}") + product_settings = cls( + uid=str(uuid.uuid4()), + member_id=member_id, + product_id=product_id, + subscription_uid=subscription_uid, + settings_key=settings_key, + setting_type =setting_type, + setting_value=setting_value, + added=datetime.now(timezone.utc), + updated=datetime.now(timezone.utc) + ) + + try: + logger.info(f" About to Insert Subscription Settngs {settings_key} {member_id} ") + db.session.add(product_settings) + db.session.commit() + except IntegrityError as err: + logger.error(f" Error inserting subscription settings data {err} -- ") + raise ValueError(f"Database integrity error: {err}") + return product_settings + @classmethod def update_settings_entry(cls, members_products_settings_id, setting_value): # Retrieve Reset @@ -96,7 +120,7 @@ class MembersProductsSettings(db.Model): raise ValueError(f"Reset with ID {members_products_settings_id} does not exist.") update_p.setting_value = setting_value - db.session.commit() + # db.session.commit() return @classmethod @@ -127,6 +151,23 @@ class MembersProductsSettings(db.Model): cls.create_settings_entry(member_id,subscription_uid,product_id,settings_key,setting_type,setting_value) return 0 + @classmethod + def save_generative_product_settings(cls, member_id,subscription_uid,product_id,settings_key,setting_type,setting_value ): + logger.info(f"settings_key : {settings_key}") + logger.info(f"setting_type : {setting_type}") + logger.info(f"settings_value : {setting_value}") + logger.info(f"subscription_uid: {subscription_uid}") + logger.info(f"product_id : {product_id}") + logger.info(f"member_id : {member_id}") + + current_settings = cls.get_product_settings_by_settings_key_and_subscription_uid(settings_key,subscription_uid) + + if current_settings: + logger.info(f"*Block Refresh If key is already there ******* ") + else: + cls.create_generative_entry(member_id,subscription_uid,product_id,settings_key,setting_type,setting_value) + return 0 + def to_dict(self): """ Convert the Loan object to a dictionary format for JSON serialization.