Files
Azeez Muibi ba4d878daf Major update
2025-03-27 08:21:20 +01:00

32 lines
2.6 KiB
Python

from marshmallow import Schema, fields
# RACResponse Schema
class RACResponseSchema(Schema):
Salary_account = fields.Str(data_key="Salary account", required=True, description="Has Salary account or Not (1 = Yes, 0 = No)")
BVN = fields.Str(required=False, description="BVN Ok (1 = Yes, 0 = No)")
BVNAttachedToAccount = fields.Str(required=True, description="BVN attached to account (1 = Yes, 0 = No)")
CRMS = fields.Str(required=True, description="No Delinquent loan in CRMS (1 = Yes, 0 = No)")
CRC = fields.Str(required=True, description="No Delinquent loan in CRC (1 = Yes, 0 = No)")
AccountStatus = fields.Str(required=True, description="Has 'Regular' account status (1 = Yes, 0 = No)")
Lien = fields.Str(required=True, description="No Lien on account (1 = Yes, 0 = No)")
NoBouncedCheck = fields.Str(required=True, description="No Bounced Check (1 = Yes, 0 = No)")
Whitelist = fields.Str(required=True, description="Not blacklisted (1 = Yes, 0 = No)")
NoPastDueSalaryLoan = fields.Str(required=True, description="No Past Due Salary Loan (1 = Yes, 0 = No)")
NoPastDueOtherLoan = fields.Str(required=True, description="No Past Due Other Loans (1 = Yes, 0 = No)")
# RACCheck Request Schema
class RACCheckSchema(Schema):
transactionId = fields.Str(required=True, description="Unique identifier of transaction. This transaction Id must be consistent across all platforms")
fbnTransactionId = fields.Str(required=True, description="Unique id of the transaction received from FBN in Eligibility or Provision requests")
customerId = fields.Str(required=True, description="Unique identifier of a user")
accountId = fields.Str(required=True, description="Specific identifier of a user's account")
RAC_Array = fields.List(fields.Str(), required=True, description="Array of RAC items to check (BVN, CRC, CRMS, Salary account, lien, whitelist, lien, account status, no bounced check and existing loan)")
# RACCheck Response Schema
class RACCheckResponseSchema(Schema):
transactionId = fields.Str(required=True, description="Unique identifier of transaction in Simbrella system")
customerId = fields.Str(required=True, description="Unique identifier of a user")
accountId = fields.Str(required=True, description="Specific identifier of a user's account")
RACResponse = fields.Nested(RACResponseSchema, required=True, description="Object containing binary responses for each RAC check")
resultCode = fields.Str(required=False, description="Result code of executed transaction")
resultDescription = fields.Str(required=True, description="Description of provided result code")