from datetime import datetime
import uuid

from sqlalchemy import BigInteger, Column, DateTime, Integer, String

from app.core.database import Base


class MediaVideo(Base):
    """Local copy of a Hudl library video saved under media/{id}/."""

    __tablename__ = "media_videos"

    id = Column(String(36), primary_key=True, default=lambda: str(uuid.uuid4()))
    source_key = Column(String(64), unique=True, nullable=False, index=True)
    title = Column(String(512), nullable=False)
    watch_url = Column(String(1024), nullable=True)
    file_path = Column(String(1024), nullable=False)
    original_filename = Column(String(512), nullable=True)
    file_size = Column(BigInteger, nullable=True)
    video_index = Column(Integer, nullable=True)
    created_at = Column(DateTime, default=datetime.utcnow, nullable=False)
