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,
NotificationCallbackService,
AuthorizationService,
MyProductsService,
)
from app.utils.logger import logger
from app.api.middlewares import enforce_json, require_auth
@@ -116,6 +117,25 @@ def merms_products():
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
# @api.route("/EligibilityCheck", methods=["POST"])
# @jwt_required()
+1 -1
View File
@@ -4,4 +4,4 @@ class RegisterSchema(Schema):
email = fields.Str(required=True)
firstname = 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.register import RegisterService
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()