"""Playlist request/response schemas."""

import datetime as dt
import uuid

from pydantic import BaseModel


class PlaylistOut(BaseModel):
    id: uuid.UUID
    name: str
    description: str | None
    owner_id: uuid.UUID
    version: int
    track_count: int
    created_at: dt.datetime


class PlaylistCreate(BaseModel):
    name: str
    description: str | None = None


class PlaylistUpdate(BaseModel):
    name: str | None = None
    description: str | None = None


class PlaylistAddTrack(BaseModel):
    track_id: uuid.UUID
    position: float | None = None
