33 lines
989 B
Python
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")
|