from datetime import UTC, datetime from app import db class Label(db.Model): """Label model for Kanban labels""" __tablename__ = "labels" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100)) color = db.Column(db.String(50)) # color name like 'green', 'red', 'blue' uses = db.Column(db.Integer, default=0) # 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 card_labels = db.relationship("CardLabel", backref="label", cascade="all, delete-orphan", lazy="dynamic") def to_dict(self): """Convert label to dictionary""" return { "id": self.id, "name": self.name, "color": self.color, "uses": self.uses, "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"