import uuid
from sqlalchemy import Column, String, Numeric, Integer, DateTime
from sqlalchemy.orm import relationship
from utils.utils import Base, utc_now


class Calculatordefaults(Base):
    __tablename__ = "calculator_defaults"

    id = Column(String(36), primary_key=True, default=lambda: str(uuid.uuid4()))
    default_principal = Column(Numeric(15, 2), nullable=False)
    default_interest_rate = Column(Numeric(5, 2), nullable=False)
    default_term_months = Column(Integer, nullable=False)
    min_principal = Column(Numeric(15, 2), nullable=False)
    max_principal = Column(Numeric(15, 2), nullable=False)
    min_interest_rate = Column(Numeric(5, 2), nullable=False)
    max_interest_rate = Column(Numeric(5, 2), nullable=False)
    min_term_months = Column(Integer, nullable=False)
    max_term_months = Column(Integer, nullable=False)
    created_at = Column(DateTime(timezone=True), default=utc_now, nullable=False)
    updated_at = Column(DateTime(timezone=True), default=utc_now, onupdate=utc_now, nullable=False)