lunify.js
Version:
A basic api wrapper for the spotify api covering the oauth routes.
49 lines (48 loc) • 1.17 kB
TypeScript
import type { ApiEpisode } from "./episode";
import type { ApiTrack } from "./track";
import type { ApiImage } from ".";
export interface ApiUserPlaylists {
href: string;
limit: number;
next: string | null;
offset: number;
previous: string | null;
total: number;
items: ApiPartialPlaylist[];
}
export interface ApiPlaylistOwner {
external_urls: Record<string, string>;
followers: {
href: string;
total: number;
};
href: string;
id: string;
type: "user";
uri: string;
display_name: string | null;
}
export interface ApiPartialPlaylist {
collaborative: boolean;
description: string | null;
external_urls: Record<string, string>;
href: string;
id: string;
images: ApiImage[];
name: string;
owner: ApiPlaylistOwner;
public: boolean;
snapshot_id: string;
tracks: {
href: string;
total: number;
} | null;
type: string;
uri: string;
}
export interface ApiPlaylistTrack<T extends ApiTrack | ApiEpisode> {
added_at: string | null;
added_by: Omit<ApiPlaylistOwner, "display_name"> | null;
is_local: boolean;
track: T;
}