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,315 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Me
6
+ class Player
7
+ sig { returns(Spotted::Resources::Me::Player::Queue) }
8
+ attr_reader :queue
9
+
10
+ # Get the object currently being played on the user's Spotify account.
11
+ sig do
12
+ params(
13
+ additional_types: String,
14
+ market: String,
15
+ request_options: Spotted::RequestOptions::OrHash
16
+ ).returns(Spotted::Models::Me::PlayerGetCurrentlyPlayingResponse)
17
+ end
18
+ def get_currently_playing(
19
+ # A comma-separated list of item types that your client supports besides the
20
+ # default `track` type. Valid types are: `track` and `episode`.<br/> _**Note**:
21
+ # This parameter was introduced to allow existing clients to maintain their
22
+ # current behaviour and might be deprecated in the future._<br/> In addition to
23
+ # providing this parameter, make sure that your client properly handles cases of
24
+ # new types in the future by checking against the `type` field of each object.
25
+ additional_types: nil,
26
+ # An
27
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
28
+ # If a country code is specified, only content that is available in that market
29
+ # will be returned.<br/> If a valid user access token is specified in the request
30
+ # header, the country associated with the user account will take priority over
31
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
32
+ # the content is considered unavailable for the client._<br/> Users can view the
33
+ # country that is associated with their account in the
34
+ # [account settings](https://www.spotify.com/account/overview/).
35
+ market: nil,
36
+ request_options: {}
37
+ )
38
+ end
39
+
40
+ # Get information about a user’s available Spotify Connect devices. Some device
41
+ # models are not supported and will not be listed in the API response.
42
+ sig do
43
+ params(request_options: Spotted::RequestOptions::OrHash).returns(
44
+ Spotted::Models::Me::PlayerGetDevicesResponse
45
+ )
46
+ end
47
+ def get_devices(request_options: {})
48
+ end
49
+
50
+ # Get information about the user’s current playback state, including track or
51
+ # episode, progress, and active device.
52
+ sig do
53
+ params(
54
+ additional_types: String,
55
+ market: String,
56
+ request_options: Spotted::RequestOptions::OrHash
57
+ ).returns(Spotted::Models::Me::PlayerGetStateResponse)
58
+ end
59
+ def get_state(
60
+ # A comma-separated list of item types that your client supports besides the
61
+ # default `track` type. Valid types are: `track` and `episode`.<br/> _**Note**:
62
+ # This parameter was introduced to allow existing clients to maintain their
63
+ # current behaviour and might be deprecated in the future._<br/> In addition to
64
+ # providing this parameter, make sure that your client properly handles cases of
65
+ # new types in the future by checking against the `type` field of each object.
66
+ additional_types: nil,
67
+ # An
68
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
69
+ # If a country code is specified, only content that is available in that market
70
+ # will be returned.<br/> If a valid user access token is specified in the request
71
+ # header, the country associated with the user account will take priority over
72
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
73
+ # the content is considered unavailable for the client._<br/> Users can view the
74
+ # country that is associated with their account in the
75
+ # [account settings](https://www.spotify.com/account/overview/).
76
+ market: nil,
77
+ request_options: {}
78
+ )
79
+ end
80
+
81
+ # Get tracks from the current user's recently played tracks. _**Note**: Currently
82
+ # doesn't support podcast episodes._
83
+ sig do
84
+ params(
85
+ after: Integer,
86
+ before: Integer,
87
+ limit: Integer,
88
+ request_options: Spotted::RequestOptions::OrHash
89
+ ).returns(
90
+ Spotted::Internal::CursorURLPage[
91
+ Spotted::Models::Me::PlayerListRecentlyPlayedResponse
92
+ ]
93
+ )
94
+ end
95
+ def list_recently_played(
96
+ # A Unix timestamp in milliseconds. Returns all items after (but not including)
97
+ # this cursor position. If `after` is specified, `before` must not be specified.
98
+ after: nil,
99
+ # A Unix timestamp in milliseconds. Returns all items before (but not including)
100
+ # this cursor position. If `before` is specified, `after` must not be specified.
101
+ before: nil,
102
+ # The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
103
+ limit: nil,
104
+ request_options: {}
105
+ )
106
+ end
107
+
108
+ # Pause playback on the user's account. This API only works for users who have
109
+ # Spotify Premium. The order of execution is not guaranteed when you use this API
110
+ # with other Player API endpoints.
111
+ sig do
112
+ params(
113
+ device_id: String,
114
+ request_options: Spotted::RequestOptions::OrHash
115
+ ).void
116
+ end
117
+ def pause_playback(
118
+ # The id of the device this command is targeting. If not supplied, the user's
119
+ # currently active device is the target.
120
+ device_id: nil,
121
+ request_options: {}
122
+ )
123
+ end
124
+
125
+ # Seeks to the given position in the user’s currently playing track. This API only
126
+ # works for users who have Spotify Premium. The order of execution is not
127
+ # guaranteed when you use this API with other Player API endpoints.
128
+ sig do
129
+ params(
130
+ position_ms: Integer,
131
+ device_id: String,
132
+ request_options: Spotted::RequestOptions::OrHash
133
+ ).void
134
+ end
135
+ def seek_to_position(
136
+ # The position in milliseconds to seek to. Must be a positive number. Passing in a
137
+ # position that is greater than the length of the track will cause the player to
138
+ # start playing the next song.
139
+ position_ms:,
140
+ # The id of the device this command is targeting. If not supplied, the user's
141
+ # currently active device is the target.
142
+ device_id: nil,
143
+ request_options: {}
144
+ )
145
+ end
146
+
147
+ # Set the repeat mode for the user's playback. This API only works for users who
148
+ # have Spotify Premium. The order of execution is not guaranteed when you use this
149
+ # API with other Player API endpoints.
150
+ sig do
151
+ params(
152
+ state: String,
153
+ device_id: String,
154
+ request_options: Spotted::RequestOptions::OrHash
155
+ ).void
156
+ end
157
+ def set_repeat_mode(
158
+ # **track**, **context** or **off**.<br/> **track** will repeat the current
159
+ # track.<br/> **context** will repeat the current context.<br/> **off** will turn
160
+ # repeat off.
161
+ state:,
162
+ # The id of the device this command is targeting. If not supplied, the user's
163
+ # currently active device is the target.
164
+ device_id: nil,
165
+ request_options: {}
166
+ )
167
+ end
168
+
169
+ # Set the volume for the user’s current playback device. This API only works for
170
+ # users who have Spotify Premium. The order of execution is not guaranteed when
171
+ # you use this API with other Player API endpoints.
172
+ sig do
173
+ params(
174
+ volume_percent: Integer,
175
+ device_id: String,
176
+ request_options: Spotted::RequestOptions::OrHash
177
+ ).void
178
+ end
179
+ def set_volume(
180
+ # The volume to set. Must be a value from 0 to 100 inclusive.
181
+ volume_percent:,
182
+ # The id of the device this command is targeting. If not supplied, the user's
183
+ # currently active device is the target.
184
+ device_id: nil,
185
+ request_options: {}
186
+ )
187
+ end
188
+
189
+ # Skips to next track in the user’s queue. This API only works for users who have
190
+ # Spotify Premium. The order of execution is not guaranteed when you use this API
191
+ # with other Player API endpoints.
192
+ sig do
193
+ params(
194
+ device_id: String,
195
+ request_options: Spotted::RequestOptions::OrHash
196
+ ).void
197
+ end
198
+ def skip_next(
199
+ # The id of the device this command is targeting. If not supplied, the user's
200
+ # currently active device is the target.
201
+ device_id: nil,
202
+ request_options: {}
203
+ )
204
+ end
205
+
206
+ # Skips to previous track in the user’s queue. This API only works for users who
207
+ # have Spotify Premium. The order of execution is not guaranteed when you use this
208
+ # API with other Player API endpoints.
209
+ sig do
210
+ params(
211
+ device_id: String,
212
+ request_options: Spotted::RequestOptions::OrHash
213
+ ).void
214
+ end
215
+ def skip_previous(
216
+ # The id of the device this command is targeting. If not supplied, the user's
217
+ # currently active device is the target.
218
+ device_id: nil,
219
+ request_options: {}
220
+ )
221
+ end
222
+
223
+ # Start a new context or resume current playback on the user's active device. This
224
+ # API only works for users who have Spotify Premium. The order of execution is not
225
+ # guaranteed when you use this API with other Player API endpoints.
226
+ sig do
227
+ params(
228
+ device_id: String,
229
+ context_uri: String,
230
+ offset: T::Hash[Symbol, T.anything],
231
+ position_ms: Integer,
232
+ uris: T::Array[String],
233
+ request_options: Spotted::RequestOptions::OrHash
234
+ ).void
235
+ end
236
+ def start_playback(
237
+ # Query param: The id of the device this command is targeting. If not supplied,
238
+ # the user's currently active device is the target.
239
+ device_id: nil,
240
+ # Body param: Optional. Spotify URI of the context to play. Valid contexts are
241
+ # albums, artists & playlists.
242
+ # `{context_uri:"spotify:album:1Je1IMUlBXcx1Fz0WE7oPT"}`
243
+ context_uri: nil,
244
+ # Body param: Optional. Indicates from where in the context playback should start.
245
+ # Only available when context_uri corresponds to an album or playlist object
246
+ # "position" is zero based and can’t be negative. Example:
247
+ # `"offset": {"position": 5}` "uri" is a string representing the uri of the item
248
+ # to start at. Example:
249
+ # `"offset": {"uri": "spotify:track:1301WleyT98MSxVHPZCA6M"}`
250
+ offset: nil,
251
+ # Body param: Indicates from what position to start playback. Must be a positive
252
+ # number. Passing in a position that is greater than the length of the track will
253
+ # cause the player to start playing the next song.
254
+ position_ms: nil,
255
+ # Body param: Optional. A JSON array of the Spotify track URIs to play. For
256
+ # example:
257
+ # `{"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh", "spotify:track:1301WleyT98MSxVHPZCA6M"]}`
258
+ uris: nil,
259
+ request_options: {}
260
+ )
261
+ end
262
+
263
+ # Toggle shuffle on or off for user’s playback. This API only works for users who
264
+ # have Spotify Premium. The order of execution is not guaranteed when you use this
265
+ # API with other Player API endpoints.
266
+ sig do
267
+ params(
268
+ state: T::Boolean,
269
+ device_id: String,
270
+ request_options: Spotted::RequestOptions::OrHash
271
+ ).void
272
+ end
273
+ def toggle_shuffle(
274
+ # **true** : Shuffle user's playback.<br/> **false** : Do not shuffle user's
275
+ # playback.
276
+ state:,
277
+ # The id of the device this command is targeting. If not supplied, the user's
278
+ # currently active device is the target.
279
+ device_id: nil,
280
+ request_options: {}
281
+ )
282
+ end
283
+
284
+ # Transfer playback to a new device and optionally begin playback. This API only
285
+ # works for users who have Spotify Premium. The order of execution is not
286
+ # guaranteed when you use this API with other Player API endpoints.
287
+ sig do
288
+ params(
289
+ device_ids: T::Array[String],
290
+ play: T::Boolean,
291
+ request_options: Spotted::RequestOptions::OrHash
292
+ ).void
293
+ end
294
+ def transfer(
295
+ # A JSON array containing the ID of the device on which playback should be
296
+ # started/transferred.<br/>For
297
+ # example:`{device_ids:["74ASZWbe4lXaubB36ztrGX"]}`<br/>_**Note**: Although an
298
+ # array is accepted, only a single device_id is currently supported. Supplying
299
+ # more than one will return `400 Bad Request`_
300
+ device_ids:,
301
+ # **true**: ensure playback happens on new device.<br/>**false** or not provided:
302
+ # keep the current playback state.
303
+ play: nil,
304
+ request_options: {}
305
+ )
306
+ end
307
+
308
+ # @api private
309
+ sig { params(client: Spotted::Client).returns(T.attached_class) }
310
+ def self.new(client:)
311
+ end
312
+ end
313
+ end
314
+ end
315
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Me
6
+ class Playlists
7
+ # Get a list of the playlists owned or followed by the current Spotify user.
8
+ sig do
9
+ params(
10
+ limit: Integer,
11
+ offset: Integer,
12
+ request_options: Spotted::RequestOptions::OrHash
13
+ ).returns(
14
+ Spotted::Internal::CursorURLPage[Spotted::SimplifiedPlaylistObject]
15
+ )
16
+ end
17
+ def list(
18
+ # The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
19
+ limit: nil,
20
+ # 'The index of the first playlist to return. Default: 0 (the first object).
21
+ # Maximum offset: 100.000\. Use with `limit` to get the next set of playlists.'
22
+ offset: nil,
23
+ request_options: {}
24
+ )
25
+ end
26
+
27
+ # @api private
28
+ sig { params(client: Spotted::Client).returns(T.attached_class) }
29
+ def self.new(client:)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,101 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Me
6
+ class Shows
7
+ # Get a list of shows saved in the current Spotify user's library. Optional
8
+ # parameters can be used to limit the number of shows returned.
9
+ sig do
10
+ params(
11
+ limit: Integer,
12
+ offset: Integer,
13
+ request_options: Spotted::RequestOptions::OrHash
14
+ ).returns(
15
+ Spotted::Internal::CursorURLPage[
16
+ Spotted::Models::Me::ShowListResponse
17
+ ]
18
+ )
19
+ end
20
+ def list(
21
+ # The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
22
+ limit: nil,
23
+ # The index of the first item to return. Default: 0 (the first item). Use with
24
+ # limit to get the next set of items.
25
+ offset: nil,
26
+ request_options: {}
27
+ )
28
+ end
29
+
30
+ # Check if one or more shows is already saved in the current Spotify user's
31
+ # library.
32
+ sig do
33
+ params(
34
+ ids: String,
35
+ request_options: Spotted::RequestOptions::OrHash
36
+ ).returns(T::Array[T::Boolean])
37
+ end
38
+ def check(
39
+ # A comma-separated list of the
40
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for the shows.
41
+ # Maximum: 50 IDs.
42
+ ids:,
43
+ request_options: {}
44
+ )
45
+ end
46
+
47
+ # Delete one or more shows from current Spotify user's library.
48
+ sig do
49
+ params(
50
+ body_ids: T::Array[String],
51
+ market: String,
52
+ request_options: Spotted::RequestOptions::OrHash
53
+ ).void
54
+ end
55
+ def remove(
56
+ # Body param: A JSON array of the
57
+ # [Spotify IDs](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids).
58
+ # A maximum of 50 items can be specified in one request. _Note: if the `ids`
59
+ # parameter is present in the query string, any IDs listed here in the body will
60
+ # be ignored._
61
+ body_ids: nil,
62
+ # Query param: An
63
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
64
+ # If a country code is specified, only content that is available in that market
65
+ # will be returned.<br/> If a valid user access token is specified in the request
66
+ # header, the country associated with the user account will take priority over
67
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
68
+ # the content is considered unavailable for the client._<br/> Users can view the
69
+ # country that is associated with their account in the
70
+ # [account settings](https://www.spotify.com/account/overview/).
71
+ market: nil,
72
+ request_options: {}
73
+ )
74
+ end
75
+
76
+ # Save one or more shows to current Spotify user's library.
77
+ sig do
78
+ params(
79
+ body_ids: T::Array[String],
80
+ request_options: Spotted::RequestOptions::OrHash
81
+ ).void
82
+ end
83
+ def save(
84
+ # Body param: A JSON array of the
85
+ # [Spotify IDs](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids).
86
+ # A maximum of 50 items can be specified in one request. _Note: if the `ids`
87
+ # parameter is present in the query string, any IDs listed here in the body will
88
+ # be ignored._
89
+ body_ids: nil,
90
+ request_options: {}
91
+ )
92
+ end
93
+
94
+ # @api private
95
+ sig { params(client: Spotted::Client).returns(T.attached_class) }
96
+ def self.new(client:)
97
+ end
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,62 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Me
6
+ class Top
7
+ # Get the current user's top artists based on calculated affinity.
8
+ sig do
9
+ params(
10
+ limit: Integer,
11
+ offset: Integer,
12
+ time_range: String,
13
+ request_options: Spotted::RequestOptions::OrHash
14
+ ).returns(Spotted::Internal::CursorURLPage[Spotted::ArtistObject])
15
+ end
16
+ def list_top_artists(
17
+ # The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
18
+ limit: nil,
19
+ # The index of the first item to return. Default: 0 (the first item). Use with
20
+ # limit to get the next set of items.
21
+ offset: nil,
22
+ # Over what time frame the affinities are computed. Valid values: `long_term`
23
+ # (calculated from ~1 year of data and including all new data as it becomes
24
+ # available), `medium_term` (approximately last 6 months), `short_term`
25
+ # (approximately last 4 weeks). Default: `medium_term`
26
+ time_range: nil,
27
+ request_options: {}
28
+ )
29
+ end
30
+
31
+ # Get the current user's top tracks based on calculated affinity.
32
+ sig do
33
+ params(
34
+ limit: Integer,
35
+ offset: Integer,
36
+ time_range: String,
37
+ request_options: Spotted::RequestOptions::OrHash
38
+ ).returns(Spotted::Internal::CursorURLPage[Spotted::TrackObject])
39
+ end
40
+ def list_top_tracks(
41
+ # The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
42
+ limit: nil,
43
+ # The index of the first item to return. Default: 0 (the first item). Use with
44
+ # limit to get the next set of items.
45
+ offset: nil,
46
+ # Over what time frame the affinities are computed. Valid values: `long_term`
47
+ # (calculated from ~1 year of data and including all new data as it becomes
48
+ # available), `medium_term` (approximately last 6 months), `short_term`
49
+ # (approximately last 4 weeks). Default: `medium_term`
50
+ time_range: nil,
51
+ request_options: {}
52
+ )
53
+ end
54
+
55
+ # @api private
56
+ sig { params(client: Spotted::Client).returns(T.attached_class) }
57
+ def self.new(client:)
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,112 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Me
6
+ class Tracks
7
+ # Get a list of the songs saved in the current Spotify user's 'Your Music'
8
+ # library.
9
+ sig do
10
+ params(
11
+ limit: Integer,
12
+ market: String,
13
+ offset: Integer,
14
+ request_options: Spotted::RequestOptions::OrHash
15
+ ).returns(
16
+ Spotted::Internal::CursorURLPage[
17
+ Spotted::Models::Me::TrackListResponse
18
+ ]
19
+ )
20
+ end
21
+ def list(
22
+ # The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
23
+ limit: nil,
24
+ # An
25
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
26
+ # If a country code is specified, only content that is available in that market
27
+ # will be returned.<br/> If a valid user access token is specified in the request
28
+ # header, the country associated with the user account will take priority over
29
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
30
+ # the content is considered unavailable for the client._<br/> Users can view the
31
+ # country that is associated with their account in the
32
+ # [account settings](https://www.spotify.com/account/overview/).
33
+ market: nil,
34
+ # The index of the first item to return. Default: 0 (the first item). Use with
35
+ # limit to get the next set of items.
36
+ offset: nil,
37
+ request_options: {}
38
+ )
39
+ end
40
+
41
+ # Check if one or more tracks is already saved in the current Spotify user's 'Your
42
+ # Music' library.
43
+ sig do
44
+ params(
45
+ ids: String,
46
+ request_options: Spotted::RequestOptions::OrHash
47
+ ).returns(T::Array[T::Boolean])
48
+ end
49
+ def check(
50
+ # A comma-separated list of the
51
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example:
52
+ # `ids=4iV5W9uYEdYUVa79Axb7Rh,1301WleyT98MSxVHPZCA6M`. Maximum: 50 IDs.
53
+ ids:,
54
+ request_options: {}
55
+ )
56
+ end
57
+
58
+ # Remove one or more tracks from the current user's 'Your Music' library.
59
+ sig do
60
+ params(
61
+ body_ids: T::Array[String],
62
+ request_options: Spotted::RequestOptions::OrHash
63
+ ).void
64
+ end
65
+ def remove(
66
+ # Body param: A JSON array of the
67
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example:
68
+ # `["4iV5W9uYEdYUVa79Axb7Rh", "1301WleyT98MSxVHPZCA6M"]`<br/>A maximum of 50 items
69
+ # can be specified in one request. _**Note**: if the `ids` parameter is present in
70
+ # the query string, any IDs listed here in the body will be ignored._
71
+ body_ids: nil,
72
+ request_options: {}
73
+ )
74
+ end
75
+
76
+ # Save one or more tracks to the current user's 'Your Music' library.
77
+ sig do
78
+ params(
79
+ ids: T::Array[String],
80
+ timestamped_ids:
81
+ T::Array[Spotted::Me::TrackSaveParams::TimestampedID::OrHash],
82
+ request_options: Spotted::RequestOptions::OrHash
83
+ ).void
84
+ end
85
+ def save(
86
+ # A JSON array of the
87
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example:
88
+ # `["4iV5W9uYEdYUVa79Axb7Rh", "1301WleyT98MSxVHPZCA6M"]`<br/>A maximum of 50 items
89
+ # can be specified in one request. _**Note**: if the `timestamped_ids` is present
90
+ # in the body, any IDs listed in the query parameters (deprecated) or the `ids`
91
+ # field in the body will be ignored._
92
+ ids:,
93
+ # A JSON array of objects containing track IDs with their corresponding
94
+ # timestamps. Each object must include a track ID and an `added_at` timestamp.
95
+ # This allows you to specify when tracks were added to maintain a specific
96
+ # chronological order in the user's library.<br/>A maximum of 50 items can be
97
+ # specified in one request. _**Note**: if the `timestamped_ids` is present in the
98
+ # body, any IDs listed in the query parameters (deprecated) or the `ids` field in
99
+ # the body will be ignored._
100
+ timestamped_ids: nil,
101
+ request_options: {}
102
+ )
103
+ end
104
+
105
+ # @api private
106
+ sig { params(client: Spotted::Client).returns(T.attached_class) }
107
+ def self.new(client:)
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,49 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Me
6
+ sig { returns(Spotted::Resources::Me::Audiobooks) }
7
+ attr_reader :audiobooks
8
+
9
+ sig { returns(Spotted::Resources::Me::Playlists) }
10
+ attr_reader :playlists
11
+
12
+ sig { returns(Spotted::Resources::Me::Top) }
13
+ attr_reader :top
14
+
15
+ sig { returns(Spotted::Resources::Me::Albums) }
16
+ attr_reader :albums
17
+
18
+ sig { returns(Spotted::Resources::Me::Tracks) }
19
+ attr_reader :tracks
20
+
21
+ sig { returns(Spotted::Resources::Me::Episodes) }
22
+ attr_reader :episodes
23
+
24
+ sig { returns(Spotted::Resources::Me::Shows) }
25
+ attr_reader :shows
26
+
27
+ sig { returns(Spotted::Resources::Me::Following) }
28
+ attr_reader :following
29
+
30
+ sig { returns(Spotted::Resources::Me::Player) }
31
+ attr_reader :player
32
+
33
+ # Get detailed profile information about the current user (including the current
34
+ # user's username).
35
+ sig do
36
+ params(request_options: Spotted::RequestOptions::OrHash).returns(
37
+ Spotted::Models::MeRetrieveResponse
38
+ )
39
+ end
40
+ def retrieve(request_options: {})
41
+ end
42
+
43
+ # @api private
44
+ sig { params(client: Spotted::Client).returns(T.attached_class) }
45
+ def self.new(client:)
46
+ end
47
+ end
48
+ end
49
+ end