1
0
Files
digifi-BankToProductCore/app/models/eco/loan.py
T
2025-07-30 09:19:43 +01:00

26 lines
1.1 KiB
Python

from app.eco.enums.loan_status import LoanStatus
from sqlalchemy import Column, String, Date, Numeric, Enum
from app.extensions import db
import enum
class Loan(db.Model):
__tablename__ = 'loans'
__bind_key__ = 'eco'
id = Column(Integer, primary_key=True)
request_id = Column(String(50), unique=True, nullable=False)
affiliate_code = Column(String(3), nullable=False)
customer_id = Column(String(9), nullable=False)
account_id = Column(String(10), nullable=False)
product_id = Column(String(4), nullable=False)
debt_id = Column(String(20), unique=True, nullable=False)
initial_credit_amount = Column(Numeric(12, 2), nullable=False)
current_balance = Column(Numeric(12, 2), nullable=False)
interest_rate = Column(Numeric(5, 2), nullable=False)
status = Column(Enum(LoanStatus), default=LoanStatus.PENDING)
disbursement_date = Column(Date, nullable=False)
due_date = Column(Date, nullable=False)
lien_amount = Column(Numeric(12, 2), default=0.00)
def __repr__(self):
return f"<Loan(id={self.id}, debt_id={self.debt_id}, status={self.status})>"