spotted 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (677) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +25 -0
  4. data/README.md +236 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/spotted/client.rb +169 -0
  7. data/lib/spotted/errors.rb +228 -0
  8. data/lib/spotted/file_part.rb +58 -0
  9. data/lib/spotted/internal/cursor_url_page.rb +86 -0
  10. data/lib/spotted/internal/oauth2.rb +87 -0
  11. data/lib/spotted/internal/transport/base_client.rb +567 -0
  12. data/lib/spotted/internal/transport/pooled_net_requester.rb +204 -0
  13. data/lib/spotted/internal/type/array_of.rb +168 -0
  14. data/lib/spotted/internal/type/base_model.rb +529 -0
  15. data/lib/spotted/internal/type/base_page.rb +55 -0
  16. data/lib/spotted/internal/type/boolean.rb +77 -0
  17. data/lib/spotted/internal/type/converter.rb +327 -0
  18. data/lib/spotted/internal/type/enum.rb +131 -0
  19. data/lib/spotted/internal/type/file_input.rb +111 -0
  20. data/lib/spotted/internal/type/hash_of.rb +188 -0
  21. data/lib/spotted/internal/type/request_parameters.rb +42 -0
  22. data/lib/spotted/internal/type/union.rb +237 -0
  23. data/lib/spotted/internal/type/unknown.rb +81 -0
  24. data/lib/spotted/internal/util.rb +915 -0
  25. data/lib/spotted/internal.rb +20 -0
  26. data/lib/spotted/models/album_list_params.rb +43 -0
  27. data/lib/spotted/models/album_list_response.rb +297 -0
  28. data/lib/spotted/models/album_list_tracks_params.rb +50 -0
  29. data/lib/spotted/models/album_restriction_object.rb +39 -0
  30. data/lib/spotted/models/album_retrieve_params.rb +33 -0
  31. data/lib/spotted/models/album_retrieve_response.rb +287 -0
  32. data/lib/spotted/models/artist_list_albums_params.rb +61 -0
  33. data/lib/spotted/models/artist_list_albums_response.rb +195 -0
  34. data/lib/spotted/models/artist_list_params.rb +27 -0
  35. data/lib/spotted/models/artist_list_related_artists_params.rb +14 -0
  36. data/lib/spotted/models/artist_list_related_artists_response.rb +16 -0
  37. data/lib/spotted/models/artist_list_response.rb +16 -0
  38. data/lib/spotted/models/artist_list_top_tracks_params.rb +33 -0
  39. data/lib/spotted/models/artist_list_top_tracks_response.rb +16 -0
  40. data/lib/spotted/models/artist_object.rb +108 -0
  41. data/lib/spotted/models/artist_retrieve_params.rb +14 -0
  42. data/lib/spotted/models/audio_analysis_retrieve_params.rb +14 -0
  43. data/lib/spotted/models/audio_analysis_retrieve_response.rb +628 -0
  44. data/lib/spotted/models/audio_feature_list_params.rb +27 -0
  45. data/lib/spotted/models/audio_feature_list_response.rb +214 -0
  46. data/lib/spotted/models/audio_feature_retrieve_params.rb +14 -0
  47. data/lib/spotted/models/audio_feature_retrieve_response.rb +203 -0
  48. data/lib/spotted/models/audiobook_list_chapters_params.rb +50 -0
  49. data/lib/spotted/models/audiobook_list_params.rb +43 -0
  50. data/lib/spotted/models/audiobook_list_response.rb +266 -0
  51. data/lib/spotted/models/audiobook_retrieve_params.rb +33 -0
  52. data/lib/spotted/models/audiobook_retrieve_response.rb +255 -0
  53. data/lib/spotted/models/author_object.rb +19 -0
  54. data/lib/spotted/models/browse/category_get_playlists_params.rb +36 -0
  55. data/lib/spotted/models/browse/category_get_playlists_response.rb +29 -0
  56. data/lib/spotted/models/browse/category_list_params.rb +51 -0
  57. data/lib/spotted/models/browse/category_list_response.rb +121 -0
  58. data/lib/spotted/models/browse/category_retrieve_params.rb +34 -0
  59. data/lib/spotted/models/browse/category_retrieve_response.rb +47 -0
  60. data/lib/spotted/models/browse_get_featured_playlists_params.rb +49 -0
  61. data/lib/spotted/models/browse_get_featured_playlists_response.rb +27 -0
  62. data/lib/spotted/models/browse_get_new_releases_params.rb +34 -0
  63. data/lib/spotted/models/browse_get_new_releases_response.rb +245 -0
  64. data/lib/spotted/models/chapter_list_params.rb +43 -0
  65. data/lib/spotted/models/chapter_list_response.rb +408 -0
  66. data/lib/spotted/models/chapter_restriction_object.rb +29 -0
  67. data/lib/spotted/models/chapter_retrieve_params.rb +33 -0
  68. data/lib/spotted/models/chapter_retrieve_response.rb +398 -0
  69. data/lib/spotted/models/copyright_object.rb +28 -0
  70. data/lib/spotted/models/episode_list_params.rb +43 -0
  71. data/lib/spotted/models/episode_list_response.rb +16 -0
  72. data/lib/spotted/models/episode_object.rb +382 -0
  73. data/lib/spotted/models/episode_restriction_object.rb +28 -0
  74. data/lib/spotted/models/episode_retrieve_params.rb +33 -0
  75. data/lib/spotted/models/external_id_object.rb +35 -0
  76. data/lib/spotted/models/external_url_object.rb +20 -0
  77. data/lib/spotted/models/followers_object.rb +28 -0
  78. data/lib/spotted/models/image_object.rb +35 -0
  79. data/lib/spotted/models/linked_track_object.rb +53 -0
  80. data/lib/spotted/models/market_list_params.rb +14 -0
  81. data/lib/spotted/models/market_list_response.rb +16 -0
  82. data/lib/spotted/models/me/album_check_params.rb +29 -0
  83. data/lib/spotted/models/me/album_check_response.rb +10 -0
  84. data/lib/spotted/models/me/album_list_params.rb +52 -0
  85. data/lib/spotted/models/me/album_list_response.rb +318 -0
  86. data/lib/spotted/models/me/album_remove_params.rb +31 -0
  87. data/lib/spotted/models/me/album_save_params.rb +31 -0
  88. data/lib/spotted/models/me/audiobook_check_params.rb +29 -0
  89. data/lib/spotted/models/me/audiobook_check_response.rb +10 -0
  90. data/lib/spotted/models/me/audiobook_list_params.rb +36 -0
  91. data/lib/spotted/models/me/audiobook_list_response.rb +287 -0
  92. data/lib/spotted/models/me/audiobook_remove_params.rb +29 -0
  93. data/lib/spotted/models/me/audiobook_save_params.rb +29 -0
  94. data/lib/spotted/models/me/context_object.rb +46 -0
  95. data/lib/spotted/models/me/device_object.rb +82 -0
  96. data/lib/spotted/models/me/episode_check_params.rb +29 -0
  97. data/lib/spotted/models/me/episode_check_response.rb +10 -0
  98. data/lib/spotted/models/me/episode_list_params.rb +52 -0
  99. data/lib/spotted/models/me/episode_list_response.rb +32 -0
  100. data/lib/spotted/models/me/episode_remove_params.rb +31 -0
  101. data/lib/spotted/models/me/episode_save_params.rb +31 -0
  102. data/lib/spotted/models/me/following_check_params.rb +49 -0
  103. data/lib/spotted/models/me/following_check_response.rb +10 -0
  104. data/lib/spotted/models/me/following_follow_params.rb +50 -0
  105. data/lib/spotted/models/me/following_list_params.rb +53 -0
  106. data/lib/spotted/models/me/following_list_response.rb +94 -0
  107. data/lib/spotted/models/me/following_unfollow_params.rb +50 -0
  108. data/lib/spotted/models/me/player/queue_add_params.rb +38 -0
  109. data/lib/spotted/models/me/player/queue_get_params.rb +18 -0
  110. data/lib/spotted/models/me/player/queue_get_response.rb +59 -0
  111. data/lib/spotted/models/me/player_get_currently_playing_params.rb +48 -0
  112. data/lib/spotted/models/me/player_get_currently_playing_response.rb +175 -0
  113. data/lib/spotted/models/me/player_get_devices_params.rb +16 -0
  114. data/lib/spotted/models/me/player_get_devices_response.rb +18 -0
  115. data/lib/spotted/models/me/player_get_state_params.rb +48 -0
  116. data/lib/spotted/models/me/player_get_state_response.rb +200 -0
  117. data/lib/spotted/models/me/player_list_recently_played_params.rb +45 -0
  118. data/lib/spotted/models/me/player_list_recently_played_response.rb +35 -0
  119. data/lib/spotted/models/me/player_pause_playback_params.rb +28 -0
  120. data/lib/spotted/models/me/player_seek_to_position_params.rb +38 -0
  121. data/lib/spotted/models/me/player_set_repeat_mode_params.rb +38 -0
  122. data/lib/spotted/models/me/player_set_volume_params.rb +36 -0
  123. data/lib/spotted/models/me/player_skip_next_params.rb +28 -0
  124. data/lib/spotted/models/me/player_skip_previous_params.rb +28 -0
  125. data/lib/spotted/models/me/player_start_playback_params.rb +68 -0
  126. data/lib/spotted/models/me/player_toggle_shuffle_params.rb +37 -0
  127. data/lib/spotted/models/me/player_transfer_params.rb +40 -0
  128. data/lib/spotted/models/me/playlist_list_params.rb +36 -0
  129. data/lib/spotted/models/me/show_check_params.rb +29 -0
  130. data/lib/spotted/models/me/show_check_response.rb +10 -0
  131. data/lib/spotted/models/me/show_list_params.rb +36 -0
  132. data/lib/spotted/models/me/show_list_response.rb +197 -0
  133. data/lib/spotted/models/me/show_remove_params.rb +47 -0
  134. data/lib/spotted/models/me/show_save_params.rb +31 -0
  135. data/lib/spotted/models/me/top_list_top_artists_params.rb +47 -0
  136. data/lib/spotted/models/me/top_list_top_tracks_params.rb +47 -0
  137. data/lib/spotted/models/me/track_check_params.rb +29 -0
  138. data/lib/spotted/models/me/track_check_response.rb +10 -0
  139. data/lib/spotted/models/me/track_list_params.rb +52 -0
  140. data/lib/spotted/models/me/track_list_response.rb +34 -0
  141. data/lib/spotted/models/me/track_remove_params.rb +31 -0
  142. data/lib/spotted/models/me/track_save_params.rb +74 -0
  143. data/lib/spotted/models/me_retrieve_params.rb +14 -0
  144. data/lib/spotted/models/me_retrieve_response.rb +157 -0
  145. data/lib/spotted/models/narrator_object.rb +19 -0
  146. data/lib/spotted/models/paging_playlist_object.rb +66 -0
  147. data/lib/spotted/models/playlist_retrieve_params.rb +63 -0
  148. data/lib/spotted/models/playlist_retrieve_response.rb +217 -0
  149. data/lib/spotted/models/playlist_track_object.rb +64 -0
  150. data/lib/spotted/models/playlist_tracks_ref_object.rb +28 -0
  151. data/lib/spotted/models/playlist_update_params.rb +56 -0
  152. data/lib/spotted/models/playlist_user_object.rb +65 -0
  153. data/lib/spotted/models/playlists/follower_check_params.rb +29 -0
  154. data/lib/spotted/models/playlists/follower_check_response.rb +10 -0
  155. data/lib/spotted/models/playlists/follower_follow_params.rb +30 -0
  156. data/lib/spotted/models/playlists/follower_unfollow_params.rb +16 -0
  157. data/lib/spotted/models/playlists/image_list_params.rb +16 -0
  158. data/lib/spotted/models/playlists/image_list_response.rb +10 -0
  159. data/lib/spotted/models/playlists/image_update_params.rb +24 -0
  160. data/lib/spotted/models/playlists/track_add_params.rb +45 -0
  161. data/lib/spotted/models/playlists/track_add_response.rb +18 -0
  162. data/lib/spotted/models/playlists/track_list_params.rb +82 -0
  163. data/lib/spotted/models/playlists/track_remove_params.rb +52 -0
  164. data/lib/spotted/models/playlists/track_remove_response.rb +18 -0
  165. data/lib/spotted/models/playlists/track_update_params.rb +67 -0
  166. data/lib/spotted/models/playlists/track_update_response.rb +18 -0
  167. data/lib/spotted/models/recommendation_get_params.rb +549 -0
  168. data/lib/spotted/models/recommendation_get_response.rb +86 -0
  169. data/lib/spotted/models/recommendation_list_available_genre_seeds_params.rb +14 -0
  170. data/lib/spotted/models/recommendation_list_available_genre_seeds_response.rb +16 -0
  171. data/lib/spotted/models/resume_point_object.rb +27 -0
  172. data/lib/spotted/models/search_retrieve_params.rb +120 -0
  173. data/lib/spotted/models/search_retrieve_response.rb +930 -0
  174. data/lib/spotted/models/show_list_episodes_params.rb +50 -0
  175. data/lib/spotted/models/show_list_params.rb +43 -0
  176. data/lib/spotted/models/show_list_response.rb +176 -0
  177. data/lib/spotted/models/show_retrieve_params.rb +33 -0
  178. data/lib/spotted/models/show_retrieve_response.rb +238 -0
  179. data/lib/spotted/models/simplified_artist_object.rb +73 -0
  180. data/lib/spotted/models/simplified_chapter_object.rb +209 -0
  181. data/lib/spotted/models/simplified_episode_object.rb +211 -0
  182. data/lib/spotted/models/simplified_playlist_object.rb +147 -0
  183. data/lib/spotted/models/simplified_track_object.rb +161 -0
  184. data/lib/spotted/models/time_interval_object.rb +32 -0
  185. data/lib/spotted/models/track_list_params.rb +43 -0
  186. data/lib/spotted/models/track_list_response.rb +16 -0
  187. data/lib/spotted/models/track_object.rb +375 -0
  188. data/lib/spotted/models/track_restriction_object.rb +28 -0
  189. data/lib/spotted/models/track_retrieve_params.rb +33 -0
  190. data/lib/spotted/models/user_retrieve_profile_params.rb +14 -0
  191. data/lib/spotted/models/user_retrieve_profile_response.rb +90 -0
  192. data/lib/spotted/models/users/playlist_create_params.rb +65 -0
  193. data/lib/spotted/models/users/playlist_create_response.rb +219 -0
  194. data/lib/spotted/models/users/playlist_list_params.rb +36 -0
  195. data/lib/spotted/models.rb +168 -0
  196. data/lib/spotted/request_options.rb +77 -0
  197. data/lib/spotted/resources/albums.rb +102 -0
  198. data/lib/spotted/resources/artists.rb +150 -0
  199. data/lib/spotted/resources/audio_analysis.rb +41 -0
  200. data/lib/spotted/resources/audio_features.rb +67 -0
  201. data/lib/spotted/resources/audiobooks.rb +105 -0
  202. data/lib/spotted/resources/browse/categories.rb +105 -0
  203. data/lib/spotted/resources/browse.rb +78 -0
  204. data/lib/spotted/resources/chapters.rb +72 -0
  205. data/lib/spotted/resources/episodes.rb +69 -0
  206. data/lib/spotted/resources/markets.rb +32 -0
  207. data/lib/spotted/resources/me/albums.rb +127 -0
  208. data/lib/spotted/resources/me/audiobooks.rb +121 -0
  209. data/lib/spotted/resources/me/episodes.rb +138 -0
  210. data/lib/spotted/resources/me/following.rb +133 -0
  211. data/lib/spotted/resources/me/player/queue.rb +65 -0
  212. data/lib/spotted/resources/me/player.rb +382 -0
  213. data/lib/spotted/resources/me/playlists.rb +44 -0
  214. data/lib/spotted/resources/me/shows.rb +127 -0
  215. data/lib/spotted/resources/me/top.rb +76 -0
  216. data/lib/spotted/resources/me/tracks.rb +121 -0
  217. data/lib/spotted/resources/me.rb +69 -0
  218. data/lib/spotted/resources/playlists/followers.rb +93 -0
  219. data/lib/spotted/resources/playlists/images.rb +67 -0
  220. data/lib/spotted/resources/playlists/tracks.rb +157 -0
  221. data/lib/spotted/resources/playlists.rb +91 -0
  222. data/lib/spotted/resources/recommendations.rb +160 -0
  223. data/lib/spotted/resources/search.rb +51 -0
  224. data/lib/spotted/resources/shows.rb +102 -0
  225. data/lib/spotted/resources/tracks.rb +69 -0
  226. data/lib/spotted/resources/users/playlists.rb +82 -0
  227. data/lib/spotted/resources/users.rb +41 -0
  228. data/lib/spotted/version.rb +5 -0
  229. data/lib/spotted.rb +257 -0
  230. data/manifest.yaml +15 -0
  231. data/rbi/spotted/client.rbi +104 -0
  232. data/rbi/spotted/errors.rbi +205 -0
  233. data/rbi/spotted/file_part.rbi +37 -0
  234. data/rbi/spotted/internal/cursor_url_page.rbi +22 -0
  235. data/rbi/spotted/internal/oauth2.rbi +34 -0
  236. data/rbi/spotted/internal/transport/base_client.rbi +292 -0
  237. data/rbi/spotted/internal/transport/pooled_net_requester.rbi +79 -0
  238. data/rbi/spotted/internal/type/array_of.rbi +104 -0
  239. data/rbi/spotted/internal/type/base_model.rbi +302 -0
  240. data/rbi/spotted/internal/type/base_page.rbi +42 -0
  241. data/rbi/spotted/internal/type/boolean.rbi +58 -0
  242. data/rbi/spotted/internal/type/converter.rbi +216 -0
  243. data/rbi/spotted/internal/type/enum.rbi +82 -0
  244. data/rbi/spotted/internal/type/file_input.rbi +59 -0
  245. data/rbi/spotted/internal/type/hash_of.rbi +104 -0
  246. data/rbi/spotted/internal/type/request_parameters.rbi +29 -0
  247. data/rbi/spotted/internal/type/union.rbi +128 -0
  248. data/rbi/spotted/internal/type/unknown.rbi +58 -0
  249. data/rbi/spotted/internal/util.rbi +484 -0
  250. data/rbi/spotted/internal.rbi +16 -0
  251. data/rbi/spotted/models/album_list_params.rbi +74 -0
  252. data/rbi/spotted/models/album_list_response.rbi +479 -0
  253. data/rbi/spotted/models/album_list_tracks_params.rbi +86 -0
  254. data/rbi/spotted/models/album_restriction_object.rbi +82 -0
  255. data/rbi/spotted/models/album_retrieve_params.rbi +59 -0
  256. data/rbi/spotted/models/album_retrieve_response.rbi +439 -0
  257. data/rbi/spotted/models/artist_list_albums_params.rbi +103 -0
  258. data/rbi/spotted/models/artist_list_albums_response.rbi +338 -0
  259. data/rbi/spotted/models/artist_list_params.rbi +44 -0
  260. data/rbi/spotted/models/artist_list_related_artists_params.rbi +30 -0
  261. data/rbi/spotted/models/artist_list_related_artists_response.rbi +30 -0
  262. data/rbi/spotted/models/artist_list_response.rbi +27 -0
  263. data/rbi/spotted/models/artist_list_top_tracks_params.rbi +59 -0
  264. data/rbi/spotted/models/artist_list_top_tracks_response.rbi +30 -0
  265. data/rbi/spotted/models/artist_object.rbi +166 -0
  266. data/rbi/spotted/models/artist_retrieve_params.rbi +27 -0
  267. data/rbi/spotted/models/audio_analysis_retrieve_params.rbi +30 -0
  268. data/rbi/spotted/models/audio_analysis_retrieve_response.rbi +1080 -0
  269. data/rbi/spotted/models/audio_feature_list_params.rbi +44 -0
  270. data/rbi/spotted/models/audio_feature_list_response.rbi +382 -0
  271. data/rbi/spotted/models/audio_feature_retrieve_params.rbi +27 -0
  272. data/rbi/spotted/models/audio_feature_retrieve_response.rbi +338 -0
  273. data/rbi/spotted/models/audiobook_list_chapters_params.rbi +89 -0
  274. data/rbi/spotted/models/audiobook_list_params.rbi +74 -0
  275. data/rbi/spotted/models/audiobook_list_response.rbi +377 -0
  276. data/rbi/spotted/models/audiobook_retrieve_params.rbi +59 -0
  277. data/rbi/spotted/models/audiobook_retrieve_response.rbi +332 -0
  278. data/rbi/spotted/models/author_object.rbi +30 -0
  279. data/rbi/spotted/models/browse/category_get_playlists_params.rbi +64 -0
  280. data/rbi/spotted/models/browse/category_get_playlists_response.rbi +51 -0
  281. data/rbi/spotted/models/browse/category_list_params.rbi +89 -0
  282. data/rbi/spotted/models/browse/category_list_response.rbi +204 -0
  283. data/rbi/spotted/models/browse/category_retrieve_params.rbi +62 -0
  284. data/rbi/spotted/models/browse/category_retrieve_response.rbi +68 -0
  285. data/rbi/spotted/models/browse_get_featured_playlists_params.rbi +87 -0
  286. data/rbi/spotted/models/browse_get_featured_playlists_response.rbi +49 -0
  287. data/rbi/spotted/models/browse_get_new_releases_params.rbi +59 -0
  288. data/rbi/spotted/models/browse_get_new_releases_response.rbi +423 -0
  289. data/rbi/spotted/models/chapter_list_params.rbi +74 -0
  290. data/rbi/spotted/models/chapter_list_response.rbi +588 -0
  291. data/rbi/spotted/models/chapter_restriction_object.rbi +50 -0
  292. data/rbi/spotted/models/chapter_retrieve_params.rbi +59 -0
  293. data/rbi/spotted/models/chapter_retrieve_response.rbi +551 -0
  294. data/rbi/spotted/models/copyright_object.rbi +41 -0
  295. data/rbi/spotted/models/episode_list_params.rbi +74 -0
  296. data/rbi/spotted/models/episode_list_response.rbi +30 -0
  297. data/rbi/spotted/models/episode_object.rbi +485 -0
  298. data/rbi/spotted/models/episode_restriction_object.rbi +48 -0
  299. data/rbi/spotted/models/episode_retrieve_params.rbi +59 -0
  300. data/rbi/spotted/models/external_id_object.rbi +50 -0
  301. data/rbi/spotted/models/external_url_object.rbi +32 -0
  302. data/rbi/spotted/models/followers_object.rbi +42 -0
  303. data/rbi/spotted/models/image_object.rbi +47 -0
  304. data/rbi/spotted/models/linked_track_object.rbi +88 -0
  305. data/rbi/spotted/models/market_list_params.rbi +27 -0
  306. data/rbi/spotted/models/market_list_response.rbi +26 -0
  307. data/rbi/spotted/models/me/album_check_params.rbi +46 -0
  308. data/rbi/spotted/models/me/album_check_response.rbi +13 -0
  309. data/rbi/spotted/models/me/album_list_params.rbi +88 -0
  310. data/rbi/spotted/models/me/album_list_response.rbi +529 -0
  311. data/rbi/spotted/models/me/album_remove_params.rbi +56 -0
  312. data/rbi/spotted/models/me/album_save_params.rbi +56 -0
  313. data/rbi/spotted/models/me/audiobook_check_params.rbi +46 -0
  314. data/rbi/spotted/models/me/audiobook_check_response.rbi +13 -0
  315. data/rbi/spotted/models/me/audiobook_list_params.rbi +61 -0
  316. data/rbi/spotted/models/me/audiobook_list_response.rbi +414 -0
  317. data/rbi/spotted/models/me/audiobook_remove_params.rbi +49 -0
  318. data/rbi/spotted/models/me/audiobook_save_params.rbi +46 -0
  319. data/rbi/spotted/models/me/context_object.rbi +77 -0
  320. data/rbi/spotted/models/me/device_object.rbi +123 -0
  321. data/rbi/spotted/models/me/episode_check_params.rbi +46 -0
  322. data/rbi/spotted/models/me/episode_check_response.rbi +13 -0
  323. data/rbi/spotted/models/me/episode_list_params.rbi +88 -0
  324. data/rbi/spotted/models/me/episode_list_response.rbi +55 -0
  325. data/rbi/spotted/models/me/episode_remove_params.rbi +56 -0
  326. data/rbi/spotted/models/me/episode_save_params.rbi +53 -0
  327. data/rbi/spotted/models/me/following_check_params.rbi +86 -0
  328. data/rbi/spotted/models/me/following_check_response.rbi +13 -0
  329. data/rbi/spotted/models/me/following_follow_params.rbi +91 -0
  330. data/rbi/spotted/models/me/following_list_params.rbi +89 -0
  331. data/rbi/spotted/models/me/following_list_response.rbi +187 -0
  332. data/rbi/spotted/models/me/following_unfollow_params.rbi +97 -0
  333. data/rbi/spotted/models/me/player/queue_add_params.rbi +63 -0
  334. data/rbi/spotted/models/me/player/queue_get_params.rbi +34 -0
  335. data/rbi/spotted/models/me/player/queue_get_response.rbi +143 -0
  336. data/rbi/spotted/models/me/player_get_currently_playing_params.rbi +88 -0
  337. data/rbi/spotted/models/me/player_get_currently_playing_response.rbi +304 -0
  338. data/rbi/spotted/models/me/player_get_devices_params.rbi +32 -0
  339. data/rbi/spotted/models/me/player_get_devices_response.rbi +34 -0
  340. data/rbi/spotted/models/me/player_get_state_params.rbi +85 -0
  341. data/rbi/spotted/models/me/player_get_state_response.rbi +335 -0
  342. data/rbi/spotted/models/me/player_list_recently_played_params.rbi +77 -0
  343. data/rbi/spotted/models/me/player_list_recently_played_response.rbi +67 -0
  344. data/rbi/spotted/models/me/player_pause_playback_params.rbi +50 -0
  345. data/rbi/spotted/models/me/player_seek_to_position_params.rbi +65 -0
  346. data/rbi/spotted/models/me/player_set_repeat_mode_params.rbi +65 -0
  347. data/rbi/spotted/models/me/player_set_volume_params.rbi +61 -0
  348. data/rbi/spotted/models/me/player_skip_next_params.rbi +47 -0
  349. data/rbi/spotted/models/me/player_skip_previous_params.rbi +50 -0
  350. data/rbi/spotted/models/me/player_start_playback_params.rbi +113 -0
  351. data/rbi/spotted/models/me/player_toggle_shuffle_params.rbi +63 -0
  352. data/rbi/spotted/models/me/player_transfer_params.rbi +66 -0
  353. data/rbi/spotted/models/me/playlist_list_params.rbi +61 -0
  354. data/rbi/spotted/models/me/show_check_params.rbi +46 -0
  355. data/rbi/spotted/models/me/show_check_response.rbi +13 -0
  356. data/rbi/spotted/models/me/show_list_params.rbi +61 -0
  357. data/rbi/spotted/models/me/show_list_response.rbi +277 -0
  358. data/rbi/spotted/models/me/show_remove_params.rbi +83 -0
  359. data/rbi/spotted/models/me/show_save_params.rbi +56 -0
  360. data/rbi/spotted/models/me/top_list_top_artists_params.rbi +81 -0
  361. data/rbi/spotted/models/me/top_list_top_tracks_params.rbi +81 -0
  362. data/rbi/spotted/models/me/track_check_params.rbi +46 -0
  363. data/rbi/spotted/models/me/track_check_response.rbi +13 -0
  364. data/rbi/spotted/models/me/track_list_params.rbi +88 -0
  365. data/rbi/spotted/models/me/track_list_response.rbi +58 -0
  366. data/rbi/spotted/models/me/track_remove_params.rbi +56 -0
  367. data/rbi/spotted/models/me/track_save_params.rbi +130 -0
  368. data/rbi/spotted/models/me_retrieve_params.rbi +27 -0
  369. data/rbi/spotted/models/me_retrieve_response.rbi +257 -0
  370. data/rbi/spotted/models/narrator_object.rbi +30 -0
  371. data/rbi/spotted/models/paging_playlist_object.rbi +83 -0
  372. data/rbi/spotted/models/playlist_retrieve_params.rbi +112 -0
  373. data/rbi/spotted/models/playlist_retrieve_response.rbi +327 -0
  374. data/rbi/spotted/models/playlist_track_object.rbi +101 -0
  375. data/rbi/spotted/models/playlist_tracks_ref_object.rbi +41 -0
  376. data/rbi/spotted/models/playlist_update_params.rbi +93 -0
  377. data/rbi/spotted/models/playlist_user_object.rbi +109 -0
  378. data/rbi/spotted/models/playlists/follower_check_params.rbi +52 -0
  379. data/rbi/spotted/models/playlists/follower_check_response.rbi +13 -0
  380. data/rbi/spotted/models/playlists/follower_follow_params.rbi +54 -0
  381. data/rbi/spotted/models/playlists/follower_unfollow_params.rbi +32 -0
  382. data/rbi/spotted/models/playlists/image_list_params.rbi +32 -0
  383. data/rbi/spotted/models/playlists/image_list_response.rbi +13 -0
  384. data/rbi/spotted/models/playlists/image_update_params.rbi +45 -0
  385. data/rbi/spotted/models/playlists/track_add_params.rbi +82 -0
  386. data/rbi/spotted/models/playlists/track_add_response.rbi +31 -0
  387. data/rbi/spotted/models/playlists/track_list_params.rbi +141 -0
  388. data/rbi/spotted/models/playlists/track_remove_params.rbi +100 -0
  389. data/rbi/spotted/models/playlists/track_remove_response.rbi +31 -0
  390. data/rbi/spotted/models/playlists/track_update_params.rbi +111 -0
  391. data/rbi/spotted/models/playlists/track_update_response.rbi +31 -0
  392. data/rbi/spotted/models/recommendation_get_params.rbi +864 -0
  393. data/rbi/spotted/models/recommendation_get_response.rbi +152 -0
  394. data/rbi/spotted/models/recommendation_list_available_genre_seeds_params.rbi +30 -0
  395. data/rbi/spotted/models/recommendation_list_available_genre_seeds_response.rbi +26 -0
  396. data/rbi/spotted/models/resume_point_object.rbi +47 -0
  397. data/rbi/spotted/models/search_retrieve_params.rbi +218 -0
  398. data/rbi/spotted/models/search_retrieve_response.rbi +1381 -0
  399. data/rbi/spotted/models/show_list_episodes_params.rbi +86 -0
  400. data/rbi/spotted/models/show_list_params.rbi +74 -0
  401. data/rbi/spotted/models/show_list_response.rbi +238 -0
  402. data/rbi/spotted/models/show_retrieve_params.rbi +59 -0
  403. data/rbi/spotted/models/show_retrieve_response.rbi +305 -0
  404. data/rbi/spotted/models/simplified_artist_object.rbi +121 -0
  405. data/rbi/spotted/models/simplified_chapter_object.rbi +287 -0
  406. data/rbi/spotted/models/simplified_episode_object.rbi +289 -0
  407. data/rbi/spotted/models/simplified_playlist_object.rbi +230 -0
  408. data/rbi/spotted/models/simplified_track_object.rbi +239 -0
  409. data/rbi/spotted/models/time_interval_object.rbi +54 -0
  410. data/rbi/spotted/models/track_list_params.rbi +74 -0
  411. data/rbi/spotted/models/track_list_response.rbi +27 -0
  412. data/rbi/spotted/models/track_object.rbi +556 -0
  413. data/rbi/spotted/models/track_restriction_object.rbi +48 -0
  414. data/rbi/spotted/models/track_retrieve_params.rbi +59 -0
  415. data/rbi/spotted/models/user_retrieve_profile_params.rbi +27 -0
  416. data/rbi/spotted/models/user_retrieve_profile_response.rbi +159 -0
  417. data/rbi/spotted/models/users/playlist_create_params.rbi +107 -0
  418. data/rbi/spotted/models/users/playlist_create_response.rbi +336 -0
  419. data/rbi/spotted/models/users/playlist_list_params.rbi +64 -0
  420. data/rbi/spotted/models.rbi +132 -0
  421. data/rbi/spotted/request_options.rbi +57 -0
  422. data/rbi/spotted/resources/albums.rbi +100 -0
  423. data/rbi/spotted/resources/artists.rbi +129 -0
  424. data/rbi/spotted/resources/audio_analysis.rbi +29 -0
  425. data/rbi/spotted/resources/audio_features.rbi +44 -0
  426. data/rbi/spotted/resources/audiobooks.rbi +105 -0
  427. data/rbi/spotted/resources/browse/categories.rbi +91 -0
  428. data/rbi/spotted/resources/browse.rbi +63 -0
  429. data/rbi/spotted/resources/chapters.rbi +69 -0
  430. data/rbi/spotted/resources/episodes.rbi +66 -0
  431. data/rbi/spotted/resources/markets.rbi +21 -0
  432. data/rbi/spotted/resources/me/albums.rbi +101 -0
  433. data/rbi/spotted/resources/me/audiobooks.rbi +86 -0
  434. data/rbi/spotted/resources/me/episodes.rbi +112 -0
  435. data/rbi/spotted/resources/me/following.rbi +99 -0
  436. data/rbi/spotted/resources/me/player/queue.rbi +45 -0
  437. data/rbi/spotted/resources/me/player.rbi +315 -0
  438. data/rbi/spotted/resources/me/playlists.rbi +34 -0
  439. data/rbi/spotted/resources/me/shows.rbi +101 -0
  440. data/rbi/spotted/resources/me/top.rbi +62 -0
  441. data/rbi/spotted/resources/me/tracks.rbi +112 -0
  442. data/rbi/spotted/resources/me.rbi +49 -0
  443. data/rbi/spotted/resources/playlists/followers.rbi +70 -0
  444. data/rbi/spotted/resources/playlists/images.rbi +47 -0
  445. data/rbi/spotted/resources/playlists/tracks.rbi +177 -0
  446. data/rbi/spotted/resources/playlists.rbi +102 -0
  447. data/rbi/spotted/resources/recommendations.rbi +336 -0
  448. data/rbi/spotted/resources/search.rbi +71 -0
  449. data/rbi/spotted/resources/shows.rbi +100 -0
  450. data/rbi/spotted/resources/tracks.rbi +66 -0
  451. data/rbi/spotted/resources/users/playlists.rbi +78 -0
  452. data/rbi/spotted/resources/users.rbi +29 -0
  453. data/rbi/spotted/version.rbi +5 -0
  454. data/sig/spotted/client.rbs +62 -0
  455. data/sig/spotted/errors.rbs +117 -0
  456. data/sig/spotted/file_part.rbs +21 -0
  457. data/sig/spotted/internal/cursor_url_page.rbs +13 -0
  458. data/sig/spotted/internal/oauth2.rbs +19 -0
  459. data/sig/spotted/internal/transport/base_client.rbs +131 -0
  460. data/sig/spotted/internal/transport/pooled_net_requester.rbs +45 -0
  461. data/sig/spotted/internal/type/array_of.rbs +48 -0
  462. data/sig/spotted/internal/type/base_model.rbs +102 -0
  463. data/sig/spotted/internal/type/base_page.rbs +24 -0
  464. data/sig/spotted/internal/type/boolean.rbs +26 -0
  465. data/sig/spotted/internal/type/converter.rbs +79 -0
  466. data/sig/spotted/internal/type/enum.rbs +32 -0
  467. data/sig/spotted/internal/type/file_input.rbs +25 -0
  468. data/sig/spotted/internal/type/hash_of.rbs +48 -0
  469. data/sig/spotted/internal/type/request_parameters.rbs +17 -0
  470. data/sig/spotted/internal/type/union.rbs +52 -0
  471. data/sig/spotted/internal/type/unknown.rbs +26 -0
  472. data/sig/spotted/internal/util.rbs +185 -0
  473. data/sig/spotted/internal.rbs +9 -0
  474. data/sig/spotted/models/album_list_params.rbs +30 -0
  475. data/sig/spotted/models/album_list_response.rbs +237 -0
  476. data/sig/spotted/models/album_list_tracks_params.rbs +38 -0
  477. data/sig/spotted/models/album_restriction_object.rbs +34 -0
  478. data/sig/spotted/models/album_retrieve_params.rbs +25 -0
  479. data/sig/spotted/models/album_retrieve_response.rbs +222 -0
  480. data/sig/spotted/models/artist_list_albums_params.rbs +49 -0
  481. data/sig/spotted/models/artist_list_albums_response.rbs +141 -0
  482. data/sig/spotted/models/artist_list_params.rbs +20 -0
  483. data/sig/spotted/models/artist_list_related_artists_params.rbs +15 -0
  484. data/sig/spotted/models/artist_list_related_artists_response.rbs +14 -0
  485. data/sig/spotted/models/artist_list_response.rbs +13 -0
  486. data/sig/spotted/models/artist_list_top_tracks_params.rbs +25 -0
  487. data/sig/spotted/models/artist_list_top_tracks_response.rbs +14 -0
  488. data/sig/spotted/models/artist_object.rbs +101 -0
  489. data/sig/spotted/models/artist_retrieve_params.rbs +15 -0
  490. data/sig/spotted/models/audio_analysis_retrieve_params.rbs +15 -0
  491. data/sig/spotted/models/audio_analysis_retrieve_response.rbs +518 -0
  492. data/sig/spotted/models/audio_feature_list_params.rbs +20 -0
  493. data/sig/spotted/models/audio_feature_list_response.rbs +170 -0
  494. data/sig/spotted/models/audio_feature_retrieve_params.rbs +15 -0
  495. data/sig/spotted/models/audio_feature_retrieve_response.rbs +153 -0
  496. data/sig/spotted/models/audiobook_list_chapters_params.rbs +38 -0
  497. data/sig/spotted/models/audiobook_list_params.rbs +30 -0
  498. data/sig/spotted/models/audiobook_list_response.rbs +189 -0
  499. data/sig/spotted/models/audiobook_retrieve_params.rbs +25 -0
  500. data/sig/spotted/models/audiobook_retrieve_response.rbs +174 -0
  501. data/sig/spotted/models/author_object.rbs +15 -0
  502. data/sig/spotted/models/browse/category_get_playlists_params.rbs +34 -0
  503. data/sig/spotted/models/browse/category_get_playlists_response.rbs +30 -0
  504. data/sig/spotted/models/browse/category_list_params.rbs +40 -0
  505. data/sig/spotted/models/browse/category_list_response.rbs +101 -0
  506. data/sig/spotted/models/browse/category_retrieve_params.rbs +27 -0
  507. data/sig/spotted/models/browse/category_retrieve_response.rbs +37 -0
  508. data/sig/spotted/models/browse_get_featured_playlists_params.rbs +38 -0
  509. data/sig/spotted/models/browse_get_featured_playlists_response.rbs +28 -0
  510. data/sig/spotted/models/browse_get_new_releases_params.rbs +32 -0
  511. data/sig/spotted/models/browse_get_new_releases_response.rbs +185 -0
  512. data/sig/spotted/models/chapter_list_params.rbs +30 -0
  513. data/sig/spotted/models/chapter_list_response.rbs +286 -0
  514. data/sig/spotted/models/chapter_restriction_object.rbs +15 -0
  515. data/sig/spotted/models/chapter_retrieve_params.rbs +25 -0
  516. data/sig/spotted/models/chapter_retrieve_response.rbs +271 -0
  517. data/sig/spotted/models/copyright_object.rbs +19 -0
  518. data/sig/spotted/models/episode_list_params.rbs +30 -0
  519. data/sig/spotted/models/episode_list_response.rbs +13 -0
  520. data/sig/spotted/models/episode_object.rbs +259 -0
  521. data/sig/spotted/models/episode_restriction_object.rbs +15 -0
  522. data/sig/spotted/models/episode_retrieve_params.rbs +25 -0
  523. data/sig/spotted/models/external_id_object.rbs +23 -0
  524. data/sig/spotted/models/external_url_object.rbs +15 -0
  525. data/sig/spotted/models/followers_object.rbs +17 -0
  526. data/sig/spotted/models/image_object.rbs +17 -0
  527. data/sig/spotted/models/linked_track_object.rbs +52 -0
  528. data/sig/spotted/models/market_list_params.rbs +14 -0
  529. data/sig/spotted/models/market_list_response.rbs +15 -0
  530. data/sig/spotted/models/me/album_check_params.rbs +25 -0
  531. data/sig/spotted/models/me/album_check_response.rbs +9 -0
  532. data/sig/spotted/models/me/album_list_params.rbs +40 -0
  533. data/sig/spotted/models/me/album_list_response.rbs +249 -0
  534. data/sig/spotted/models/me/album_remove_params.rbs +28 -0
  535. data/sig/spotted/models/me/album_save_params.rbs +28 -0
  536. data/sig/spotted/models/me/audiobook_check_params.rbs +25 -0
  537. data/sig/spotted/models/me/audiobook_check_response.rbs +9 -0
  538. data/sig/spotted/models/me/audiobook_list_params.rbs +34 -0
  539. data/sig/spotted/models/me/audiobook_list_response.rbs +204 -0
  540. data/sig/spotted/models/me/audiobook_remove_params.rbs +25 -0
  541. data/sig/spotted/models/me/audiobook_save_params.rbs +25 -0
  542. data/sig/spotted/models/me/context_object.rbs +47 -0
  543. data/sig/spotted/models/me/device_object.rbs +69 -0
  544. data/sig/spotted/models/me/episode_check_params.rbs +25 -0
  545. data/sig/spotted/models/me/episode_check_response.rbs +9 -0
  546. data/sig/spotted/models/me/episode_list_params.rbs +40 -0
  547. data/sig/spotted/models/me/episode_list_response.rbs +25 -0
  548. data/sig/spotted/models/me/episode_remove_params.rbs +28 -0
  549. data/sig/spotted/models/me/episode_save_params.rbs +26 -0
  550. data/sig/spotted/models/me/following_check_params.rbs +41 -0
  551. data/sig/spotted/models/me/following_check_response.rbs +9 -0
  552. data/sig/spotted/models/me/following_follow_params.rbs +44 -0
  553. data/sig/spotted/models/me/following_list_params.rbs +52 -0
  554. data/sig/spotted/models/me/following_list_response.rbs +94 -0
  555. data/sig/spotted/models/me/following_unfollow_params.rbs +46 -0
  556. data/sig/spotted/models/me/player/queue_add_params.rbs +34 -0
  557. data/sig/spotted/models/me/player/queue_get_params.rbs +19 -0
  558. data/sig/spotted/models/me/player/queue_get_response.rbs +53 -0
  559. data/sig/spotted/models/me/player_get_currently_playing_params.rbs +34 -0
  560. data/sig/spotted/models/me/player_get_currently_playing_response.rbs +160 -0
  561. data/sig/spotted/models/me/player_get_devices_params.rbs +17 -0
  562. data/sig/spotted/models/me/player_get_devices_response.rbs +16 -0
  563. data/sig/spotted/models/me/player_get_state_params.rbs +34 -0
  564. data/sig/spotted/models/me/player_get_state_response.rbs +181 -0
  565. data/sig/spotted/models/me/player_list_recently_played_params.rbs +40 -0
  566. data/sig/spotted/models/me/player_list_recently_played_response.rbs +38 -0
  567. data/sig/spotted/models/me/player_pause_playback_params.rbs +27 -0
  568. data/sig/spotted/models/me/player_seek_to_position_params.rbs +32 -0
  569. data/sig/spotted/models/me/player_set_repeat_mode_params.rbs +32 -0
  570. data/sig/spotted/models/me/player_set_volume_params.rbs +32 -0
  571. data/sig/spotted/models/me/player_skip_next_params.rbs +27 -0
  572. data/sig/spotted/models/me/player_skip_previous_params.rbs +27 -0
  573. data/sig/spotted/models/me/player_start_playback_params.rbs +58 -0
  574. data/sig/spotted/models/me/player_toggle_shuffle_params.rbs +32 -0
  575. data/sig/spotted/models/me/player_transfer_params.rbs +32 -0
  576. data/sig/spotted/models/me/playlist_list_params.rbs +34 -0
  577. data/sig/spotted/models/me/show_check_params.rbs +25 -0
  578. data/sig/spotted/models/me/show_check_response.rbs +9 -0
  579. data/sig/spotted/models/me/show_list_params.rbs +34 -0
  580. data/sig/spotted/models/me/show_list_response.rbs +137 -0
  581. data/sig/spotted/models/me/show_remove_params.rbs +34 -0
  582. data/sig/spotted/models/me/show_save_params.rbs +28 -0
  583. data/sig/spotted/models/me/top_list_top_artists_params.rbs +40 -0
  584. data/sig/spotted/models/me/top_list_top_tracks_params.rbs +40 -0
  585. data/sig/spotted/models/me/track_check_params.rbs +25 -0
  586. data/sig/spotted/models/me/track_check_response.rbs +9 -0
  587. data/sig/spotted/models/me/track_list_params.rbs +40 -0
  588. data/sig/spotted/models/me/track_list_response.rbs +21 -0
  589. data/sig/spotted/models/me/track_remove_params.rbs +28 -0
  590. data/sig/spotted/models/me/track_save_params.rbs +49 -0
  591. data/sig/spotted/models/me_retrieve_params.rbs +14 -0
  592. data/sig/spotted/models/me_retrieve_response.rbs +121 -0
  593. data/sig/spotted/models/narrator_object.rbs +15 -0
  594. data/sig/spotted/models/paging_playlist_object.rbs +50 -0
  595. data/sig/spotted/models/playlist_retrieve_params.rbs +38 -0
  596. data/sig/spotted/models/playlist_retrieve_response.rbs +178 -0
  597. data/sig/spotted/models/playlist_track_object.rbs +55 -0
  598. data/sig/spotted/models/playlist_tracks_ref_object.rbs +19 -0
  599. data/sig/spotted/models/playlist_update_params.rbs +44 -0
  600. data/sig/spotted/models/playlist_user_object.rbs +64 -0
  601. data/sig/spotted/models/playlists/follower_check_params.rbs +27 -0
  602. data/sig/spotted/models/playlists/follower_check_response.rbs +9 -0
  603. data/sig/spotted/models/playlists/follower_follow_params.rbs +27 -0
  604. data/sig/spotted/models/playlists/follower_unfollow_params.rbs +17 -0
  605. data/sig/spotted/models/playlists/image_list_params.rbs +17 -0
  606. data/sig/spotted/models/playlists/image_list_response.rbs +9 -0
  607. data/sig/spotted/models/playlists/image_update_params.rbs +25 -0
  608. data/sig/spotted/models/playlists/track_add_params.rbs +34 -0
  609. data/sig/spotted/models/playlists/track_add_response.rbs +17 -0
  610. data/sig/spotted/models/playlists/track_list_params.rbs +58 -0
  611. data/sig/spotted/models/playlists/track_remove_params.rbs +47 -0
  612. data/sig/spotted/models/playlists/track_remove_response.rbs +17 -0
  613. data/sig/spotted/models/playlists/track_update_params.rbs +58 -0
  614. data/sig/spotted/models/playlists/track_update_response.rbs +17 -0
  615. data/sig/spotted/models/recommendation_get_params.rbs +350 -0
  616. data/sig/spotted/models/recommendation_get_response.rbs +79 -0
  617. data/sig/spotted/models/recommendation_list_available_genre_seeds_params.rbs +15 -0
  618. data/sig/spotted/models/recommendation_list_available_genre_seeds_response.rbs +14 -0
  619. data/sig/spotted/models/resume_point_object.rbs +23 -0
  620. data/sig/spotted/models/search_retrieve_params.rbs +88 -0
  621. data/sig/spotted/models/search_retrieve_response.rbs +706 -0
  622. data/sig/spotted/models/show_list_episodes_params.rbs +38 -0
  623. data/sig/spotted/models/show_list_params.rbs +30 -0
  624. data/sig/spotted/models/show_list_response.rbs +125 -0
  625. data/sig/spotted/models/show_retrieve_params.rbs +25 -0
  626. data/sig/spotted/models/show_retrieve_response.rbs +162 -0
  627. data/sig/spotted/models/simplified_artist_object.rbs +71 -0
  628. data/sig/spotted/models/simplified_chapter_object.rbs +147 -0
  629. data/sig/spotted/models/simplified_episode_object.rbs +147 -0
  630. data/sig/spotted/models/simplified_playlist_object.rbs +126 -0
  631. data/sig/spotted/models/simplified_track_object.rbs +140 -0
  632. data/sig/spotted/models/time_interval_object.rbs +28 -0
  633. data/sig/spotted/models/track_list_params.rbs +30 -0
  634. data/sig/spotted/models/track_list_response.rbs +13 -0
  635. data/sig/spotted/models/track_object.rbs +295 -0
  636. data/sig/spotted/models/track_restriction_object.rbs +15 -0
  637. data/sig/spotted/models/track_retrieve_params.rbs +25 -0
  638. data/sig/spotted/models/user_retrieve_profile_params.rbs +15 -0
  639. data/sig/spotted/models/user_retrieve_profile_response.rbs +85 -0
  640. data/sig/spotted/models/users/playlist_create_params.rbs +44 -0
  641. data/sig/spotted/models/users/playlist_create_response.rbs +180 -0
  642. data/sig/spotted/models/users/playlist_list_params.rbs +34 -0
  643. data/sig/spotted/models.rbs +127 -0
  644. data/sig/spotted/request_options.rbs +34 -0
  645. data/sig/spotted/resources/albums.rbs +27 -0
  646. data/sig/spotted/resources/artists.rbs +37 -0
  647. data/sig/spotted/resources/audio_analysis.rbs +12 -0
  648. data/sig/spotted/resources/audio_features.rbs +17 -0
  649. data/sig/spotted/resources/audiobooks.rbs +27 -0
  650. data/sig/spotted/resources/browse/categories.rbs +29 -0
  651. data/sig/spotted/resources/browse.rbs +22 -0
  652. data/sig/spotted/resources/chapters.rbs +19 -0
  653. data/sig/spotted/resources/episodes.rbs +19 -0
  654. data/sig/spotted/resources/markets.rbs +11 -0
  655. data/sig/spotted/resources/me/albums.rbs +31 -0
  656. data/sig/spotted/resources/me/audiobooks.rbs +27 -0
  657. data/sig/spotted/resources/me/episodes.rbs +31 -0
  658. data/sig/spotted/resources/me/following.rbs +34 -0
  659. data/sig/spotted/resources/me/player/queue.rbs +21 -0
  660. data/sig/spotted/resources/me/player.rbs +88 -0
  661. data/sig/spotted/resources/me/playlists.rbs +15 -0
  662. data/sig/spotted/resources/me/shows.rbs +31 -0
  663. data/sig/spotted/resources/me/top.rbs +23 -0
  664. data/sig/spotted/resources/me/tracks.rbs +32 -0
  665. data/sig/spotted/resources/me.rbs +29 -0
  666. data/sig/spotted/resources/playlists/followers.rbs +26 -0
  667. data/sig/spotted/resources/playlists/images.rbs +20 -0
  668. data/sig/spotted/resources/playlists/tracks.rbs +43 -0
  669. data/sig/spotted/resources/playlists.rbs +30 -0
  670. data/sig/spotted/resources/recommendations.rbs +62 -0
  671. data/sig/spotted/resources/search.rbs +17 -0
  672. data/sig/spotted/resources/shows.rbs +27 -0
  673. data/sig/spotted/resources/tracks.rbs +19 -0
  674. data/sig/spotted/resources/users/playlists.rbs +25 -0
  675. data/sig/spotted/resources/users.rbs +14 -0
  676. data/sig/spotted/version.rbs +3 -0
  677. metadata +734 -0
