Files
AnyMusicBot/lib/ShazamIO/shazamio/schemas/artist/views/simular_artists.py
2024-11-02 00:10:44 +02:00

46 lines
1.3 KiB
Python

from __future__ import annotations
from typing import List, Optional
from pydantic import BaseModel, Field
from shazamio.schemas.attributes import AttributeName
from shazamio.schemas.base import BaseHrefNextData, BaseIdTypeHref
from shazamio.schemas.photos import ImageModel
class EditorialArtwork(BaseModel):
centered_fullscreen_background: Optional[ImageModel] = Field(
None, alias="centeredFullscreenBackground"
)
subscription_hero: Optional[ImageModel] = Field(None, alias="subscriptionHero")
banner_uber: Optional[ImageModel] = Field(None, alias="bannerUber")
class Attributes(BaseModel):
genre_names: List[str] = Field(..., alias="genreNames")
editorial_artwork: EditorialArtwork = Field(..., alias="editorialArtwork")
name: str
artwork: ImageModel
url: str
origin: Optional[str] = None
artist_bio: Optional[str] = Field(None, alias="artistBio")
class Relationships(BaseModel):
albums: BaseHrefNextData[List[BaseIdTypeHref]]
class Datum(BaseModel):
id: str
type: str
href: str
attributes: Attributes
relationships: Relationships
class SimularArtist(BaseModel):
href: Optional[str] = None
next: Optional[str] = None
attributes: Optional[AttributeName] = None
data: Optional[List[Datum]] = None