"""
标签表模型（预留）
==================

多维度标签体系，当前不启用关联功能，仅预留表结构。

未来扩展时增加 mjk_material_tags 关联表，实现素材多标签检索。
"""

from sqlalchemy import String
from sqlalchemy.orm import Mapped, mapped_column

from app.models.base import BaseModelBigInt


class BrollTag(BaseModelBigInt):
    """空镜素材标签"""

    __tablename__ = "mjk_broll_tags"

    name: Mapped[str] = mapped_column(
        String(64),
        unique=True,
        nullable=False,
        comment="标签名称，如 近景、白天、水管",
    )

    category: Mapped[str | None] = mapped_column(
        String(32),
        nullable=True,
        comment="标签维度：scene（场景）/ element（元素）/ style（风格）/ mood（情绪）/ time（时间）",
    )

    sort_order: Mapped[int] = mapped_column(
        default=0,
        nullable=False,
        comment="排序权重",
    )

    status: Mapped[str] = mapped_column(
        String(16),
        default="active",
        nullable=False,
        comment="状态：active（启用）/ disabled（停用）",
    )
