sass-imobiliaria/backend/app/models/saved_property.py

33 lines
989 B
Python

import uuid
from datetime import datetime
from app.extensions import db
class SavedProperty(db.Model):
__tablename__ = "saved_properties"
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="CASCADE"),
nullable=False,
index=True,
)
property_id = db.Column(
db.UUID(as_uuid=True),
db.ForeignKey("properties.id", ondelete="SET NULL"),
nullable=True,
index=True,
)
created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
__table_args__ = (
db.UniqueConstraint(
"user_id", "property_id", name="uq_saved_properties_user_property"
),
)
user = db.relationship(
"ClientUser", backref=db.backref("saved_properties", lazy="joined")
)
property = db.relationship("Property", foreign_keys=[property_id], lazy="joined")