from datetime import datetime from sqlmodel import SQLModel, Field, UniqueConstraint class ListingDecision(SQLModel, table=True): __table_args__ = ( UniqueConstraint( 'user_id', 'listing_id', 'listing_type', name='uq_decision_user_listing_type', ), ) id: int | None = Field(default=None, primary_key=True) user_id: int = Field(nullable=False, foreign_key="user.id", index=True) listing_id: int = Field(nullable=False, index=True) listing_type: str = Field(nullable=False) # "RENT" or "BUY" decision: str = Field(nullable=False) # "liked" or "disliked" created_at: datetime = Field(default_factory=datetime.utcnow) updated_at: datetime = Field(default_factory=datetime.utcnow)