30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Enum as SQLEnum
|
|
from sqlalchemy.orm import relationship
|
|
from sqlalchemy.sql import func
|
|
from app.database import Base
|
|
from app.models.enums import TipoLimite
|
|
|
|
|
|
class LimiteTimbre(Base):
|
|
__tablename__ = "limites_timbres"
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
|
cliente_id = Column(Integer, ForeignKey("clientes.id"), nullable=False)
|
|
|
|
tipo = Column(SQLEnum(TipoLimite), nullable=False)
|
|
cantidad = Column(Integer, nullable=False)
|
|
|
|
# Información adicional
|
|
descripcion = Column(String(500))
|
|
activo = Column(Integer, default=1, nullable=False) # 1=activo, 0=inactivo
|
|
|
|
# Timestamps
|
|
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
|
inactivado_at = Column(DateTime(timezone=True), nullable=True)
|
|
|
|
# Relaciones
|
|
cliente = relationship("Cliente", back_populates="limites")
|
|
|
|
def __repr__(self):
|
|
return f"<LimiteTimbre Cliente:{self.cliente_id} - {self.tipo}: {self.cantidad}>"
|