import uuid from datetime import datetime from app.extensions import db class Boleto(db.Model): __tablename__ = "boletos" id = db.Column(db.String(36), primary_key=True, default=lambda: str(uuid.uuid4())) user_id = db.Column( db.String(36), db.ForeignKey("client_users.id", ondelete="SET NULL"), nullable=True, index=True, ) property_id = db.Column( db.UUID(as_uuid=True), db.ForeignKey("properties.id", ondelete="SET NULL"), nullable=True, index=True, ) description = db.Column(db.String(200), nullable=False) amount = db.Column(db.Numeric(12, 2), nullable=False) due_date = db.Column(db.Date, nullable=False) status = db.Column(db.String(20), nullable=False, default="pending") url = db.Column(db.String(500), nullable=True) created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) user = db.relationship("ClientUser", backref=db.backref("boletos", lazy="select")) property = db.relationship("Property", foreign_keys=[property_id], lazy="joined")