Files
digifi-BankEmulator/app/api/schemas/rac_check.py
T
2025-06-05 12:47:32 +01:00

57 lines
2.4 KiB
Python

from marshmallow import Schema, fields
from marshmallow import Schema, fields
from datetime import date
class RACItemSchema(Schema):
PROCESS_DATE = fields.Date(required=True, default=date.today)
CIF_ID = fields.Str(required=True)
CUSTOMER_id = fields.Str(required=True)
SALACCT_1 = fields.Str(required=True)
ALERT_PHONE = fields.Str(required=True)
AVERAGE_SALARY = fields.Decimal(required=True, as_string=True)
LOAN_OUSTANDING_BAL = fields.Decimal(required=True, as_string=True)
EMI = fields.Decimal(required=True, as_string=True)
ELIG_AMT = fields.Decimal(required=True, as_string=True)
rule1_45day_sal = fields.Bool(required=True)
rule2_2m_sal = fields.Bool(required=True)
rule3_no_bounced_check = fields.Bool(required=True)
rule4_current_loan_payments = fields.Bool(required=True)
rule5_no_past_due_fadv_loan = fields.Bool(required=True)
rule6_no_past_due_other_loan = fields.Bool(required=True)
rule7_consistent_salary_amount = fields.Bool(required=True)
rule8_whitelisted = fields.Bool(required=True)
rule9_regular_account = fields.Bool(required=True)
rule10_bvn_validation = fields.Bool(required=True)
rule11_CRC_no_delinquency = fields.Bool(required=True)
rule12_CRMS_no_delinquency = fields.Bool(required=True)
rule13_BVN_ignore = fields.Bool(required=True)
rule14_no_lien = fields.Bool(required=True)
rule15_null_ignore = fields.Bool(required=True)
OVERALL_ELIG = fields.Bool(required=True)
SALARYPAYMENT_1 = fields.Decimal(required=True, as_string=True)
SALARYPAYMENT_2 = fields.Decimal(required=True, as_string=True)
SALARYPAYMENT_3 = fields.Decimal(required=True, as_string=True)
SALARYPAYMENT_4 = fields.Decimal(required=True, as_string=True)
SALARYPAYMENT_5 = fields.Decimal(required=True, as_string=True)
SALARYPAYMENT_6 = fields.Decimal(required=True, as_string=True)
# RAC Check Schema
class RACCheckSchema(Schema):
transactionId = fields.Str(required=True)
fbnTransactionId = fields.Str(required=True)
customerId = fields.Str(required=True)
accountId = fields.Str(required=True)
channel = fields.Str(required=True)
countryCode = fields.Str(required=True)
class RACCheckResponseSchema(Schema):
transactionId = fields.Str(required=True)
customerId = fields.Str(required=True)
accountId = fields.Str(required=True)
racResponse = fields.Nested(RACItemSchema, required=True)