30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
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")
|