from database import db from datetime import datetime, timezone class Message(db.Model): __tablename__ = "messages" id = db.Column(db.Integer, primary_key=True) chat_id = db.Column(db.Integer, db.ForeignKey("chats.id", ondelete="CASCADE"), nullable=False, index=True) user_id = db.Column(db.Integer, db.ForeignKey("users.id", ondelete="CASCADE"), nullable=False, index=True) role = db.Column(db.String(20), nullable=False) content = db.Column(db.Text, nullable=False) message_type = db.Column(db.String(20), default="text") created_at = db.Column(db.DateTime, default=lambda: datetime.now(timezone.utc)) def to_dict(self): return { "id": self.id, "chat_id": self.chat_id, "role": self.role, "content": self.content, "message_type": self.message_type, "created_at": self.created_at.isoformat() if self.created_at else None }