from pydantic import BaseModel from enum import Enum from typing import Optional, Union class JellyfinMediaType(str, Enum): AUDIO = 'Audio' MOVIE = 'Movie' EPISODE = 'Episode' class JellyfinMusicMediaMetadata(BaseModel): artist: Optional[str] album: Optional[str] class JellyfinMovieMediaMetadata(BaseModel): date: Optional[str] class JellyfinEpisodeMediaMetadata(BaseModel): subtitle: str class JellyfinMediaItem(BaseModel): id: str name: str type: JellyfinMediaType image_url: str start: Optional[int] end: Optional[int] metadata: Union[JellyfinMusicMediaMetadata, JellyfinMovieMediaMetadata, JellyfinEpisodeMediaMetadata]