Chat-App / backend /app /models /reaction.py
openhands
feat: Add FastAPI backend + React frontend
2299bb4
raw
history blame contribute delete
849 Bytes
"""
Reaction model - emoji/like reactions on messages.
"""
from sqlalchemy import Column, String, DateTime, ForeignKey
from sqlalchemy.sql import func
from ..dependencies import Base
import uuid
class Reaction(Base):
"""Message reaction (emoji) model."""
__tablename__ = "reactions"
id = Column(String, primary_key=True, default=lambda: str(uuid.uuid4()))
message_id = Column(String, ForeignKey("messages.id"), nullable=False, index=True)
user_id = Column(String, ForeignKey("users.id"), nullable=False, index=True)
# Emoji: '๐Ÿ‘', 'โค๏ธ', '๐Ÿ˜‚', '๐Ÿ˜ข', '๐Ÿ˜ฎ', '๐Ÿ˜ก', etc.
emoji = Column(String(10), nullable=False)
# Timestamps
created_at = Column(DateTime(timezone=True), server_default=func.now())
def __repr__(self):
return f"<Reaction {self.emoji} on {self.message_id[:8]}>"