57 lines
2.4 KiB
Python
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) |