diff --git a/src/models/playlist-snapshot.ts b/src/models/playlist-snapshot.ts new file mode 100644 index 0000000..0b6fc69 --- /dev/null +++ b/src/models/playlist-snapshot.ts @@ -0,0 +1,13 @@ +import type { User } from './user'; +import type { Track } from './track'; + +export interface PlaylistSnapshot { + description: string; + num_followers: number; + original_name: string; + owner: User; + snapshot_id: string; + tracks: Track[]; + unique_name: string; + url: string; +} diff --git a/src/models/track.ts b/src/models/track.ts new file mode 100644 index 0000000..9552b51 --- /dev/null +++ b/src/models/track.ts @@ -0,0 +1,18 @@ +import type { User } from './user'; + +export interface Track { + added_at: string; + album: { + name: string; + url: string; + }; + artists: User[]; + duration_ms: number; + name: string; + url: string; + date_added: string; + date_added_asterisk: boolean; + date_removed: string | null; + position?: string; + retention?: number; +} diff --git a/src/models/user.ts b/src/models/user.ts new file mode 100644 index 0000000..d8e94be --- /dev/null +++ b/src/models/user.ts @@ -0,0 +1,4 @@ +export interface User { + name: string; + url: string; +}