My product data

This commit is contained in:
CHIEFSOFT\ameye
2025-06-29 21:13:35 -04:00
parent 56405531d8
commit 7778b3ce20
4 changed files with 117 additions and 2 deletions
+20
View File
@@ -12,6 +12,7 @@ from app.api.services import (
CustomerConsentService, CustomerConsentService,
NotificationCallbackService, NotificationCallbackService,
AuthorizationService, AuthorizationService,
MyProductsService,
) )
from app.utils.logger import logger from app.utils.logger import logger
from app.api.middlewares import enforce_json, require_auth from app.api.middlewares import enforce_json, require_auth
@@ -116,6 +117,25 @@ def merms_products():
return response return response
# Health Check Endpoint
@api.route("/panel/myproduct/dash", methods=["POST"])
def myproduct_dash():
data = request.get_json()
response = MyProductsService.process_request(data)
return response
# Health Check Endpoint
@api.route("/test", methods=["GET"])
def test_check():
data = {"uid": "ok", "token":"jjjfjfjfjfjjf"}
logger.info(f"Member Actions Error: {action_data}")
response = AccountService.process_action_request(data)
#response = ProductsService.process_request(data)
return {"status": "ok"}, 200
# # EligibilityCheck Endpoint # # EligibilityCheck Endpoint
# @api.route("/EligibilityCheck", methods=["POST"]) # @api.route("/EligibilityCheck", methods=["POST"])
# @jwt_required() # @jwt_required()
+1 -1
View File
@@ -4,4 +4,4 @@ class RegisterSchema(Schema):
email = fields.Str(required=True) email = fields.Str(required=True)
firstname = fields.Str(required=True) firstname = fields.Str(required=True)
lastname = fields.Str(required=True) lastname = fields.Str(required=True)
# isChecked = fields.fields.Str(required=True) isChecked = fields.Str(required=False)
+2 -1
View File
@@ -10,4 +10,5 @@ from app.api.services.offer_analysis import OfferAnalysis
from app.api.services.login import LoginService from app.api.services.login import LoginService
from app.api.services.register import RegisterService from app.api.services.register import RegisterService
from app.api.services.products import ProductsService from app.api.services.products import ProductsService
from app.api.services.account import AccountService from app.api.services.account import AccountService
from app.api.services.myproduct import MyProductsService
+94
View File
@@ -0,0 +1,94 @@
from flask import session, jsonify
from app.models.loan import Loan
from app.utils.logger import logger
from app.api.services.base_service import BaseService
# from app.api.schemas.eligibility_check import EligibilityCheckSchema
from marshmallow import ValidationError
from app.api.enums import TransactionType
from app.api.integrations import SimbrellaIntegration
from app.extensions import db
from app.models import MembersProducts, Products, Members
from app.api.services.offer_analysis import OfferAnalysis
from app.api.helpers.response_helper import ResponseHelper
from werkzeug.security import generate_password_hash, check_password_hash
# from app.api.schemas.register import RegisterSchema
from app.api.schemas.products import ProductsSchema
from app.api.schemas.user import UserSchema
import datetime
import jwt
import random
from app.config import Config
class MyProductsService(BaseService):
@staticmethod
def process_request(data):
try:
with db.session.begin():
validated_data = MyProductsService.validate_data(data, UserSchema())
token = validated_data.get('token')
uid = validated_data.get('uid')
# product_id = request.args.get('product_id')
# print(product_id)
# if not product_id:
# return {
# "message": "Please provide product_id",
# "data": None,
# "error": "Bad request"
# }, 400
#
# print(product_id)
# member_id = current_user['user']['member_id']
# myproduct_data = myproduct_detail(member_id, product_id)
member_id = 1 # current_user["user"]["id"]
products = Products.get_user_product_list(member_id)
product_data=[]
logger.info(f"Product Data ****** *****: {products}")
for t in products:
product_data.append({
'id': t.id,
'uid': t.uid,
'product_id': t.product_id,
'description': t.description,
'name': t.name,
'status': t.status,
'added': t.added.isoformat() if t.added else None,
'updated': t.updated.isoformat() if t.updated else None,
'banner': t.banner,
'prov_status': '',
'status_text': 'Activate Now'
})
# Simulate processing
response_data = {
"products_data": product_data,
"member_id": 0,
"uid": 0,
}
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()