30 lines
1,014 B
Python
30 lines
1,014 B
Python
import uuid
|
|
from datetime import datetime
|
|
from app.extensions import db
|
|
|
|
|
|
class VisitRequest(db.Model):
|
|
__tablename__ = "visit_requests"
|
|
|
|
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,
|
|
)
|
|
message = db.Column(db.Text, nullable=False)
|
|
status = db.Column(db.String(20), nullable=False, default="pending")
|
|
scheduled_at = db.Column(db.DateTime, nullable=True)
|
|
created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
|
|
|
|
user = db.relationship(
|
|
"ClientUser", backref=db.backref("visit_requests", lazy="select")
|
|
)
|
|
property = db.relationship("Property", foreign_keys=[property_id], lazy="joined")
|