diff --git a/app/api/schemas/provide_loan.py b/app/api/schemas/provide_loan.py index 43c1044..5959e29 100644 --- a/app/api/schemas/provide_loan.py +++ b/app/api/schemas/provide_loan.py @@ -8,8 +8,8 @@ class ProvideLoanSchema(Schema): customerId = fields.Str(required=True) accountId = fields.Str(required=True) msisdn = fields.Str(required=False) - productId = fields.Str(required=True) - lienAmount = fields.Float(required=True) + # productId = fields.Str(required=True) + # lienAmount = fields.Float(required=True) requestedAmount = fields.Float(required=True) collectionType = fields.Int(required=True) offerId = fields.Int(required=True) diff --git a/app/api/services/provide_loan.py b/app/api/services/provide_loan.py index 58c02cf..ab48cca 100644 --- a/app/api/services/provide_loan.py +++ b/app/api/services/provide_loan.py @@ -42,14 +42,14 @@ class ProvideLoanService(BaseService): "message": "Failed to log transaction." }), 400 - # Save the loan details here + # Save the loan details loan_id = f"loan_{transaction.id}" loan = Loan.create_loan( id=loan_id, customer_id=customer_id, account_id=account_id, - product_id=validated_data.get('productId'), + offer_id=validated_data.get('offerId'), principal_amount=validated_data.get('requestedAmount'), status="active" ) diff --git a/app/models/loan.py b/app/models/loan.py index edec13f..0721bd2 100644 --- a/app/models/loan.py +++ b/app/models/loan.py @@ -10,7 +10,7 @@ class Loan(db.Model): id = db.Column(db.String(50), primary_key=True) customer_id = db.Column(db.String(50), nullable=False) account_id = db.Column(db.String(50), nullable=False) - product_id = db.Column(db.String(20), nullable=False) + offer_id = db.Column(db.String(20), nullable=False) principal_amount = db.Column(db.Float, nullable=False) status = db.Column(db.String(20), default='pending') created_at = db.Column(db.DateTime, default=datetime.now(timezone.utc)) @@ -18,7 +18,7 @@ class Loan(db.Model): @classmethod - def create_loan(cls, id, customer_id, account_id, product_id, principal_amount, status='pending'): + def create_loan(cls, id, customer_id, account_id, offer_id, principal_amount, status='pending'): # Check if customer exists is_valid = Customer.is_valid_customer(customer_id) @@ -30,12 +30,13 @@ class Loan(db.Model): # if has_active_loans: # raise ValueError("Customer has active loans") + # Create and save the loan loan = cls( id=id, customer_id=customer_id, account_id=account_id, - product_id=product_id, + offer_id=offer_id, principal_amount=principal_amount, status=status ) diff --git a/app/swagger/schemas/ProvideLoanRequest.json b/app/swagger/schemas/ProvideLoanRequest.json index c390945..721d8b9 100644 --- a/app/swagger/schemas/ProvideLoanRequest.json +++ b/app/swagger/schemas/ProvideLoanRequest.json @@ -21,15 +21,6 @@ "type": "string", "example": "3451342" }, - "productId": { - "type": "string", - "example": "101" - }, - "lienAmount": { - "type": "number", - "format": "decimal", - "example": 400 - }, "requestedAmount": { "type": "number", "format": "decimal",