95 lines
3.5 KiB
Python
95 lines
3.5 KiB
Python
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()
|
|
|