from sqlalchemy import Column, String, Integer

from models.base import Base, TimestampMixin


class CourseCategory(Base, TimestampMixin):
    __tablename__ = 'course_category'
    id = Column(Integer, primary_key=True, autoincrement=True, index=True)
    title = Column(String(255), nullable=False)
    description = Column(String(255), nullable=True)
    icon = Column(String(255), nullable=True)

    @property
    def icon_url(self):
        if self.icon:
            return f"/images/{self.icon}"
        return self.icon
