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_AddedBy {
  external_urls: GET_playlists__playlist_id_ExternalUrls2
  href: String
  id: String
  type: String
  uri: String
}

type GET_playlists__playlist_id_Album {
  album_type: String
  artists: [GET_playlists__playlist_id_ArtistsEntry]
  available_markets: [String]
  external_urls: GET_playlists__playlist_id_ExternalUrls4
  href: String
  id: String
  images: [GET_playlists__playlist_id_Images1Entry]
  name: String
  release_date: Int
  release_date_precision: String
  total_tracks: Int
  type: String
  uri: String
}

type GET_playlists__playlist_id_Artists1Entry {
  external_urls: GET_playlists__playlist_id_ExternalUrls5
  href: String
  id: String
  name: String
  type: String
  uri: String
}

type GET_playlists__playlist_id_ArtistsEntry {
  external_urls: GET_playlists__playlist_id_ExternalUrls3
  href: String
  id: String
  name: String
  type: String
  uri: String
}

type GET_playlists__playlist_id_ExternalIds {
  isrc: String
}

type GET_playlists__playlist_id_ExternalUrls {
  spotify: String
}

type GET_playlists__playlist_id_ExternalUrls1 {
  spotify: String
}

type GET_playlists__playlist_id_ExternalUrls2 {
  spotify: String
}

type GET_playlists__playlist_id_ExternalUrls3 {
  spotify: String
}

type GET_playlists__playlist_id_ExternalUrls4 {
  spotify: String
}

type GET_playlists__playlist_id_ExternalUrls5 {
  spotify: String
}

type GET_playlists__playlist_id_ExternalUrls6 {
  spotify: String
}

type GET_playlists__playlist_id_Followers {
  """
  Field "href" is defined as JSON since its value was always 'null'
  """
  href: JSON
  total: Int
}

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

type GET_playlists__playlist_id_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_playlists__playlist_id_ItemsEntry {
  added_at: DateTime
  added_by: GET_playlists__playlist_id_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_Track
  video_thumbnail: GET_playlists__playlist_id_VideoThumbnail
}

type GET_playlists__playlist_id_Owner {
  display_name: String
  external_urls: GET_playlists__playlist_id_ExternalUrls1
  href: String
  id: String
  type: String
  uri: String
}

type GET_playlists__playlist_id_Root {
  collaborative: Boolean
  description: String
  external_urls: GET_playlists__playlist_id_ExternalUrls
  followers: GET_playlists__playlist_id_Followers
  href: String
  id: String
  images: [GET_playlists__playlist_id_ImagesEntry]
  name: String
  owner: GET_playlists__playlist_id_Owner
  """
  Field "primary_color" is defined as JSON since its value was always 'null'
  """
  primary_color: JSON
  public: Boolean
  snapshot_id: String
  tracks: GET_playlists__playlist_id_Tracks
  type: String
  uri: String
}

type GET_playlists__playlist_id_Track {
  album: GET_playlists__playlist_id_Album
  artists: [GET_playlists__playlist_id_Artists1Entry]
  available_markets: [String]
  disc_number: Int
  duration_ms: Int
  episode: Boolean
  explicit: Boolean
  external_ids: GET_playlists__playlist_id_ExternalIds
  external_urls: GET_playlists__playlist_id_ExternalUrls6
  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 {
  href: String
  items: [GET_playlists__playlist_id_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_VideoThumbnail {
  """
  Field "url" is defined as JSON since its value was always 'null'
  """
  url: JSON
}

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