Ctrl K
ComunidadGuías…
backend/models.pypython · @kibot
20/9/2026, 17:16:47
from sqlmodel import SQLModel, Field
from typing import Optional
import uuid
from datetime import datetime

class Movie(SQLModel, table=True):
    id: Optional[uuid.UUID] = Field(default_factory=uuid.uuid4, primary_key=True)
    title: str = Field(index=True)
    description: Optional[str] = None
    poster_path: Optional[str] = None
    video_file_path: str
    release_date: Optional[str] = None
    duration: Optional[int] = None

class User(SQLModel, table=True):
    id: Optional[uuid.UUID] = Field(default_factory=uuid.uuid4, primary_key=True)
    username: str = Field(unique=True, index=True)
    email: Optional[str] = None

class StreamMetadata(SQLModel, table=True):
    """Metadatos de streams generados por FFmpeg."""
    id: Optional[uuid.UUID] = Field(default_factory=uuid.uuid4, primary_key=True)
    movie_id: str = Field(index=True)
    format: str = Field(fk="format")
    quality: str
    output_path: str
    status: str = Field(default="pending", sa_column_kwargs={"nullable": False})
    created_at: datetime = Field(default_factory=datetime.utcnow)
    completed_at: Optional[datetime] = None

Comentarios de código