from datetime import UTC, datetime from app import db class List(db.Model): """List model for Kanban lists (columns)""" __tablename__ = "lists" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(200), nullable=False) closed = db.Column(db.Boolean, default=False) pos = db.Column(db.Float) # position for sorting # Foreign keys board_id = db.Column( db.Integer, db.ForeignKey("boards.id", ondelete="CASCADE"), 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), ) # Relationships cards = db.relationship( "Card", backref="list", cascade="all, delete-orphan", lazy="dynamic" ) def to_dict(self): """Convert list to dictionary""" return { "id": self.id, "name": self.name, "closed": self.closed, "pos": self.pos, "board_id": self.board_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""