@@ -0,0 +1,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Me
6
+ class Following
7
+ # Some parameter documentations has been truncated, see
8
+ # {Spotted::Models::Me::FollowingListParams} for more details.
9
+ #
10
+ # Get the current user's followed artists.
11
+ #
12
+ # @overload list(type:, after: nil, limit: nil, request_options: {})
13
+ #
14
+ # @param type [Symbol, Spotted::Models::Me::FollowingListParams::Type] The ID type: currently only `artist` is supported.
15
+ #
16
+ # @param after [String] The last artist ID retrieved from the previous request.
17
+ #
18
+ # @param limit [Integer] The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
19
+ #
20
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
21
+ #
22
+ # @return [Spotted::Models::Me::FollowingListResponse]
23
+ #
24
+ # @see Spotted::Models::Me::FollowingListParams
25
+ def list(params)
26
+ parsed, options = Spotted::Me::FollowingListParams.dump_request(params)
27
+ @client.request(
28
+ method: :get,
29
+ path: "me/following",
30
+ query: parsed,
31
+ model: Spotted::Models::Me::FollowingListResponse,
32
+ options: options
33
+ )
34
+ end
35
+
36
+ # Some parameter documentations has been truncated, see
37
+ # {Spotted::Models::Me::FollowingCheckParams} for more details.
38
+ #
39
+ # Check to see if the current user is following one or more artists or other
40
+ # Spotify users.
41
+ #
42
+ # @overload check(ids:, type:, request_options: {})
43
+ #
44
+ # @param ids [String] A comma-separated list of the artist or the user [Spotify IDs](/documentation/we
45
+ #
46
+ # @param type [Symbol, Spotted::Models::Me::FollowingCheckParams::Type] The ID type: either `artist` or `user`.
47
+ #
48
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
49
+ #
50
+ # @return [Array<Boolean>]
51
+ #
52
+ # @see Spotted::Models::Me::FollowingCheckParams
53
+ def check(params)
54
+ parsed, options = Spotted::Me::FollowingCheckParams.dump_request(params)
55
+ @client.request(
56
+ method: :get,
57
+ path: "me/following/contains",
58
+ query: parsed,
59
+ model: Spotted::Internal::Type::ArrayOf[Spotted::Internal::Type::Boolean],
60
+ options: options
61
+ )
62
+ end
63
+
64
+ # Some parameter documentations has been truncated, see
65
+ # {Spotted::Models::Me::FollowingFollowParams} for more details.
66
+ #
67
+ # Add the current user as a follower of one or more artists or other Spotify
68
+ # users.
69
+ #
70
+ # @overload follow(body_ids:, type:, request_options: {})
71
+ #
72
+ # @param body_ids [Array<String>] Body param: A JSON array of the artist or user [Spotify IDs](/documentation/web-
73
+ #
74
+ # @param type [Symbol, Spotted::Models::Me::FollowingFollowParams::Type] Query param: The ID type.
75
+ #
76
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
77
+ #
78
+ # @return [nil]
79
+ #
80
+ # @see Spotted::Models::Me::FollowingFollowParams
81
+ def follow(params)
82
+ parsed, options = Spotted::Me::FollowingFollowParams.dump_request(params)
83
+ query_params = [:query_ids, :type]
84
+ @client.request(
85
+ method: :put,
86
+ path: "me/following",
87
+ query: parsed.slice(*query_params).transform_keys(query_ids: "ids"),
88
+ body: parsed.except(*query_params),
89
+ model: NilClass,
90
+ options: options
91
+ )
92
+ end
93
+
94
+ # Some parameter documentations has been truncated, see
95
+ # {Spotted::Models::Me::FollowingUnfollowParams} for more details.
96
+ #
97
+ # Remove the current user as a follower of one or more artists or other Spotify
98
+ # users.
99
+ #
100
+ # @overload unfollow(type:, body_ids: nil, request_options: {})
101
+ #
102
+ # @param type [Symbol, Spotted::Models::Me::FollowingUnfollowParams::Type] Query param: The ID type: either `artist` or `user`.
103
+ #
104
+ # @param body_ids [Array<String>] Body param: A JSON array of the artist or user [Spotify IDs](/documentation/web-
105
+ #
106
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
107
+ #
108
+ # @return [nil]
109
+ #
110
+ # @see Spotted::Models::Me::FollowingUnfollowParams
111
+ def unfollow(params)
112
+ parsed, options = Spotted::Me::FollowingUnfollowParams.dump_request(params)
113
+ query_params = [:query_ids, :type]
114
+ @client.request(
115
+ method: :delete,
116
+ path: "me/following",
117
+ query: parsed.slice(*query_params).transform_keys(query_ids: "ids"),
118
+ body: parsed.except(*query_params),
119
+ model: NilClass,
120
+ options: options
121
+ )
122
+ end
123
+
124
+ # @api private
125
+ #
126
+ # @param client [Spotted::Client]
127
+ def initialize(client:)
128
+ @client = client
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Me
6
+ class Player
7
+ class Queue
8
+ # Some parameter documentations has been truncated, see
9
+ # {Spotted::Models::Me::Player::QueueAddParams} for more details.
10
+ #
11
+ # Add an item to be played next in the user's current playback queue. This API
12
+ # only works for users who have Spotify Premium. The order of execution is not
13
+ # guaranteed when you use this API with other Player API endpoints.
14
+ #
15
+ # @overload add(uri:, device_id: nil, request_options: {})
16
+ #
17
+ # @param uri [String] The uri of the item to add to the queue. Must be a track or an episode uri.
18
+ #
19
+ # @param device_id [String] The id of the device this command is targeting. If
20
+ #
21
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
22
+ #
23
+ # @return [nil]
24
+ #
25
+ # @see Spotted::Models::Me::Player::QueueAddParams
26
+ def add(params)
27
+ parsed, options = Spotted::Me::Player::QueueAddParams.dump_request(params)
28
+ @client.request(
29
+ method: :post,
30
+ path: "me/player/queue",
31
+ query: parsed,
32
+ model: NilClass,
33
+ options: options
34
+ )
35
+ end
36
+
37
+ # Get the list of objects that make up the user's queue.
38
+ #
39
+ # @overload get(request_options: {})
40
+ #
41
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
42
+ #
43
+ # @return [Spotted::Models::Me::Player::QueueGetResponse]
44
+ #
45
+ # @see Spotted::Models::Me::Player::QueueGetParams
46
+ def get(params = {})
47
+ @client.request(
48
+ method: :get,
49
+ path: "me/player/queue",
50
+ model: Spotted::Models::Me::Player::QueueGetResponse,
51
+ options: params[:request_options]
52
+ )
53
+ end
54
+
55
+ # @api private
56
+ #
57
+ # @param client [Spotted::Client]
58
+ def initialize(client:)
59
+ @client = client
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,382 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Me
6
+ class Player
7
+ # @return [Spotted::Resources::Me::Player::Queue]
8
+ attr_reader :queue
9
+
10
+ # Some parameter documentations has been truncated, see
11
+ # {Spotted::Models::Me::PlayerGetCurrentlyPlayingParams} for more details.
12
+ #
13
+ # Get the object currently being played on the user's Spotify account.
14
+ #
15
+ # @overload get_currently_playing(additional_types: nil, market: nil, request_options: {})
16
+ #
17
+ # @param additional_types [String] A comma-separated list of item types that your client supports besides the defau
18
+ #
19
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
20
+ #
21
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
22
+ #
23
+ # @return [Spotted::Models::Me::PlayerGetCurrentlyPlayingResponse]
24
+ #
25
+ # @see Spotted::Models::Me::PlayerGetCurrentlyPlayingParams
26
+ def get_currently_playing(params = {})
27
+ parsed, options = Spotted::Me::PlayerGetCurrentlyPlayingParams.dump_request(params)
28
+ @client.request(
29
+ method: :get,
30
+ path: "me/player/currently-playing",
31
+ query: parsed,
32
+ model: Spotted::Models::Me::PlayerGetCurrentlyPlayingResponse,
33
+ options: options
34
+ )
35
+ end
36
+
37
+ # Get information about a user’s available Spotify Connect devices. Some device
38
+ # models are not supported and will not be listed in the API response.
39
+ #
40
+ # @overload get_devices(request_options: {})
41
+ #
42
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
43
+ #
44
+ # @return [Spotted::Models::Me::PlayerGetDevicesResponse]
45
+ #
46
+ # @see Spotted::Models::Me::PlayerGetDevicesParams
47
+ def get_devices(params = {})
48
+ @client.request(
49
+ method: :get,
50
+ path: "me/player/devices",
51
+ model: Spotted::Models::Me::PlayerGetDevicesResponse,
52
+ options: params[:request_options]
53
+ )
54
+ end
55
+
56
+ # Some parameter documentations has been truncated, see
57
+ # {Spotted::Models::Me::PlayerGetStateParams} for more details.
58
+ #
59
+ # Get information about the user’s current playback state, including track or
60
+ # episode, progress, and active device.
61
+ #
62
+ # @overload get_state(additional_types: nil, market: nil, request_options: {})
63
+ #
64
+ # @param additional_types [String] A comma-separated list of item types that your client supports besides the defau
65
+ #
66
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
67
+ #
68
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
69
+ #
70
+ # @return [Spotted::Models::Me::PlayerGetStateResponse]
71
+ #
72
+ # @see Spotted::Models::Me::PlayerGetStateParams
73
+ def get_state(params = {})
74
+ parsed, options = Spotted::Me::PlayerGetStateParams.dump_request(params)
75
+ @client.request(
76
+ method: :get,
77
+ path: "me/player",
78
+ query: parsed,
79
+ model: Spotted::Models::Me::PlayerGetStateResponse,
80
+ options: options
81
+ )
82
+ end
83
+
84
+ # Some parameter documentations has been truncated, see
85
+ # {Spotted::Models::Me::PlayerListRecentlyPlayedParams} for more details.
86
+ #
87
+ # Get tracks from the current user's recently played tracks. _**Note**: Currently
88
+ # doesn't support podcast episodes._
89
+ #
90
+ # @overload list_recently_played(after: nil, before: nil, limit: nil, request_options: {})
91
+ #
92
+ # @param after [Integer] A Unix timestamp in milliseconds. Returns all items
93
+ #
94
+ # @param before [Integer] A Unix timestamp in milliseconds. Returns all items
95
+ #
96
+ # @param limit [Integer] The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
97
+ #
98
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
99
+ #
100
+ # @return [Spotted::Internal::CursorURLPage<Spotted::Models::Me::PlayerListRecentlyPlayedResponse>]
101
+ #
102
+ # @see Spotted::Models::Me::PlayerListRecentlyPlayedParams
103
+ def list_recently_played(params = {})
104
+ parsed, options = Spotted::Me::PlayerListRecentlyPlayedParams.dump_request(params)
105
+ @client.request(
106
+ method: :get,
107
+ path: "me/player/recently-played",
108
+ query: parsed,
109
+ page: Spotted::Internal::CursorURLPage,
110
+ model: Spotted::Models::Me::PlayerListRecentlyPlayedResponse,
111
+ options: options
112
+ )
113
+ end
114
+
115
+ # Some parameter documentations has been truncated, see
116
+ # {Spotted::Models::Me::PlayerPausePlaybackParams} for more details.
117
+ #
118
+ # Pause playback on the user's account. This API only works for users who have
119
+ # Spotify Premium. The order of execution is not guaranteed when you use this API
120
+ # with other Player API endpoints.
121
+ #
122
+ # @overload pause_playback(device_id: nil, request_options: {})
123
+ #
124
+ # @param device_id [String] The id of the device this command is targeting. If not supplied, the user's curr
125
+ #
126
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
127
+ #
128
+ # @return [nil]
129
+ #
130
+ # @see Spotted::Models::Me::PlayerPausePlaybackParams
131
+ def pause_playback(params = {})
132
+ parsed, options = Spotted::Me::PlayerPausePlaybackParams.dump_request(params)
133
+ @client.request(
134
+ method: :put,
135
+ path: "me/player/pause",
136
+ query: parsed,
137
+ model: NilClass,
138
+ options: options
139
+ )
140
+ end
141
+
142
+ # Some parameter documentations has been truncated, see
143
+ # {Spotted::Models::Me::PlayerSeekToPositionParams} for more details.
144
+ #
145
+ # Seeks to the given position in the user’s currently playing track. This API only
146
+ # works for users who have Spotify Premium. The order of execution is not
147
+ # guaranteed when you use this API with other Player API endpoints.
148
+ #
149
+ # @overload seek_to_position(position_ms:, device_id: nil, request_options: {})
150
+ #
151
+ # @param position_ms [Integer] The position in milliseconds to seek to. Must be a
152
+ #
153
+ # @param device_id [String] The id of the device this command is targeting. If
154
+ #
155
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
156
+ #
157
+ # @return [nil]
158
+ #
159
+ # @see Spotted::Models::Me::PlayerSeekToPositionParams
160
+ def seek_to_position(params)
161
+ parsed, options = Spotted::Me::PlayerSeekToPositionParams.dump_request(params)
162
+ @client.request(
163
+ method: :put,
164
+ path: "me/player/seek",
165
+ query: parsed,
166
+ model: NilClass,
167
+ options: options
168
+ )
169
+ end
170
+
171
+ # Some parameter documentations has been truncated, see
172
+ # {Spotted::Models::Me::PlayerSetRepeatModeParams} for more details.
173
+ #
174
+ # Set the repeat mode for the user's playback. This API only works for users who
175
+ # have Spotify Premium. The order of execution is not guaranteed when you use this
176
+ # API with other Player API endpoints.
177
+ #
178
+ # @overload set_repeat_mode(state:, device_id: nil, request_options: {})
179
+ #
180
+ # @param state [String] **track**, **context** or **off**.<br/>
181
+ #
182
+ # @param device_id [String] The id of the device this command is targeting. If
183
+ #
184
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
185
+ #
186
+ # @return [nil]
187
+ #
188
+ # @see Spotted::Models::Me::PlayerSetRepeatModeParams
189
+ def set_repeat_mode(params)
190
+ parsed, options = Spotted::Me::PlayerSetRepeatModeParams.dump_request(params)
191
+ @client.request(
192
+ method: :put,
193
+ path: "me/player/repeat",
194
+ query: parsed,
195
+ model: NilClass,
196
+ options: options
197
+ )
198
+ end
199
+
200
+ # Some parameter documentations has been truncated, see
201
+ # {Spotted::Models::Me::PlayerSetVolumeParams} for more details.
202
+ #
203
+ # Set the volume for the user’s current playback device. This API only works for
204
+ # users who have Spotify Premium. The order of execution is not guaranteed when
205
+ # you use this API with other Player API endpoints.
206
+ #
207
+ # @overload set_volume(volume_percent:, device_id: nil, request_options: {})
208
+ #
209
+ # @param volume_percent [Integer] The volume to set. Must be a value from 0 to 100 inclusive.
210
+ #
211
+ # @param device_id [String] The id of the device this command is targeting. If not supplied, the user's curr
212
+ #
213
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
214
+ #
215
+ # @return [nil]
216
+ #
217
+ # @see Spotted::Models::Me::PlayerSetVolumeParams
218
+ def set_volume(params)
219
+ parsed, options = Spotted::Me::PlayerSetVolumeParams.dump_request(params)
220
+ @client.request(
221
+ method: :put,
222
+ path: "me/player/volume",
223
+ query: parsed,
224
+ model: NilClass,
225
+ options: options
226
+ )
227
+ end
228
+
229
+ # Some parameter documentations has been truncated, see
230
+ # {Spotted::Models::Me::PlayerSkipNextParams} for more details.
231
+ #
232
+ # Skips to next track in the user’s queue. This API only works for users who have
233
+ # Spotify Premium. The order of execution is not guaranteed when you use this API
234
+ # with other Player API endpoints.
235
+ #
236
+ # @overload skip_next(device_id: nil, request_options: {})
237
+ #
238
+ # @param device_id [String] The id of the device this command is targeting. If not supplied, the user's curr
239
+ #
240
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
241
+ #
242
+ # @return [nil]
243
+ #
244
+ # @see Spotted::Models::Me::PlayerSkipNextParams
245
+ def skip_next(params = {})
246
+ parsed, options = Spotted::Me::PlayerSkipNextParams.dump_request(params)
247
+ @client.request(
248
+ method: :post,
249
+ path: "me/player/next",
250
+ query: parsed,
251
+ model: NilClass,
252
+ options: options
253
+ )
254
+ end
255
+
256
+ # Some parameter documentations has been truncated, see
257
+ # {Spotted::Models::Me::PlayerSkipPreviousParams} for more details.
258
+ #
259
+ # Skips to previous track in the user’s queue. This API only works for users who
260
+ # have Spotify Premium. The order of execution is not guaranteed when you use this
261
+ # API with other Player API endpoints.
262
+ #
263
+ # @overload skip_previous(device_id: nil, request_options: {})
264
+ #
265
+ # @param device_id [String] The id of the device this command is targeting. If
266
+ #
267
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
268
+ #
269
+ # @return [nil]
270
+ #
271
+ # @see Spotted::Models::Me::PlayerSkipPreviousParams
272
+ def skip_previous(params = {})
273
+ parsed, options = Spotted::Me::PlayerSkipPreviousParams.dump_request(params)
274
+ @client.request(
275
+ method: :post,
276
+ path: "me/player/previous",
277
+ query: parsed,
278
+ model: NilClass,
279
+ options: options
280
+ )
281
+ end
282
+
283
+ # Some parameter documentations has been truncated, see
284
+ # {Spotted::Models::Me::PlayerStartPlaybackParams} for more details.
285
+ #
286
+ # Start a new context or resume current playback on the user's active device. This
287
+ # API only works for users who have Spotify Premium. The order of execution is not
288
+ # guaranteed when you use this API with other Player API endpoints.
289
+ #
290
+ # @overload start_playback(device_id: nil, context_uri: nil, offset: nil, position_ms: nil, uris: nil, request_options: {})
291
+ #
292
+ # @param device_id [String] Query param: The id of the device this command is targeting. If not supplied, th
293
+ #
294
+ # @param context_uri [String] Body param: Optional. Spotify URI of the context to play.
295
+ #
296
+ # @param offset [Hash{Symbol=>Object}] Body param: Optional. Indicates from where in the context playback should start.
297
+ #
298
+ # @param position_ms [Integer] Body param: Indicates from what position to start playback. Must be a positive n
299
+ #
300
+ # @param uris [Array<String>] Body param: Optional. A JSON array of the Spotify track URIs to play.
301
+ #
302
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
303
+ #
304
+ # @return [nil]
305
+ #
306
+ # @see Spotted::Models::Me::PlayerStartPlaybackParams
307
+ def start_playback(params = {})
308
+ parsed, options = Spotted::Me::PlayerStartPlaybackParams.dump_request(params)
309
+ query_params = [:device_id]
310
+ @client.request(
311
+ method: :put,
312
+ path: "me/player/play",
313
+ query: parsed.slice(*query_params),
314
+ body: parsed.except(*query_params),
315
+ model: NilClass,
316
+ options: options
317
+ )
318
+ end
319
+
320
+ # Some parameter documentations has been truncated, see
321
+ # {Spotted::Models::Me::PlayerToggleShuffleParams} for more details.
322
+ #
323
+ # Toggle shuffle on or off for user’s playback. This API only works for users who
324
+ # have Spotify Premium. The order of execution is not guaranteed when you use this
325
+ # API with other Player API endpoints.
326
+ #
327
+ # @overload toggle_shuffle(state:, device_id: nil, request_options: {})
328
+ #
329
+ # @param state [Boolean] **true** : Shuffle user's playback.<br/>
330
+ #
331
+ # @param device_id [String] The id of the device this command is targeting. If
332
+ #
333
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
334
+ #
335
+ # @return [nil]
336
+ #
337
+ # @see Spotted::Models::Me::PlayerToggleShuffleParams
338
+ def toggle_shuffle(params)
339
+ parsed, options = Spotted::Me::PlayerToggleShuffleParams.dump_request(params)
340
+ @client.request(
341
+ method: :put,
342
+ path: "me/player/shuffle",
343
+ query: parsed,
344
+ model: NilClass,
345
+ options: options
346
+ )
347
+ end
348
+
349
+ # Some parameter documentations has been truncated, see
350
+ # {Spotted::Models::Me::PlayerTransferParams} for more details.
351
+ #
352
+ # Transfer playback to a new device and optionally begin playback. This API only
353
+ # works for users who have Spotify Premium. The order of execution is not
354
+ # guaranteed when you use this API with other Player API endpoints.
355
+ #
356
+ # @overload transfer(device_ids:, play: nil, request_options: {})
357
+ #
358
+ # @param device_ids [Array<String>] A JSON array containing the ID of the device on which playback should be started
359
+ #
360
+ # @param play [Boolean] **true**: ensure playback happens on new device.<br/>**false** or not provided:
361
+ #
362
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
363
+ #
364
+ # @return [nil]
365
+ #
366
+ # @see Spotted::Models::Me::PlayerTransferParams
367
+ def transfer(params)
368
+ parsed, options = Spotted::Me::PlayerTransferParams.dump_request(params)
369
+ @client.request(method: :put, path: "me/player", body: parsed, model: NilClass, options: options)
370
+ end
371
+
372
+ # @api private
373
+ #
374
+ # @param client [Spotted::Client]
375
+ def initialize(client:)
376
+ @client = client
377
+ @queue = Spotted::Resources::Me::Player::Queue.new(client: client)
378
+ end
379
+ end
380
+ end
381
+ end
382
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Me
6
+ class Playlists
7
+ # Some parameter documentations has been truncated, see
8
+ # {Spotted::Models::Me::PlaylistListParams} for more details.
9
+ #
10
+ # Get a list of the playlists owned or followed by the current Spotify user.
11
+ #
12
+ # @overload list(limit: nil, offset: nil, request_options: {})
13
+ #
14
+ # @param limit [Integer] The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
15
+ #
16
+ # @param offset [Integer] 'The index of the first playlist to return. Default:
17
+ #
18
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
19
+ #
20
+ # @return [Spotted::Internal::CursorURLPage<Spotted::Models::SimplifiedPlaylistObject>]
21
+ #
22
+ # @see Spotted::Models::Me::PlaylistListParams
23
+ def list(params = {})
24
+ parsed, options = Spotted::Me::PlaylistListParams.dump_request(params)
25
+ @client.request(
26
+ method: :get,
27
+ path: "me/playlists",
28
+ query: parsed,
29
+ page: Spotted::Internal::CursorURLPage,
30
+ model: Spotted::SimplifiedPlaylistObject,
31
+ options: options
32
+ )
33
+ end
34
+
35
+ # @api private
36
+ #
37
+ # @param client [Spotted::Client]
38
+ def initialize(client:)
39
+ @client = client
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end