From b7128db86733118322c1c96f479202eec482c33a Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Mon, 22 Sep 2025 10:24:58 -0400 Subject: [PATCH] product URL --- SQL/site_data.sql | 16 ++++++++++++++++ app/api/services/myproduct.py | 11 ++++++++++- app/models/products.py | 2 ++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/SQL/site_data.sql b/SQL/site_data.sql index da85439..b9d2403 100644 --- a/SQL/site_data.sql +++ b/SQL/site_data.sql @@ -109,6 +109,22 @@ CREATE TABLE products ( ALTER TABLE products ADD banner VARCHAR(100); UPDATE products set banner = 'p'||id||'.jpg' + ALTER TABLE products ADD start_url VARCHAR(100); + +--- DEVELOPMENT + UPDATE products SET start_url = 'A1.devprov.mermsemr.com' WHERE product_id = 'A000001'; + UPDATE products SET start_url = 'A2.devprov.mermsemr.com' WHERE product_id = 'A000002'; + UPDATE products SET start_url = 'A3.devprov.mermsemr.com' WHERE product_id = 'A000003'; + UPDATE products SET start_url = 'A4.devprov.mermsemr.com' WHERE product_id = 'A000004'; + UPDATE products SET start_url = 'A5.devprov.mermsemr.com' WHERE product_id = 'A000005'; + +--- PRODUCTION + UPDATE products SET start_url = '.pers.mermsemr.com' WHERE product_id = 'A000001'; + UPDATE products SET start_url = '.prov.mermsemr.com' WHERE product_id = 'A000002'; + UPDATE products SET start_url = 'p.forum.mermsemr.com' WHERE product_id = 'A000003'; + UPDATE products SET start_url = 'v.forum.mermsemr.com' WHERE product_id = 'A000004'; + UPDATE products SET start_url = '.ehr.mermsemr.com' WHERE product_id = 'A000005'; + CREATE TABLE products_details ( id SERIAL, diff --git a/app/api/services/myproduct.py b/app/api/services/myproduct.py index 716a5d1..7f410fa 100644 --- a/app/api/services/myproduct.py +++ b/app/api/services/myproduct.py @@ -195,10 +195,17 @@ class MyProductsService(BaseService): member_data = Members.get_member_by_uid(uid) member_id = member_data.id + # getting the url-name part + url_name_part = str(random.randint(100000, 999999)) # Starr with random numbers member_profile_data = MembersProfile.get_member_profile_by_profile_uid(uid) + if member_profile_data and member_profile_data.url_name != None: + url_name_part = member_profile_data.url_name + + product_id = validated_data.get('product_id') product_data = Products.get_product_by_product_id(product_id) + configured_start_url = product_data.start_url if not product_data: if not product_data: @@ -221,8 +228,10 @@ class MyProductsService(BaseService): "uid": uid } return ResponseHelper.success(data=response_data) + if configured_start_url =='': + configured_start_url = MyProductsService.START_URL_PATTERN - internal_url = str(random.randint(100000, 999999)) + MyProductsService.START_URL_PATTERN # ".devprov.mermsemr.com" + internal_url = url_name_part + configured_start_url # ".devprov.mermsemr.com" status = 6 subscription = MembersProducts.create_subscription(member_id, product_id, status, internal_url) diff --git a/app/models/products.py b/app/models/products.py index d1d9528..134bf08 100644 --- a/app/models/products.py +++ b/app/models/products.py @@ -27,6 +27,7 @@ class Products(db.Model): product_id = db.Column(db.String(25), nullable=False) name = db.Column(db.String(100), nullable=False) description = db.Column(db.String(250), nullable=False) + start_url = db.Column(db.String(100), nullable=False) status = db.Column(db.Integer, nullable=True, default=0) added = db.Column(db.DateTime(timezone=True), server_default=func.now()) updated = db.Column(db.DateTime(timezone=True), server_default=func.now(), onupdate=func.now()) @@ -113,6 +114,7 @@ class Products(db.Model): 'product_id': self.product_id, 'name': self.name, 'description' : self.description, + 'start_url': self.start_url, 'status': self.status, 'added': self.added, 'updated': self.updated,