View Definition: playlists_with_tracks
→ Data
Source Diagram
classDiagram
class playlists_item["playlists.item"]
class playlist_entries_item["playlist_entries.item"]
playlist_entries_item --> playlists_item : playlist_id
Definition
From
playlists
Join
| To |
On (left = right) |
As |
Pre-join where |
Flatten |
| playlist_entries |
id = playlist_id |
entries |
|
|
Select
| Item |
As |
| id |
id |
| name |
name |
| curator |
curator |
| description |
description |
| entries |
entries |
Shape
Type: playlists_with_tracks.item
| id |
type |
required |
validation |
metadata |
id |
string |
yes |
|
|
name |
string |
yes |
|
{description: Display name of the playlist.} |
curator |
string |
|
|
{description: 'Id or short name of whoever assembled the playlist (an artist id, or a free-form tag such as "editorial").'} |
description |
string |
|
|
{description: Short prose blurb shown alongside the playlist title.} |
entries |
playlists_with_tracks.item.entries.item[] |
yes |
|
|
Type: playlists_with_tracks.item.entries.item
| id |
type |
required |
validation |
metadata |
playlist_id |
string |
yes |
|
{description: Id of the playlist this entry belongs to.} |
position |
integer |
yes |
|
{description: 1-indexed playback position within the playlist.} |
track |
object |
yes |
|
|
track.id |
string |
yes |
|
|
track.title |
string |
yes |
|
{description: Track title.} |
track.album_id |
string |
yes |
|
{description: Id of the album this track appears on.} |
track.track_no |
integer |
yes |
|
{description: 'Position of the track within the album, 1-indexed.'} |
track.duration_sec |
integer |
|
|
{description: Duration in whole seconds.} |