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,157 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Playlists
6
+ class Tracks
7
+ # Some parameter documentations has been truncated, see
8
+ # {Spotted::Models::Playlists::TrackUpdateParams} for more details.
9
+ #
10
+ # Either reorder or replace items in a playlist depending on the request's
11
+ # parameters. To reorder items, include `range_start`, `insert_before`,
12
+ # `range_length` and `snapshot_id` in the request's body. To replace items,
13
+ # include `uris` as either a query parameter or in the request's body. Replacing
14
+ # items in a playlist will overwrite its existing items. This operation can be
15
+ # used for replacing or clearing items in a playlist. <br/> **Note**: Replace and
16
+ # reorder are mutually exclusive operations which share the same endpoint, but
17
+ # have different parameters. These operations can't be applied together in a
18
+ # single request.
19
+ #
20
+ # @overload update(playlist_id, body_uris: nil, insert_before: nil, range_length: nil, range_start: nil, snapshot_id: nil, request_options: {})
21
+ #
22
+ # @param playlist_id [String] Path param: The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) o
23
+ #
24
+ # @param body_uris [Array<String>] Body param:
25
+ #
26
+ # @param insert_before [Integer] Body param: The position where the items should be inserted.<br/>To reorder the
27
+ #
28
+ # @param range_length [Integer] Body param: The amount of items to be reordered. Defaults to 1 if not set.<br/>T
29
+ #
30
+ # @param range_start [Integer] Body param: The position of the first item to be reordered.
31
+ #
32
+ # @param snapshot_id [String] Body param: The playlist's snapshot ID against which you want to make the change
33
+ #
34
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
35
+ #
36
+ # @return [Spotted::Models::Playlists::TrackUpdateResponse]
37
+ #
38
+ # @see Spotted::Models::Playlists::TrackUpdateParams
39
+ def update(playlist_id, params = {})
40
+ parsed, options = Spotted::Playlists::TrackUpdateParams.dump_request(params)
41
+ query_params = [:query_uris]
42
+ @client.request(
43
+ method: :put,
44
+ path: ["playlists/%1$s/tracks", playlist_id],
45
+ query: parsed.slice(*query_params).transform_keys(query_uris: "uris"),
46
+ body: parsed.except(*query_params),
47
+ model: Spotted::Models::Playlists::TrackUpdateResponse,
48
+ options: options
49
+ )
50
+ end
51
+
52
+ # Some parameter documentations has been truncated, see
53
+ # {Spotted::Models::Playlists::TrackListParams} for more details.
54
+ #
55
+ # Get full details of the items of a playlist owned by a Spotify user.
56
+ #
57
+ # @overload list(playlist_id, additional_types: nil, fields: nil, limit: nil, market: nil, offset: nil, request_options: {})
58
+ #
59
+ # @param playlist_id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the playli
60
+ #
61
+ # @param additional_types [String] A comma-separated list of item types that your client supports besides the defau
62
+ #
63
+ # @param fields [String] Filters for the query: a comma-separated list of the
64
+ #
65
+ # @param limit [Integer] The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 100.
66
+ #
67
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
68
+ #
69
+ # @param offset [Integer] The index of the first item to return. Default: 0 (the first item). Use with lim
70
+ #
71
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
72
+ #
73
+ # @return [Spotted::Internal::CursorURLPage<Spotted::Models::PlaylistTrackObject>]
74
+ #
75
+ # @see Spotted::Models::Playlists::TrackListParams
76
+ def list(playlist_id, params = {})
77
+ parsed, options = Spotted::Playlists::TrackListParams.dump_request(params)
78
+ @client.request(
79
+ method: :get,
80
+ path: ["playlists/%1$s/tracks", playlist_id],
81
+ query: parsed,
82
+ page: Spotted::Internal::CursorURLPage,
83
+ model: Spotted::PlaylistTrackObject,
84
+ options: options
85
+ )
86
+ end
87
+
88
+ # Some parameter documentations has been truncated, see
89
+ # {Spotted::Models::Playlists::TrackAddParams} for more details.
90
+ #
91
+ # Add one or more items to a user's playlist.
92
+ #
93
+ # @overload add(playlist_id, body_position: nil, body_uris: nil, request_options: {})
94
+ #
95
+ # @param playlist_id [String] Path param: The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) o
96
+ #
97
+ # @param body_position [Integer] Body param: The position to insert the items, a zero-based index. For example, t
98
+ #
99
+ # @param body_uris [Array<String>] Body param: A JSON array of the [Spotify URIs](/documentation/web-api/concepts/s
100
+ #
101
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
102
+ #
103
+ # @return [Spotted::Models::Playlists::TrackAddResponse]
104
+ #
105
+ # @see Spotted::Models::Playlists::TrackAddParams
106
+ def add(playlist_id, params = {})
107
+ parsed, options = Spotted::Playlists::TrackAddParams.dump_request(params)
108
+ query_params = [:query_position, :query_uris]
109
+ @client.request(
110
+ method: :post,
111
+ path: ["playlists/%1$s/tracks", playlist_id],
112
+ query: parsed.slice(*query_params).transform_keys(query_position: "position", query_uris: "uris"),
113
+ body: parsed.except(*query_params),
114
+ model: Spotted::Models::Playlists::TrackAddResponse,
115
+ options: options
116
+ )
117
+ end
118
+
119
+ # Some parameter documentations has been truncated, see
120
+ # {Spotted::Models::Playlists::TrackRemoveParams} for more details.
121
+ #
122
+ # Remove one or more items from a user's playlist.
123
+ #
124
+ # @overload remove(playlist_id, tracks:, snapshot_id: nil, request_options: {})
125
+ #
126
+ # @param playlist_id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the playli
127
+ #
128
+ # @param tracks [Array<Spotted::Models::Playlists::TrackRemoveParams::Track>] An array of objects containing [Spotify URIs](/documentation/web-api/concepts/sp
129
+ #
130
+ # @param snapshot_id [String] The playlist's snapshot ID against which you want to make the changes.
131
+ #
132
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
133
+ #
134
+ # @return [Spotted::Models::Playlists::TrackRemoveResponse]
135
+ #
136
+ # @see Spotted::Models::Playlists::TrackRemoveParams
137
+ def remove(playlist_id, params)
138
+ parsed, options = Spotted::Playlists::TrackRemoveParams.dump_request(params)
139
+ @client.request(
140
+ method: :delete,
141
+ path: ["playlists/%1$s/tracks", playlist_id],
142
+ body: parsed,
143
+ model: Spotted::Models::Playlists::TrackRemoveResponse,
144
+ options: options
145
+ )
146
+ end
147
+
148
+ # @api private
149
+ #
150
+ # @param client [Spotted::Client]
151
+ def initialize(client:)
152
+ @client = client
153
+ end
154
+ end
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Playlists
6
+ # @return [Spotted::Resources::Playlists::Tracks]
7
+ attr_reader :tracks
8
+
9
+ # @return [Spotted::Resources::Playlists::Followers]
10
+ attr_reader :followers
11
+
12
+ # @return [Spotted::Resources::Playlists::Images]
13
+ attr_reader :images
14
+
15
+ # Some parameter documentations has been truncated, see
16
+ # {Spotted::Models::PlaylistRetrieveParams} for more details.
17
+ #
18
+ # Get a playlist owned by a Spotify user.
19
+ #
20
+ # @overload retrieve(playlist_id, additional_types: nil, fields: nil, market: nil, request_options: {})
21
+ #
22
+ # @param playlist_id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the playli
23
+ #
24
+ # @param additional_types [String] A comma-separated list of item types that your client supports besides the defau
25
+ #
26
+ # @param fields [String] Filters for the query: a comma-separated list of the
27
+ #
28
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
29
+ #
30
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
31
+ #
32
+ # @return [Spotted::Models::PlaylistRetrieveResponse]
33
+ #
34
+ # @see Spotted::Models::PlaylistRetrieveParams
35
+ def retrieve(playlist_id, params = {})
36
+ parsed, options = Spotted::PlaylistRetrieveParams.dump_request(params)
37
+ @client.request(
38
+ method: :get,
39
+ path: ["playlists/%1$s", playlist_id],
40
+ query: parsed,
41
+ model: Spotted::Models::PlaylistRetrieveResponse,
42
+ options: options
43
+ )
44
+ end
45
+
46
+ # Some parameter documentations has been truncated, see
47
+ # {Spotted::Models::PlaylistUpdateParams} for more details.
48
+ #
49
+ # Change a playlist's name and public/private state. (The user must, of course,
50
+ # own the playlist.)
51
+ #
52
+ # @overload update(playlist_id, collaborative: nil, description: nil, name: nil, public: nil, request_options: {})
53
+ #
54
+ # @param playlist_id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the playli
55
+ #
56
+ # @param collaborative [Boolean] If `true`, the playlist will become collaborative and other users will be able t
57
+ #
58
+ # @param description [String] Value for playlist description as displayed in Spotify Clients and in the Web AP
59
+ #
60
+ # @param name [String] The new name for the playlist, for example `"My New Playlist Title"`
61
+ #
62
+ # @param public [Boolean] The playlist's public/private status (if it should be added to the user's profil
63
+ #
64
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
65
+ #
66
+ # @return [nil]
67
+ #
68
+ # @see Spotted::Models::PlaylistUpdateParams
69
+ def update(playlist_id, params = {})
70
+ parsed, options = Spotted::PlaylistUpdateParams.dump_request(params)
71
+ @client.request(
72
+ method: :put,
73
+ path: ["playlists/%1$s", playlist_id],
74
+ body: parsed,
75
+ model: NilClass,
76
+ options: options
77
+ )
78
+ end
79
+
80
+ # @api private
81
+ #
82
+ # @param client [Spotted::Client]
83
+ def initialize(client:)
84
+ @client = client
85
+ @tracks = Spotted::Resources::Playlists::Tracks.new(client: client)
86
+ @followers = Spotted::Resources::Playlists::Followers.new(client: client)
87
+ @images = Spotted::Resources::Playlists::Images.new(client: client)
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,160 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Recommendations
6
+ # @deprecated
7
+ #
8
+ # Some parameter documentations has been truncated, see
9
+ # {Spotted::Models::RecommendationGetParams} for more details.
10
+ #
11
+ # Recommendations are generated based on the available information for a given
12
+ # seed entity and matched against similar artists and tracks. If there is
13
+ # sufficient information about the provided seeds, a list of tracks will be
14
+ # returned together with pool size details.
15
+ #
16
+ # For artists and tracks that are very new or obscure there might not be enough
17
+ # data to generate a list of tracks.
18
+ #
19
+ # @overload get(limit: nil, market: nil, max_acousticness: nil, max_danceability: nil, max_duration_ms: nil, max_energy: nil, max_instrumentalness: nil, max_key: nil, max_liveness: nil, max_loudness: nil, max_mode: nil, max_popularity: nil, max_speechiness: nil, max_tempo: nil, max_time_signature: nil, max_valence: nil, min_acousticness: nil, min_danceability: nil, min_duration_ms: nil, min_energy: nil, min_instrumentalness: nil, min_key: nil, min_liveness: nil, min_loudness: nil, min_mode: nil, min_popularity: nil, min_speechiness: nil, min_tempo: nil, min_time_signature: nil, min_valence: nil, seed_artists: nil, seed_genres: nil, seed_tracks: nil, target_acousticness: nil, target_danceability: nil, target_duration_ms: nil, target_energy: nil, target_instrumentalness: nil, target_key: nil, target_liveness: nil, target_loudness: nil, target_mode: nil, target_popularity: nil, target_speechiness: nil, target_tempo: nil, target_time_signature: nil, target_valence: nil, request_options: {})
20
+ #
21
+ # @param limit [Integer] The target size of the list of recommended tracks. For seeds with unusually smal
22
+ #
23
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
24
+ #
25
+ # @param max_acousticness [Float] For each tunable track attribute, a hard ceiling on the selected track attribute
26
+ #
27
+ # @param max_danceability [Float] For each tunable track attribute, a hard ceiling on the selected track attribute
28
+ #
29
+ # @param max_duration_ms [Integer] For each tunable track attribute, a hard ceiling on the selected track attribute
30
+ #
31
+ # @param max_energy [Float] For each tunable track attribute, a hard ceiling on the selected track attribute
32
+ #
33
+ # @param max_instrumentalness [Float] For each tunable track attribute, a hard ceiling on the selected track attribute
34
+ #
35
+ # @param max_key [Integer] For each tunable track attribute, a hard ceiling on the selected track attribute
36
+ #
37
+ # @param max_liveness [Float] For each tunable track attribute, a hard ceiling on the selected track attribute
38
+ #
39
+ # @param max_loudness [Float] For each tunable track attribute, a hard ceiling on the selected track attribute
40
+ #
41
+ # @param max_mode [Integer] For each tunable track attribute, a hard ceiling on the selected track attribute
42
+ #
43
+ # @param max_popularity [Integer] For each tunable track attribute, a hard ceiling on the selected track attribute
44
+ #
45
+ # @param max_speechiness [Float] For each tunable track attribute, a hard ceiling on the selected track attribute
46
+ #
47
+ # @param max_tempo [Float] For each tunable track attribute, a hard ceiling on the selected track attribute
48
+ #
49
+ # @param max_time_signature [Integer] For each tunable track attribute, a hard ceiling on the selected track attribute
50
+ #
51
+ # @param max_valence [Float] For each tunable track attribute, a hard ceiling on the selected track attribute
52
+ #
53
+ # @param min_acousticness [Float] For each tunable track attribute, a hard floor on the selected track attribute’s
54
+ #
55
+ # @param min_danceability [Float] For each tunable track attribute, a hard floor on the selected track attribute’s
56
+ #
57
+ # @param min_duration_ms [Integer] For each tunable track attribute, a hard floor on the selected track attribute’s
58
+ #
59
+ # @param min_energy [Float] For each tunable track attribute, a hard floor on the selected track attribute’s
60
+ #
61
+ # @param min_instrumentalness [Float] For each tunable track attribute, a hard floor on the selected track attribute’s
62
+ #
63
+ # @param min_key [Integer] For each tunable track attribute, a hard floor on the selected track attribute’s
64
+ #
65
+ # @param min_liveness [Float] For each tunable track attribute, a hard floor on the selected track attribute’s
66
+ #
67
+ # @param min_loudness [Float] For each tunable track attribute, a hard floor on the selected track attribute’s
68
+ #
69
+ # @param min_mode [Integer] For each tunable track attribute, a hard floor on the selected track attribute’s
70
+ #
71
+ # @param min_popularity [Integer] For each tunable track attribute, a hard floor on the selected track attribute’s
72
+ #
73
+ # @param min_speechiness [Float] For each tunable track attribute, a hard floor on the selected track attribute’s
74
+ #
75
+ # @param min_tempo [Float] For each tunable track attribute, a hard floor on the selected track attribute’s
76
+ #
77
+ # @param min_time_signature [Integer] For each tunable track attribute, a hard floor on the selected track attribute’s
78
+ #
79
+ # @param min_valence [Float] For each tunable track attribute, a hard floor on the selected track attribute’s
80
+ #
81
+ # @param seed_artists [String] A comma separated list of [Spotify IDs](/documentation/web-api/concepts/spotify-
82
+ #
83
+ # @param seed_genres [String] A comma separated list of any genres in the set of [available genre seeds](/docu
84
+ #
85
+ # @param seed_tracks [String] A comma separated list of [Spotify IDs](/documentation/web-api/concepts/spotify-
86
+ #
87
+ # @param target_acousticness [Float] For each of the tunable track attributes (below) a target value may be provided.
88
+ #
89
+ # @param target_danceability [Float] For each of the tunable track attributes (below) a target value may be provided.
90
+ #
91
+ # @param target_duration_ms [Integer] Target duration of the track (ms)
92
+ #
93
+ # @param target_energy [Float] For each of the tunable track attributes (below) a target value may be provided.
94
+ #
95
+ # @param target_instrumentalness [Float] For each of the tunable track attributes (below) a target value may be provided.
96
+ #
97
+ # @param target_key [Integer] For each of the tunable track attributes (below) a target value may be provided.
98
+ #
99
+ # @param target_liveness [Float] For each of the tunable track attributes (below) a target value may be provided.
100
+ #
101
+ # @param target_loudness [Float] For each of the tunable track attributes (below) a target value may be provided.
102
+ #
103
+ # @param target_mode [Integer] For each of the tunable track attributes (below) a target value may be provided.
104
+ #
105
+ # @param target_popularity [Integer] For each of the tunable track attributes (below) a target value may be provided.
106
+ #
107
+ # @param target_speechiness [Float] For each of the tunable track attributes (below) a target value may be provided.
108
+ #
109
+ # @param target_tempo [Float] Target tempo (BPM)
110
+ #
111
+ # @param target_time_signature [Integer] For each of the tunable track attributes (below) a target value may be provided.
112
+ #
113
+ # @param target_valence [Float] For each of the tunable track attributes (below) a target value may be provided.
114
+ #
115
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
116
+ #
117
+ # @return [Spotted::Models::RecommendationGetResponse]
118
+ #
119
+ # @see Spotted::Models::RecommendationGetParams
120
+ def get(params = {})
121
+ parsed, options = Spotted::RecommendationGetParams.dump_request(params)
122
+ @client.request(
123
+ method: :get,
124
+ path: "recommendations",
125
+ query: parsed,
126
+ model: Spotted::Models::RecommendationGetResponse,
127
+ options: options
128
+ )
129
+ end
130
+
131
+ # @deprecated
132
+ #
133
+ # Retrieve a list of available genres seed parameter values for
134
+ # [recommendations](/documentation/web-api/reference/get-recommendations).
135
+ #
136
+ # @overload list_available_genre_seeds(request_options: {})
137
+ #
138
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
139
+ #
140
+ # @return [Spotted::Models::RecommendationListAvailableGenreSeedsResponse]
141
+ #
142
+ # @see Spotted::Models::RecommendationListAvailableGenreSeedsParams
143
+ def list_available_genre_seeds(params = {})
144
+ @client.request(
145
+ method: :get,
146
+ path: "recommendations/available-genre-seeds",
147
+ model: Spotted::Models::RecommendationListAvailableGenreSeedsResponse,
148
+ options: params[:request_options]
149
+ )
150
+ end
151
+
152
+ # @api private
153
+ #
154
+ # @param client [Spotted::Client]
155
+ def initialize(client:)
156
+ @client = client
157
+ end
158
+ end
159
+ end
160
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Search
6
+ # Some parameter documentations has been truncated, see
7
+ # {Spotted::Models::SearchRetrieveParams} for more details.
8
+ #
9
+ # Get Spotify catalog information about albums, artists, playlists, tracks, shows,
10
+ # episodes or audiobooks that match a keyword string. Audiobooks are only
11
+ # available within the US, UK, Canada, Ireland, New Zealand and Australia markets.
12
+ #
13
+ # @overload retrieve(q:, type:, include_external: nil, limit: nil, market: nil, offset: nil, request_options: {})
14
+ #
15
+ # @param q [String] Your search query.
16
+ #
17
+ # @param type [Array<Symbol, Spotted::Models::SearchRetrieveParams::Type>] A comma-separated list of item types to search across. Search results include hi
18
+ #
19
+ # @param include_external [Symbol, Spotted::Models::SearchRetrieveParams::IncludeExternal] If `include_external=audio` is specified it signals that the client can play ext
20
+ #
21
+ # @param limit [Integer] The maximum number of results to return in each item type.
22
+ #
23
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
24
+ #
25
+ # @param offset [Integer] The index of the first result to return. Use
26
+ #
27
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
28
+ #
29
+ # @return [Spotted::Models::SearchRetrieveResponse]
30
+ #
31
+ # @see Spotted::Models::SearchRetrieveParams
32
+ def retrieve(params)
33
+ parsed, options = Spotted::SearchRetrieveParams.dump_request(params)
34
+ @client.request(
35
+ method: :get,
36
+ path: "search",
37
+ query: parsed,
38
+ model: Spotted::Models::SearchRetrieveResponse,
39
+ options: options
40
+ )
41
+ end
42
+
43
+ # @api private
44
+ #
45
+ # @param client [Spotted::Client]
46
+ def initialize(client:)
47
+ @client = client
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,102 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Shows
6
+ # Some parameter documentations has been truncated, see
7
+ # {Spotted::Models::ShowRetrieveParams} for more details.
8
+ #
9
+ # Get Spotify catalog information for a single show identified by its unique
10
+ # Spotify ID.
11
+ #
12
+ # @overload retrieve(id, market: nil, request_options: {})
13
+ #
14
+ # @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids)
15
+ #
16
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
17
+ #
18
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
19
+ #
20
+ # @return [Spotted::Models::ShowRetrieveResponse]
21
+ #
22
+ # @see Spotted::Models::ShowRetrieveParams
23
+ def retrieve(id, params = {})
24
+ parsed, options = Spotted::ShowRetrieveParams.dump_request(params)
25
+ @client.request(
26
+ method: :get,
27
+ path: ["shows/%1$s", id],
28
+ query: parsed,
29
+ model: Spotted::Models::ShowRetrieveResponse,
30
+ options: options
31
+ )
32
+ end
33
+
34
+ # Some parameter documentations has been truncated, see
35
+ # {Spotted::Models::ShowListParams} for more details.
36
+ #
37
+ # Get Spotify catalog information for several shows based on their Spotify IDs.
38
+ #
39
+ # @overload list(ids:, market: nil, request_options: {})
40
+ #
41
+ # @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
42
+ #
43
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
44
+ #
45
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
46
+ #
47
+ # @return [Spotted::Models::ShowListResponse]
48
+ #
49
+ # @see Spotted::Models::ShowListParams
50
+ def list(params)
51
+ parsed, options = Spotted::ShowListParams.dump_request(params)
52
+ @client.request(
53
+ method: :get,
54
+ path: "shows",
55
+ query: parsed,
56
+ model: Spotted::Models::ShowListResponse,
57
+ options: options
58
+ )
59
+ end
60
+
61
+ # Some parameter documentations has been truncated, see
62
+ # {Spotted::Models::ShowListEpisodesParams} for more details.
63
+ #
64
+ # Get Spotify catalog information about an show’s episodes. Optional parameters
65
+ # can be used to limit the number of episodes returned.
66
+ #
67
+ # @overload list_episodes(id, limit: nil, market: nil, offset: nil, request_options: {})
68
+ #
69
+ # @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids)
70
+ #
71
+ # @param limit [Integer] The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
72
+ #
73
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
74
+ #
75
+ # @param offset [Integer] The index of the first item to return. Default: 0 (the first item). Use with lim
76
+ #
77
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
78
+ #
79
+ # @return [Spotted::Internal::CursorURLPage<Spotted::Models::SimplifiedEpisodeObject>]
80
+ #
81
+ # @see Spotted::Models::ShowListEpisodesParams
82
+ def list_episodes(id, params = {})
83
+ parsed, options = Spotted::ShowListEpisodesParams.dump_request(params)
84
+ @client.request(
85
+ method: :get,
86
+ path: ["shows/%1$s/episodes", id],
87
+ query: parsed,
88
+ page: Spotted::Internal::CursorURLPage,
89
+ model: Spotted::SimplifiedEpisodeObject,
90
+ options: options
91
+ )
92
+ end
93
+
94
+ # @api private
95
+ #
96
+ # @param client [Spotted::Client]
97
+ def initialize(client:)
98
+ @client = client
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Tracks
6
+ # Some parameter documentations has been truncated, see
7
+ # {Spotted::Models::TrackRetrieveParams} for more details.
8
+ #
9
+ # Get Spotify catalog information for a single track identified by its unique
10
+ # Spotify ID.
11
+ #
12
+ # @overload retrieve(id, market: nil, request_options: {})
13
+ #
14
+ # @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids)
15
+ #
16
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
17
+ #
18
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
19
+ #
20
+ # @return [Spotted::Models::TrackObject]
21
+ #
22
+ # @see Spotted::Models::TrackRetrieveParams
23
+ def retrieve(id, params = {})
24
+ parsed, options = Spotted::TrackRetrieveParams.dump_request(params)
25
+ @client.request(
26
+ method: :get,
27
+ path: ["tracks/%1$s", id],
28
+ query: parsed,
29
+ model: Spotted::TrackObject,
30
+ options: options
31
+ )
32
+ end
33
+
34
+ # Some parameter documentations has been truncated, see
35
+ # {Spotted::Models::TrackListParams} for more details.
36
+ #
37
+ # Get Spotify catalog information for multiple tracks based on their Spotify IDs.
38
+ #
39
+ # @overload list(ids:, market: nil, request_options: {})
40
+ #
41
+ # @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
42
+ #
43
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
44
+ #
45
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
46
+ #
47
+ # @return [Spotted::Models::TrackListResponse]
48
+ #
49
+ # @see Spotted::Models::TrackListParams
50
+ def list(params)
51
+ parsed, options = Spotted::TrackListParams.dump_request(params)
52
+ @client.request(
53
+ method: :get,
54
+ path: "tracks",
55
+ query: parsed,
56
+ model: Spotted::Models::TrackListResponse,
57
+ options: options
58
+ )
59
+ end
60
+
61
+ # @api private
62
+ #
63
+ # @param client [Spotted::Client]
64
+ def initialize(client:)
65
+ @client = client
66
+ end
67
+ end
68
+ end
69
+ end