98 lines
1.7 KiB
TypeScript
98 lines
1.7 KiB
TypeScript
![]() |
export interface SpotifyArtist {
|
||
|
external_urls: {
|
||
|
spotify: string;
|
||
|
};
|
||
|
href: string;
|
||
|
id: string;
|
||
|
name: string;
|
||
|
type: string;
|
||
|
uri: string;
|
||
|
}
|
||
|
|
||
|
export interface SpotifyAlbum {
|
||
|
album_type: string;
|
||
|
total_tracks: number;
|
||
|
available_markets: string[];
|
||
|
external_urls: {
|
||
|
spotify: string;
|
||
|
};
|
||
|
href: string;
|
||
|
id: string;
|
||
|
images: Array<{
|
||
|
url: string;
|
||
|
height: number;
|
||
|
width: number;
|
||
|
}>;
|
||
|
name: string;
|
||
|
release_date: string;
|
||
|
release_date_precision: string;
|
||
|
type: string;
|
||
|
uri: string;
|
||
|
artists: SpotifyArtist[];
|
||
|
is_playable?: boolean;
|
||
|
}
|
||
|
|
||
|
export interface SpotifyTrack {
|
||
|
album: SpotifyAlbum;
|
||
|
artists: SpotifyArtist[];
|
||
|
available_markets: string[];
|
||
|
disc_number: number;
|
||
|
duration_ms: number;
|
||
|
explicit: boolean;
|
||
|
external_ids: {
|
||
|
isrc?: string;
|
||
|
};
|
||
|
external_urls: {
|
||
|
spotify: string;
|
||
|
};
|
||
|
href: string;
|
||
|
id: string;
|
||
|
is_playable?: boolean;
|
||
|
name: string;
|
||
|
popularity: number;
|
||
|
preview_url: string | null;
|
||
|
track_number: number;
|
||
|
type: string;
|
||
|
uri: string;
|
||
|
is_local: boolean;
|
||
|
}
|
||
|
|
||
|
export interface SpotifySearchResponse {
|
||
|
tracks: {
|
||
|
href: string;
|
||
|
limit: number;
|
||
|
next: string | null;
|
||
|
offset: number;
|
||
|
previous: string | null;
|
||
|
total: number;
|
||
|
items: SpotifyTrack[];
|
||
|
};
|
||
|
}
|
||
|
|
||
|
export interface SearchResultTrack {
|
||
|
id: string;
|
||
|
name: string;
|
||
|
artists: Array<{
|
||
|
id: string;
|
||
|
name: string;
|
||
|
spotify_url: string;
|
||
|
}>;
|
||
|
album: {
|
||
|
id: string;
|
||
|
name: string;
|
||
|
release_date: string;
|
||
|
images: Array<{
|
||
|
url: string;
|
||
|
height: number;
|
||
|
width: number;
|
||
|
}>;
|
||
|
spotify_url: string;
|
||
|
};
|
||
|
duration_ms: number;
|
||
|
popularity: number;
|
||
|
preview_url: string | null;
|
||
|
spotify_url: string;
|
||
|
explicit: boolean;
|
||
|
available_markets: string[];
|
||
|
}
|