Files
AnyMusicBot/lib/ShazamIO/shazamio/schemas/artist/views/simular_artists.py
BarsTiger 9d45084d98 Add lib
2023-10-07 22:51:05 +03:00

48 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
from shazamio.schemas.base import 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