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""