""" SQLAlchemy models for WhatsApp messages. """ from sqlalchemy import Boolean, Column, DateTime, Integer, String, Text from sqlalchemy.sql import func from app.db.base_class import Base class Message(Base): """ Model for storing WhatsApp messages. """ id = Column(Integer, primary_key=True, index=True) # WhatsApp message details sender_phone = Column(String(20), index=True, nullable=False) sender_name = Column(String(255), index=True, nullable=False) message_body = Column(Text, nullable=False) # Metadata timestamp = Column(DateTime, default=func.now(), nullable=False, index=True) # Tracking fields analyzed = Column(Boolean, default=False, index=True) last_analyzed_at = Column(DateTime, nullable=True) def __repr__(self) -> str: """ String representation of the message. """ return f""