team-4/backend/types/spotify.ts
2025-08-02 13:28:10 +02:00

97 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[];
}