type GET_me_playlists_ExternalUrls {
  spotify: String
}

type GET_me_playlists_ExternalUrls1 {
  spotify: String
}

type GET_me_playlists_ImagesEntry {
  """
  Field "height" is defined as JSON since its value was always 'null'
  """
  height: JSON
  url: String
  """
  Field "width" is defined as JSON since its value was always 'null'
  """
  width: JSON
}

type GET_me_playlists_ItemsEntry {
  collaborative: Boolean
  description: String
  external_urls: GET_me_playlists_ExternalUrls
  href: String
  id: String
  images: [GET_me_playlists_ImagesEntry]
  name: String
  owner: GET_me_playlists_Owner
  """
  Field "primary_color" is defined as JSON since its value was always 'null'
  """
  primary_color: JSON
  public: Boolean
  snapshot_id: String
  tracks: GET_me_playlists_Tracks
  type: String
  uri: String
}

type GET_me_playlists_Owner {
  display_name: String
  external_urls: GET_me_playlists_ExternalUrls1
  href: String
  id: String
  type: String
  uri: String
}

type GET_me_playlists_Root {
  href: String
  items: [GET_me_playlists_ItemsEntry]
  limit: Int
  """
  Field "next" is defined as JSON since its value was always 'null'
  """
  next: JSON
  offset: Int
  """
  Field "previous" is defined as JSON since its value was always 'null'
  """
  previous: JSON
  total: Int
}

type GET_me_playlists_Tracks {
  href: String
  total: Int
}

type Query {
  GET_me_playlists(spotify_access_token: String!): GET_me_playlists_Root
    @rest(
      endpoint: "https://api.spotify.com/v1/me/playlists"
      headers: [
        { name: "authorization", value: "Bearer $spotify_access_token;" }
      ]
    )
}
type GET_playlists__playlist_id__tracks_AddedBy {
  external_urls: GET_playlists__playlist_id__tracks_ExternalUrls
  href: String
  id: String
  type: String
  uri: String
}

type GET_playlists__playlist_id__tracks_Album {
  album_type: String
  artists: [GET_playlists__playlist_id__tracks_ArtistsEntry]
  available_markets: [String]
  external_urls: GET_playlists__playlist_id__tracks_ExternalUrls2
  href: String
  id: String
  images: [GET_playlists__playlist_id__tracks_ImagesEntry]
  name: String
  release_date: Int
  release_date_precision: String
  total_tracks: Int
  type: String
  uri: String
}

type GET_playlists__playlist_id__tracks_Artists1Entry {
  external_urls: GET_playlists__playlist_id__tracks_ExternalUrls3
  href: String
  id: String
  name: String
  type: String
  uri: String
}

type GET_playlists__playlist_id__tracks_ArtistsEntry {
  external_urls: GET_playlists__playlist_id__tracks_ExternalUrls1
  href: String
  id: String
  name: String
  type: String
  uri: String
}

type GET_playlists__playlist_id__tracks_ExternalIds {
  isrc: String
}

type GET_playlists__playlist_id__tracks_ExternalUrls {
  spotify: String
}

type GET_playlists__playlist_id__tracks_ExternalUrls1 {
  spotify: String
}

type GET_playlists__playlist_id__tracks_ExternalUrls2 {
  spotify: String
}

type GET_playlists__playlist_id__tracks_ExternalUrls3 {
  spotify: String
}

type GET_playlists__playlist_id__tracks_ExternalUrls4 {
  spotify: String
}

type GET_playlists__playlist_id__tracks_ImagesEntry {
  height: Int
  url: String
  width: Int
}

type GET_playlists__playlist_id__tracks_ItemsEntry {
  added_at: DateTime
  added_by: GET_playlists__playlist_id__tracks_AddedBy
  is_local: Boolean
  """
  Field "primary_color" is defined as JSON since its value was always 'null'
  """
  primary_color: JSON
  track: GET_playlists__playlist_id__tracks_Track
  video_thumbnail: GET_playlists__playlist_id__tracks_VideoThumbnail
}

type GET_playlists__playlist_id__tracks_Root {
  href: String
  items: [GET_playlists__playlist_id__tracks_ItemsEntry]
  limit: Int
  """
  Field "next" is defined as JSON since its value was always 'null'
  """
  next: JSON
  offset: Int
  """
  Field "previous" is defined as JSON since its value was always 'null'
  """
  previous: JSON
  total: Int
}

type GET_playlists__playlist_id__tracks_Track {
  album: GET_playlists__playlist_id__tracks_Album
  artists: [GET_playlists__playlist_id__tracks_Artists1Entry]
  available_markets: [String]
  disc_number: Int
  duration_ms: Int
  episode: Boolean
  explicit: Boolean
  external_ids: GET_playlists__playlist_id__tracks_ExternalIds
  external_urls: GET_playlists__playlist_id__tracks_ExternalUrls4
  href: String
  id: String
  is_local: Boolean
  name: String
  popularity: Int
  preview_url: String
  track: Boolean
  track_number: Int
  type: String
  uri: String
}

type GET_playlists__playlist_id__tracks_VideoThumbnail {
  """
  Field "url" is defined as JSON since its value was always 'null'
  """
  url: JSON
}

type Query {
  GET_playlists__playlist_id__tracks(
    playlist_id: String!
    spotify_access_token: String!
  ): GET_playlists__playlist_id__tracks_Root
    @rest(
      endpoint: "https://api.spotify.com/v1/playlists/$playlist_id;/tracks"
      headers: [
        { name: "authorization", value: "Bearer $spotify_access_token;" }
      ]
    )
}
