diff --git a/app/api/services/rac_check.py b/app/api/services/rac_check.py index df4c7eb..c8500e2 100644 --- a/app/api/services/rac_check.py +++ b/app/api/services/rac_check.py @@ -3,6 +3,8 @@ from marshmallow import ValidationError from app.utils.logger import logger from app.api.helpers.response_helper import ResponseHelper from app.api.schemas.rac_check import RACCheckSchema, RACCheckResponseSchema +from datetime import datetime +from decimal import Decimal class RACCheckService: @staticmethod @@ -24,18 +26,53 @@ class RACCheckService: validated_data = schema.load(data) # Simulated RAC check logic — create racResponse manually or via logic + # rac_response = { + # "hasSalaryAccount": True, + # "bvnValidated": True, + # "creditBureauCheck": False, + # "crmsCheck": True, + # "accountStatus": True, + # "hasLien": False, + # "noBouncedCheck": True, + # "isWhitelisted": True, + # "hasPastDueLoan": False + # } + rac_response = { - "hasSalaryAccount": True, - "bvnValidated": True, - "creditBureauCheck": False, - "crmsCheck": True, - "accountStatus": True, - "hasLien": False, - "noBouncedCheck": True, - "isWhitelisted": True, - "hasPastDueLoan": False + "PROCESS_DATE": datetime.strptime("2025-06-05", "%Y-%m-%d").date(), + "CIF_ID": "123456789", + "CUSTOMER_id": "987654321", + "SALACCT_1": "34567831", + "ALERT_PHONE": "2348031234567", + "AVERAGE_SALARY": Decimal("50000"), + "LOAN_OUSTANDING_BAL": Decimal("0"), + "EMI": Decimal("10000"), + "ELIG_AMT": Decimal("25000"), + "rule1-45day-sal": True, + "rule2-2m-sal": True, + "rule3-no-bounced-check": True, + "rule4-current-loan-payments": True, + "rule5-no-past-due-fadv-loan": True, + "rule6--no-past-due-other-loan": True, + "rule7-consistent-salary-amount": True, + "rule8-whitelisted": True, + "rule9-regular-account": True, + "rule10-bvn-validation": True, + "rule11-CRC-no-delinquency": True, + "rule12-CRMS-no-delinquency": True, + "rule13-BVN-ignore": True, + "rule14-no-lien": True, + "rule15-null-ignore": True, + "OVERALL_ELIG": True, + "SALARYPAYMENT_1": Decimal("50000"), + "SALARYPAYMENT_2": Decimal("50000"), + "SALARYPAYMENT_3": Decimal("50000"), + "SALARYPAYMENT_4": Decimal("50000"), + "SALARYPAYMENT_5": Decimal("50000"), + "SALARYPAYMENT_6": Decimal("50000") } + full_response = { "transactionId": validated_data["transactionId"], "customerId": validated_data["customerId"],