from sqlalchemy import Column, Integer, Text, DateTime, ForeignKey, Enum as SQLEnum from sqlalchemy.orm import relationship from sqlalchemy.sql import func import enum from core.database import Base class MessageSender(enum.Enum): USER = "user" AI = "ai" class ChatMessage(Base): __tablename__ = "chat_messages" id = Column(Integer, primary_key=True, index=True) user_id = Column(Integer, ForeignKey("users.id"), nullable=False, index=True) sender = Column(SQLEnum(MessageSender), nullable=False) text = Column(Text, nullable=False) timestamp = Column(DateTime(timezone=True), server_default=func.now()) owner = relationship("User") # Relationship to the User model