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,161 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ class SimplifiedTrackObject < Spotted::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
8
+ # track.
9
+ #
10
+ # @return [String, nil]
11
+ optional :id, String
12
+
13
+ # @!attribute artists
14
+ # The artists who performed the track. Each artist object includes a link in
15
+ # `href` to more detailed information about the artist.
16
+ #
17
+ # @return [Array<Spotted::Models::SimplifiedArtistObject>, nil]
18
+ optional :artists, -> { Spotted::Internal::Type::ArrayOf[Spotted::SimplifiedArtistObject] }
19
+
20
+ # @!attribute available_markets
21
+ # A list of the countries in which the track can be played, identified by their
22
+ # [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
23
+ #
24
+ # @return [Array<String>, nil]
25
+ optional :available_markets, Spotted::Internal::Type::ArrayOf[String]
26
+
27
+ # @!attribute disc_number
28
+ # The disc number (usually `1` unless the album consists of more than one disc).
29
+ #
30
+ # @return [Integer, nil]
31
+ optional :disc_number, Integer
32
+
33
+ # @!attribute duration_ms
34
+ # The track length in milliseconds.
35
+ #
36
+ # @return [Integer, nil]
37
+ optional :duration_ms, Integer
38
+
39
+ # @!attribute explicit
40
+ # Whether or not the track has explicit lyrics ( `true` = yes it does; `false` =
41
+ # no it does not OR unknown).
42
+ #
43
+ # @return [Boolean, nil]
44
+ optional :explicit, Spotted::Internal::Type::Boolean
45
+
46
+ # @!attribute external_urls
47
+ # External URLs for this track.
48
+ #
49
+ # @return [Spotted::Models::ExternalURLObject, nil]
50
+ optional :external_urls, -> { Spotted::ExternalURLObject }
51
+
52
+ # @!attribute href
53
+ # A link to the Web API endpoint providing full details of the track.
54
+ #
55
+ # @return [String, nil]
56
+ optional :href, String
57
+
58
+ # @!attribute is_local
59
+ # Whether or not the track is from a local file.
60
+ #
61
+ # @return [Boolean, nil]
62
+ optional :is_local, Spotted::Internal::Type::Boolean
63
+
64
+ # @!attribute is_playable
65
+ # Part of the response when
66
+ # [Track Relinking](/documentation/web-api/concepts/track-relinking/) is applied.
67
+ # If `true`, the track is playable in the given market. Otherwise `false`.
68
+ #
69
+ # @return [Boolean, nil]
70
+ optional :is_playable, Spotted::Internal::Type::Boolean
71
+
72
+ # @!attribute linked_from
73
+ # Part of the response when
74
+ # [Track Relinking](/documentation/web-api/concepts/track-relinking/) is applied
75
+ # and is only part of the response if the track linking, in fact, exists. The
76
+ # requested track has been replaced with a different track. The track in the
77
+ # `linked_from` object contains information about the originally requested track.
78
+ #
79
+ # @return [Spotted::Models::LinkedTrackObject, nil]
80
+ optional :linked_from, -> { Spotted::LinkedTrackObject }
81
+
82
+ # @!attribute name
83
+ # The name of the track.
84
+ #
85
+ # @return [String, nil]
86
+ optional :name, String
87
+
88
+ # @!attribute preview_url
89
+ # @deprecated
90
+ #
91
+ # A URL to a 30 second preview (MP3 format) of the track.
92
+ #
93
+ # @return [String, nil]
94
+ optional :preview_url, String, nil?: true
95
+
96
+ # @!attribute restrictions
97
+ # Included in the response when a content restriction is applied.
98
+ #
99
+ # @return [Spotted::Models::TrackRestrictionObject, nil]
100
+ optional :restrictions, -> { Spotted::TrackRestrictionObject }
101
+
102
+ # @!attribute track_number
103
+ # The number of the track. If an album has several discs, the track number is the
104
+ # number on the specified disc.
105
+ #
106
+ # @return [Integer, nil]
107
+ optional :track_number, Integer
108
+
109
+ # @!attribute type
110
+ # The object type: "track".
111
+ #
112
+ # @return [String, nil]
113
+ optional :type, String
114
+
115
+ # @!attribute uri
116
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
117
+ # track.
118
+ #
119
+ # @return [String, nil]
120
+ optional :uri, String
121
+
122
+ # @!method initialize(id: nil, artists: nil, available_markets: nil, disc_number: nil, duration_ms: nil, explicit: nil, external_urls: nil, href: nil, is_local: nil, is_playable: nil, linked_from: nil, name: nil, preview_url: nil, restrictions: nil, track_number: nil, type: nil, uri: nil)
123
+ # Some parameter documentations has been truncated, see
124
+ # {Spotted::Models::SimplifiedTrackObject} for more details.
125
+ #
126
+ # @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the track
127
+ #
128
+ # @param artists [Array<Spotted::Models::SimplifiedArtistObject>] The artists who performed the track. Each artist object includes a link in `href
129
+ #
130
+ # @param available_markets [Array<String>] A list of the countries in which the track can be played, identified by their [I
131
+ #
132
+ # @param disc_number [Integer] The disc number (usually `1` unless the album consists of more than one disc).
133
+ #
134
+ # @param duration_ms [Integer] The track length in milliseconds.
135
+ #
136
+ # @param explicit [Boolean] Whether or not the track has explicit lyrics ( `true` = yes it does; `false` = n
137
+ #
138
+ # @param external_urls [Spotted::Models::ExternalURLObject] External URLs for this track.
139
+ #
140
+ # @param href [String] A link to the Web API endpoint providing full details of the track.
141
+ #
142
+ # @param is_local [Boolean] Whether or not the track is from a local file.
143
+ #
144
+ # @param is_playable [Boolean] Part of the response when [Track Relinking](/documentation/web-api/concepts/trac
145
+ #
146
+ # @param linked_from [Spotted::Models::LinkedTrackObject] Part of the response when [Track Relinking](/documentation/web-api/concepts/trac
147
+ #
148
+ # @param name [String] The name of the track.
149
+ #
150
+ # @param preview_url [String, nil] A URL to a 30 second preview (MP3 format) of the track.
151
+ #
152
+ # @param restrictions [Spotted::Models::TrackRestrictionObject] Included in the response when a content restriction is applied.
153
+ #
154
+ # @param track_number [Integer] The number of the track. If an album has several discs, the track number is the
155
+ #
156
+ # @param type [String] The object type: "track".
157
+ #
158
+ # @param uri [String] The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the trac
159
+ end
160
+ end
161
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ class TimeIntervalObject < Spotted::Internal::Type::BaseModel
6
+ # @!attribute confidence
7
+ # The confidence, from 0.0 to 1.0, of the reliability of the interval.
8
+ #
9
+ # @return [Float, nil]
10
+ optional :confidence, Float
11
+
12
+ # @!attribute duration
13
+ # The duration (in seconds) of the time interval.
14
+ #
15
+ # @return [Float, nil]
16
+ optional :duration, Float
17
+
18
+ # @!attribute start
19
+ # The starting point (in seconds) of the time interval.
20
+ #
21
+ # @return [Float, nil]
22
+ optional :start, Float
23
+
24
+ # @!method initialize(confidence: nil, duration: nil, start: nil)
25
+ # @param confidence [Float] The confidence, from 0.0 to 1.0, of the reliability of the interval.
26
+ #
27
+ # @param duration [Float] The duration (in seconds) of the time interval.
28
+ #
29
+ # @param start [Float] The starting point (in seconds) of the time interval.
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ # @see Spotted::Resources::Tracks#list
6
+ class TrackListParams < Spotted::Internal::Type::BaseModel
7
+ extend Spotted::Internal::Type::RequestParameters::Converter
8
+ include Spotted::Internal::Type::RequestParameters
9
+
10
+ # @!attribute ids
11
+ # A comma-separated list of the
12
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example:
13
+ # `ids=4iV5W9uYEdYUVa79Axb7Rh,1301WleyT98MSxVHPZCA6M`. Maximum: 50 IDs.
14
+ #
15
+ # @return [String]
16
+ required :ids, String
17
+
18
+ # @!attribute market
19
+ # An
20
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
21
+ # If a country code is specified, only content that is available in that market
22
+ # will be returned.<br/> If a valid user access token is specified in the request
23
+ # header, the country associated with the user account will take priority over
24
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
25
+ # the content is considered unavailable for the client._<br/> Users can view the
26
+ # country that is associated with their account in the
27
+ # [account settings](https://www.spotify.com/account/overview/).
28
+ #
29
+ # @return [String, nil]
30
+ optional :market, String
31
+
32
+ # @!method initialize(ids:, market: nil, request_options: {})
33
+ # Some parameter documentations has been truncated, see
34
+ # {Spotted::Models::TrackListParams} for more details.
35
+ #
36
+ # @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
37
+ #
38
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
39
+ #
40
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}]
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ # @see Spotted::Resources::Tracks#list
6
+ class TrackListResponse < Spotted::Internal::Type::BaseModel
7
+ # @!attribute tracks
8
+ #
9
+ # @return [Array<Spotted::Models::TrackObject>]
10
+ required :tracks, -> { Spotted::Internal::Type::ArrayOf[Spotted::TrackObject] }
11
+
12
+ # @!method initialize(tracks:)
13
+ # @param tracks [Array<Spotted::Models::TrackObject>]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,375 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ class TrackObject < Spotted::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
8
+ # track.
9
+ #
10
+ # @return [String, nil]
11
+ optional :id, String
12
+
13
+ # @!attribute album
14
+ # The album on which the track appears. The album object includes a link in `href`
15
+ # to full information about the album.
16
+ #
17
+ # @return [Spotted::Models::TrackObject::Album, nil]
18
+ optional :album, -> { Spotted::TrackObject::Album }
19
+
20
+ # @!attribute artists
21
+ # The artists who performed the track. Each artist object includes a link in
22
+ # `href` to more detailed information about the artist.
23
+ #
24
+ # @return [Array<Spotted::Models::SimplifiedArtistObject>, nil]
25
+ optional :artists, -> { Spotted::Internal::Type::ArrayOf[Spotted::SimplifiedArtistObject] }
26
+
27
+ # @!attribute available_markets
28
+ # A list of the countries in which the track can be played, identified by their
29
+ # [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
30
+ #
31
+ # @return [Array<String>, nil]
32
+ optional :available_markets, Spotted::Internal::Type::ArrayOf[String]
33
+
34
+ # @!attribute disc_number
35
+ # The disc number (usually `1` unless the album consists of more than one disc).
36
+ #
37
+ # @return [Integer, nil]
38
+ optional :disc_number, Integer
39
+
40
+ # @!attribute duration_ms
41
+ # The track length in milliseconds.
42
+ #
43
+ # @return [Integer, nil]
44
+ optional :duration_ms, Integer
45
+
46
+ # @!attribute explicit
47
+ # Whether or not the track has explicit lyrics ( `true` = yes it does; `false` =
48
+ # no it does not OR unknown).
49
+ #
50
+ # @return [Boolean, nil]
51
+ optional :explicit, Spotted::Internal::Type::Boolean
52
+
53
+ # @!attribute external_ids
54
+ # Known external IDs for the track.
55
+ #
56
+ # @return [Spotted::Models::ExternalIDObject, nil]
57
+ optional :external_ids, -> { Spotted::ExternalIDObject }
58
+
59
+ # @!attribute external_urls
60
+ # Known external URLs for this track.
61
+ #
62
+ # @return [Spotted::Models::ExternalURLObject, nil]
63
+ optional :external_urls, -> { Spotted::ExternalURLObject }
64
+
65
+ # @!attribute href
66
+ # A link to the Web API endpoint providing full details of the track.
67
+ #
68
+ # @return [String, nil]
69
+ optional :href, String
70
+
71
+ # @!attribute is_local
72
+ # Whether or not the track is from a local file.
73
+ #
74
+ # @return [Boolean, nil]
75
+ optional :is_local, Spotted::Internal::Type::Boolean
76
+
77
+ # @!attribute is_playable
78
+ # Part of the response when
79
+ # [Track Relinking](/documentation/web-api/concepts/track-relinking) is applied.
80
+ # If `true`, the track is playable in the given market. Otherwise `false`.
81
+ #
82
+ # @return [Boolean, nil]
83
+ optional :is_playable, Spotted::Internal::Type::Boolean
84
+
85
+ # @!attribute linked_from
86
+ # Part of the response when
87
+ # [Track Relinking](/documentation/web-api/concepts/track-relinking) is applied,
88
+ # and the requested track has been replaced with different track. The track in the
89
+ # `linked_from` object contains information about the originally requested track.
90
+ #
91
+ # @return [Spotted::Models::LinkedTrackObject, nil]
92
+ optional :linked_from, -> { Spotted::LinkedTrackObject }
93
+
94
+ # @!attribute name
95
+ # The name of the track.
96
+ #
97
+ # @return [String, nil]
98
+ optional :name, String
99
+
100
+ # @!attribute popularity
101
+ # The popularity of the track. The value will be between 0 and 100, with 100 being
102
+ # the most popular.<br/>The popularity of a track is a value between 0 and 100,
103
+ # with 100 being the most popular. The popularity is calculated by algorithm and
104
+ # is based, in the most part, on the total number of plays the track has had and
105
+ # how recent those plays are.<br/>Generally speaking, songs that are being played
106
+ # a lot now will have a higher popularity than songs that were played a lot in the
107
+ # past. Duplicate tracks (e.g. the same track from a single and an album) are
108
+ # rated independently. Artist and album popularity is derived mathematically from
109
+ # track popularity. _**Note**: the popularity value may lag actual popularity by a
110
+ # few days: the value is not updated in real time._
111
+ #
112
+ # @return [Integer, nil]
113
+ optional :popularity, Integer
114
+
115
+ # @!attribute preview_url
116
+ # @deprecated
117
+ #
118
+ # A link to a 30 second preview (MP3 format) of the track. Can be `null`
119
+ #
120
+ # @return [String, nil]
121
+ optional :preview_url, String, nil?: true
122
+
123
+ # @!attribute restrictions
124
+ # Included in the response when a content restriction is applied.
125
+ #
126
+ # @return [Spotted::Models::TrackRestrictionObject, nil]
127
+ optional :restrictions, -> { Spotted::TrackRestrictionObject }
128
+
129
+ # @!attribute track_number
130
+ # The number of the track. If an album has several discs, the track number is the
131
+ # number on the specified disc.
132
+ #
133
+ # @return [Integer, nil]
134
+ optional :track_number, Integer
135
+
136
+ # @!attribute type
137
+ # The object type: "track".
138
+ #
139
+ # @return [Symbol, Spotted::Models::TrackObject::Type, nil]
140
+ optional :type, enum: -> { Spotted::TrackObject::Type }
141
+
142
+ # @!attribute uri
143
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
144
+ # track.
145
+ #
146
+ # @return [String, nil]
147
+ optional :uri, String
148
+
149
+ # @!method initialize(id: nil, album: nil, artists: nil, available_markets: nil, disc_number: nil, duration_ms: nil, explicit: nil, external_ids: nil, external_urls: nil, href: nil, is_local: nil, is_playable: nil, linked_from: nil, name: nil, popularity: nil, preview_url: nil, restrictions: nil, track_number: nil, type: nil, uri: nil)
150
+ # Some parameter documentations has been truncated, see
151
+ # {Spotted::Models::TrackObject} for more details.
152
+ #
153
+ # @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the track
154
+ #
155
+ # @param album [Spotted::Models::TrackObject::Album] The album on which the track appears. The album object includes a link in `href`
156
+ #
157
+ # @param artists [Array<Spotted::Models::SimplifiedArtistObject>] The artists who performed the track. Each artist object includes a link in `href
158
+ #
159
+ # @param available_markets [Array<String>] A list of the countries in which the track can be played, identified by their [I
160
+ #
161
+ # @param disc_number [Integer] The disc number (usually `1` unless the album consists of more than one disc).
162
+ #
163
+ # @param duration_ms [Integer] The track length in milliseconds.
164
+ #
165
+ # @param explicit [Boolean] Whether or not the track has explicit lyrics ( `true` = yes it does; `false` = n
166
+ #
167
+ # @param external_ids [Spotted::Models::ExternalIDObject] Known external IDs for the track.
168
+ #
169
+ # @param external_urls [Spotted::Models::ExternalURLObject] Known external URLs for this track.
170
+ #
171
+ # @param href [String] A link to the Web API endpoint providing full details of the track.
172
+ #
173
+ # @param is_local [Boolean] Whether or not the track is from a local file.
174
+ #
175
+ # @param is_playable [Boolean] Part of the response when [Track Relinking](/documentation/web-api/concepts/trac
176
+ #
177
+ # @param linked_from [Spotted::Models::LinkedTrackObject] Part of the response when [Track Relinking](/documentation/web-api/concepts/trac
178
+ #
179
+ # @param name [String] The name of the track.
180
+ #
181
+ # @param popularity [Integer] The popularity of the track. The value will be between 0 and 100, with 100 being
182
+ #
183
+ # @param preview_url [String, nil] A link to a 30 second preview (MP3 format) of the track. Can be `null`
184
+ #
185
+ # @param restrictions [Spotted::Models::TrackRestrictionObject] Included in the response when a content restriction is applied.
186
+ #
187
+ # @param track_number [Integer] The number of the track. If an album has several discs, the track number is the
188
+ #
189
+ # @param type [Symbol, Spotted::Models::TrackObject::Type] The object type: "track".
190
+ #
191
+ # @param uri [String] The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the trac
192
+
193
+ # @see Spotted::Models::TrackObject#album
194
+ class Album < Spotted::Internal::Type::BaseModel
195
+ # @!attribute id
196
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
197
+ # album.
198
+ #
199
+ # @return [String]
200
+ required :id, String
201
+
202
+ # @!attribute album_type
203
+ # The type of the album.
204
+ #
205
+ # @return [Symbol, Spotted::Models::TrackObject::Album::AlbumType]
206
+ required :album_type, enum: -> { Spotted::TrackObject::Album::AlbumType }
207
+
208
+ # @!attribute artists
209
+ # The artists of the album. Each artist object includes a link in `href` to more
210
+ # detailed information about the artist.
211
+ #
212
+ # @return [Array<Spotted::Models::SimplifiedArtistObject>]
213
+ required :artists, -> { Spotted::Internal::Type::ArrayOf[Spotted::SimplifiedArtistObject] }
214
+
215
+ # @!attribute available_markets
216
+ # The markets in which the album is available:
217
+ # [ISO 3166-1 alpha-2 country codes](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
218
+ # _**NOTE**: an album is considered available in a market when at least 1 of its
219
+ # tracks is available in that market._
220
+ #
221
+ # @return [Array<String>]
222
+ required :available_markets, Spotted::Internal::Type::ArrayOf[String]
223
+
224
+ # @!attribute external_urls
225
+ # Known external URLs for this album.
226
+ #
227
+ # @return [Spotted::Models::ExternalURLObject]
228
+ required :external_urls, -> { Spotted::ExternalURLObject }
229
+
230
+ # @!attribute href
231
+ # A link to the Web API endpoint providing full details of the album.
232
+ #
233
+ # @return [String]
234
+ required :href, String
235
+
236
+ # @!attribute images
237
+ # The cover art for the album in various sizes, widest first.
238
+ #
239
+ # @return [Array<Spotted::Models::ImageObject>]
240
+ required :images, -> { Spotted::Internal::Type::ArrayOf[Spotted::ImageObject] }
241
+
242
+ # @!attribute name
243
+ # The name of the album. In case of an album takedown, the value may be an empty
244
+ # string.
245
+ #
246
+ # @return [String]
247
+ required :name, String
248
+
249
+ # @!attribute release_date
250
+ # The date the album was first released.
251
+ #
252
+ # @return [String]
253
+ required :release_date, String
254
+
255
+ # @!attribute release_date_precision
256
+ # The precision with which `release_date` value is known.
257
+ #
258
+ # @return [Symbol, Spotted::Models::TrackObject::Album::ReleaseDatePrecision]
259
+ required :release_date_precision, enum: -> { Spotted::TrackObject::Album::ReleaseDatePrecision }
260
+
261
+ # @!attribute total_tracks
262
+ # The number of tracks in the album.
263
+ #
264
+ # @return [Integer]
265
+ required :total_tracks, Integer
266
+
267
+ # @!attribute type
268
+ # The object type.
269
+ #
270
+ # @return [Symbol, Spotted::Models::TrackObject::Album::Type]
271
+ required :type, enum: -> { Spotted::TrackObject::Album::Type }
272
+
273
+ # @!attribute uri
274
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
275
+ # album.
276
+ #
277
+ # @return [String]
278
+ required :uri, String
279
+
280
+ # @!attribute restrictions
281
+ # Included in the response when a content restriction is applied.
282
+ #
283
+ # @return [Spotted::Models::AlbumRestrictionObject, nil]
284
+ optional :restrictions, -> { Spotted::AlbumRestrictionObject }
285
+
286
+ # @!method initialize(id:, album_type:, artists:, available_markets:, external_urls:, href:, images:, name:, release_date:, release_date_precision:, total_tracks:, type:, uri:, restrictions: nil)
287
+ # Some parameter documentations has been truncated, see
288
+ # {Spotted::Models::TrackObject::Album} for more details.
289
+ #
290
+ # The album on which the track appears. The album object includes a link in `href`
291
+ # to full information about the album.
292
+ #
293
+ # @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the album
294
+ #
295
+ # @param album_type [Symbol, Spotted::Models::TrackObject::Album::AlbumType] The type of the album.
296
+ #
297
+ # @param artists [Array<Spotted::Models::SimplifiedArtistObject>] The artists of the album. Each artist object includes a link in `href` to more d
298
+ #
299
+ # @param available_markets [Array<String>] The markets in which the album is available: [ISO 3166-1 alpha-2 country codes](
300
+ #
301
+ # @param external_urls [Spotted::Models::ExternalURLObject] Known external URLs for this album.
302
+ #
303
+ # @param href [String] A link to the Web API endpoint providing full details of the album.
304
+ #
305
+ # @param images [Array<Spotted::Models::ImageObject>] The cover art for the album in various sizes, widest first.
306
+ #
307
+ # @param name [String] The name of the album. In case of an album takedown, the value may be an empty s
308
+ #
309
+ # @param release_date [String] The date the album was first released.
310
+ #
311
+ # @param release_date_precision [Symbol, Spotted::Models::TrackObject::Album::ReleaseDatePrecision] The precision with which `release_date` value is known.
312
+ #
313
+ # @param total_tracks [Integer] The number of tracks in the album.
314
+ #
315
+ # @param type [Symbol, Spotted::Models::TrackObject::Album::Type] The object type.
316
+ #
317
+ # @param uri [String] The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the albu
318
+ #
319
+ # @param restrictions [Spotted::Models::AlbumRestrictionObject] Included in the response when a content restriction is applied.
320
+
321
+ # The type of the album.
322
+ #
323
+ # @see Spotted::Models::TrackObject::Album#album_type
324
+ module AlbumType
325
+ extend Spotted::Internal::Type::Enum
326
+
327
+ ALBUM = :album
328
+ SINGLE = :single
329
+ COMPILATION = :compilation
330
+
331
+ # @!method self.values
332
+ # @return [Array<Symbol>]
333
+ end
334
+
335
+ # The precision with which `release_date` value is known.
336
+ #
337
+ # @see Spotted::Models::TrackObject::Album#release_date_precision
338
+ module ReleaseDatePrecision
339
+ extend Spotted::Internal::Type::Enum
340
+
341
+ YEAR = :year
342
+ MONTH = :month
343
+ DAY = :day
344
+
345
+ # @!method self.values
346
+ # @return [Array<Symbol>]
347
+ end
348
+
349
+ # The object type.
350
+ #
351
+ # @see Spotted::Models::TrackObject::Album#type
352
+ module Type
353
+ extend Spotted::Internal::Type::Enum
354
+
355
+ ALBUM = :album
356
+
357
+ # @!method self.values
358
+ # @return [Array<Symbol>]
359
+ end
360
+ end
361
+
362
+ # The object type: "track".
363
+ #
364
+ # @see Spotted::Models::TrackObject#type
365
+ module Type
366
+ extend Spotted::Internal::Type::Enum
367
+
368
+ TRACK = :track
369
+
370
+ # @!method self.values
371
+ # @return [Array<Symbol>]
372
+ end
373
+ end
374
+ end
375
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ class TrackRestrictionObject < Spotted::Internal::Type::BaseModel
6
+ # @!attribute reason
7
+ # The reason for the restriction. Supported values:
8
+ #
9
+ # - `market` - The content item is not available in the given market.
10
+ # - `product` - The content item is not available for the user's subscription
11
+ # type.
12
+ # - `explicit` - The content item is explicit and the user's account is set to not
13
+ # play explicit content.
14
+ #
15
+ # Additional reasons may be added in the future. **Note**: If you use this field,
16
+ # make sure that your application safely handles unknown values.
17
+ #
18
+ # @return [String, nil]
19
+ optional :reason, String
20
+
21
+ # @!method initialize(reason: nil)
22
+ # Some parameter documentations has been truncated, see
23
+ # {Spotted::Models::TrackRestrictionObject} for more details.
24
+ #
25
+ # @param reason [String] The reason for the restriction. Supported values:
26
+ end
27
+ end
28
+ end