from sqlalchemy import Column, Integer, String, Float, DateTime, Text
from sqlalchemy.sql import func
from app.core.database import Base

class Work(Base):
    __tablename__ = "works"
    
    id = Column(Integer, primary_key=True, index=True)
    title = Column(String(255), nullable=False, index=True)
    category = Column(String(100), index=True)
    designer = Column(String(100))
    level = Column(Integer, default=1)
    level_text = Column(String(50))
    
    # 文件路径
    original_image = Column(String(500))  # 原图（高清）
    watermarked_image = Column(String(500))  # 带水印图（详情页显示）
    thumbnail_image = Column(String(500))  # 缩略图（列表显示）
    
    # 价格
    price = Column(Float, default=0.0)  # 下载价格（元）
    
    # 统计
    views = Column(Integer, default=0)  # 浏览量
    downloads = Column(Integer, default=0)  # 下载量
    collects = Column(Integer, default=0)  # 收藏量
    
    # 描述
    description = Column(Text, nullable=True)
    tags = Column(String(500), nullable=True)  # JSON 格式存储标签
    
    created_at = Column(DateTime(timezone=True), server_default=func.now())
    updated_at = Column(DateTime(timezone=True), onupdate=func.now())
