[update]: Rac response #9

Merged
ameye merged 1 commits from rac_check_update into master 2025-06-05 14:49:17 +00:00
3 changed files with 95 additions and 39 deletions
+38 -9
View File
@@ -1,15 +1,44 @@
from marshmallow import Schema, fields
from marshmallow import Schema, fields
from datetime import date
class RACItemSchema(Schema):
hasSalaryAccount = fields.Bool(required=True)
bvnValidated = fields.Bool(required=True)
creditBureauCheck = fields.Bool(required=True)
crmsCheck = fields.Bool(required=True)
accountStatus = fields.Bool(required=True)
hasLien = fields.Bool(required=True)
noBouncedCheck = fields.Bool(required=True)
isWhitelisted = fields.Bool(required=True)
hasPastDueLoan = fields.Bool(required=True)
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):
+2 -2
View File
@@ -80,8 +80,8 @@ class RACCheckService:
"racResponse": rac_response
}
response_schema = RACCheckResponseSchema()
result = response_schema.dump(full_response)
# response_schema = RACCheckResponseSchema()
result = full_response
return jsonify(result), 200
+55 -28
View File
@@ -16,42 +16,69 @@
"racResponse": {
"type": "object",
"properties": {
"hasSalaryAccount": {
"type": "boolean",
"example": true
"PROCESS_DATE": {
"type": "string",
"format": "date",
"example": "2025-06-05"
},
"bvnValidated": {
"type": "boolean",
"example": true
"CIF_ID": {
"type": "string",
"example": "123456789"
},
"creditBureauCheck": {
"type": "boolean",
"example": true
"CUSTOMER_id": {
"type": "string",
"example": "987654321"
},
"crmsCheck": {
"type": "boolean",
"example": true
"SALACCT_1": {
"type": "string",
"example": "34567831"
},
"accountStatus": {
"type": "boolean",
"example": true
"ALERT_PHONE": {
"type": "string",
"example": "2348031234567"
},
"hasLien": {
"type": "boolean",
"example": true
"AVERAGE_SALARY": {
"type": "number",
"format": "decimal",
"example": 50000
},
"noBouncedCheck": {
"type": "boolean",
"example": true
"LOAN_OUSTANDING_BAL": {
"type": "number",
"format": "decimal",
"example": 0
},
"isWhitelisted": {
"type": "boolean",
"example": true
"EMI": {
"type": "number",
"format": "decimal",
"example": 10000
},
"hasPastDueLoan": {
"type": "boolean",
"example": true
}
"ELIG_AMT": {
"type": "number",
"format": "decimal",
"example": 25000
},
"rule1-45day-sal": { "type": "boolean", "example": true },
"rule2-2m-sal": { "type": "boolean", "example": true },
"rule3-no-bounced-check": { "type": "boolean", "example": true },
"rule4-current-loan-payments": { "type": "boolean", "example": true },
"rule5-no-past-due-fadv-loan": { "type": "boolean", "example": true },
"rule6--no-past-due-other-loan": { "type": "boolean", "example": true },
"rule7-consistent-salary-amount": { "type": "boolean", "example": true },
"rule8-whitelisted": { "type": "boolean", "example": true },
"rule9-regular-account": { "type": "boolean", "example": true },
"rule10-bvn-validation": { "type": "boolean", "example": true },
"rule11-CRC-no-delinquency": { "type": "boolean", "example": true },
"rule12-CRMS-no-delinquency": { "type": "boolean", "example": true },
"rule13-BVN-ignore": { "type": "boolean", "example": true },
"rule14-no-lien": { "type": "boolean", "example": true },
"rule15-null-ignore": { "type": "boolean", "example": true },
"OVERALL_ELIG": { "type": "boolean", "example": true },
"SALARYPAYMENT_1": { "type": "number", "format": "decimal", "example": 50000 },
"SALARYPAYMENT_2": { "type": "number", "format": "decimal", "example": 50000 },
"SALARYPAYMENT_3": { "type": "number", "format": "decimal", "example": 50000 },
"SALARYPAYMENT_4": { "type": "number", "format": "decimal", "example": 50000 },
"SALARYPAYMENT_5": { "type": "number", "format": "decimal", "example": 50000 },
"SALARYPAYMENT_6": { "type": "number", "format": "decimal", "example": 50000 }
}
}
},