from datetime import UTC, datetime from app import db class Comment(db.Model): """Comment model for card comments""" __tablename__ = "comments" id = db.Column(db.Integer, primary_key=True) text = db.Column(db.Text, nullable=False) # Foreign keys card_id = db.Column(db.Integer, db.ForeignKey("cards.id", ondelete="CASCADE"), nullable=False, index=True) user_id = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False, index=True) # Timestamps created_at = db.Column(db.DateTime, default=lambda: datetime.now(UTC)) updated_at = db.Column( db.DateTime, default=lambda: datetime.now(UTC), onupdate=lambda: datetime.now(UTC), ) def to_dict(self): """Convert comment to dictionary""" return { "id": self.id, "text": self.text, "card_id": self.card_id, "user_id": self.user_id, "created_at": self.created_at.isoformat() if self.created_at else None, "updated_at": self.updated_at.isoformat() if self.updated_at else None, } def __repr__(self): return f""