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,556 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Models
5
+ class TrackObject < Spotted::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Spotted::TrackObject, Spotted::Internal::AnyHash) }
8
+
9
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
10
+ # track.
11
+ sig { returns(T.nilable(String)) }
12
+ attr_reader :id
13
+
14
+ sig { params(id: String).void }
15
+ attr_writer :id
16
+
17
+ # The album on which the track appears. The album object includes a link in `href`
18
+ # to full information about the album.
19
+ sig { returns(T.nilable(Spotted::TrackObject::Album)) }
20
+ attr_reader :album
21
+
22
+ sig { params(album: Spotted::TrackObject::Album::OrHash).void }
23
+ attr_writer :album
24
+
25
+ # The artists who performed the track. Each artist object includes a link in
26
+ # `href` to more detailed information about the artist.
27
+ sig { returns(T.nilable(T::Array[Spotted::SimplifiedArtistObject])) }
28
+ attr_reader :artists
29
+
30
+ sig do
31
+ params(artists: T::Array[Spotted::SimplifiedArtistObject::OrHash]).void
32
+ end
33
+ attr_writer :artists
34
+
35
+ # A list of the countries in which the track can be played, identified by their
36
+ # [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
37
+ sig { returns(T.nilable(T::Array[String])) }
38
+ attr_reader :available_markets
39
+
40
+ sig { params(available_markets: T::Array[String]).void }
41
+ attr_writer :available_markets
42
+
43
+ # The disc number (usually `1` unless the album consists of more than one disc).
44
+ sig { returns(T.nilable(Integer)) }
45
+ attr_reader :disc_number
46
+
47
+ sig { params(disc_number: Integer).void }
48
+ attr_writer :disc_number
49
+
50
+ # The track length in milliseconds.
51
+ sig { returns(T.nilable(Integer)) }
52
+ attr_reader :duration_ms
53
+
54
+ sig { params(duration_ms: Integer).void }
55
+ attr_writer :duration_ms
56
+
57
+ # Whether or not the track has explicit lyrics ( `true` = yes it does; `false` =
58
+ # no it does not OR unknown).
59
+ sig { returns(T.nilable(T::Boolean)) }
60
+ attr_reader :explicit
61
+
62
+ sig { params(explicit: T::Boolean).void }
63
+ attr_writer :explicit
64
+
65
+ # Known external IDs for the track.
66
+ sig { returns(T.nilable(Spotted::ExternalIDObject)) }
67
+ attr_reader :external_ids
68
+
69
+ sig { params(external_ids: Spotted::ExternalIDObject::OrHash).void }
70
+ attr_writer :external_ids
71
+
72
+ # Known external URLs for this track.
73
+ sig { returns(T.nilable(Spotted::ExternalURLObject)) }
74
+ attr_reader :external_urls
75
+
76
+ sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
77
+ attr_writer :external_urls
78
+
79
+ # A link to the Web API endpoint providing full details of the track.
80
+ sig { returns(T.nilable(String)) }
81
+ attr_reader :href
82
+
83
+ sig { params(href: String).void }
84
+ attr_writer :href
85
+
86
+ # Whether or not the track is from a local file.
87
+ sig { returns(T.nilable(T::Boolean)) }
88
+ attr_reader :is_local
89
+
90
+ sig { params(is_local: T::Boolean).void }
91
+ attr_writer :is_local
92
+
93
+ # Part of the response when
94
+ # [Track Relinking](/documentation/web-api/concepts/track-relinking) is applied.
95
+ # If `true`, the track is playable in the given market. Otherwise `false`.
96
+ sig { returns(T.nilable(T::Boolean)) }
97
+ attr_reader :is_playable
98
+
99
+ sig { params(is_playable: T::Boolean).void }
100
+ attr_writer :is_playable
101
+
102
+ # Part of the response when
103
+ # [Track Relinking](/documentation/web-api/concepts/track-relinking) is applied,
104
+ # and the requested track has been replaced with different track. The track in the
105
+ # `linked_from` object contains information about the originally requested track.
106
+ sig { returns(T.nilable(Spotted::LinkedTrackObject)) }
107
+ attr_reader :linked_from
108
+
109
+ sig { params(linked_from: Spotted::LinkedTrackObject::OrHash).void }
110
+ attr_writer :linked_from
111
+
112
+ # The name of the track.
113
+ sig { returns(T.nilable(String)) }
114
+ attr_reader :name
115
+
116
+ sig { params(name: String).void }
117
+ attr_writer :name
118
+
119
+ # The popularity of the track. The value will be between 0 and 100, with 100 being
120
+ # the most popular.<br/>The popularity of a track is a value between 0 and 100,
121
+ # with 100 being the most popular. The popularity is calculated by algorithm and
122
+ # is based, in the most part, on the total number of plays the track has had and
123
+ # how recent those plays are.<br/>Generally speaking, songs that are being played
124
+ # a lot now will have a higher popularity than songs that were played a lot in the
125
+ # past. Duplicate tracks (e.g. the same track from a single and an album) are
126
+ # rated independently. Artist and album popularity is derived mathematically from
127
+ # track popularity. _**Note**: the popularity value may lag actual popularity by a
128
+ # few days: the value is not updated in real time._
129
+ sig { returns(T.nilable(Integer)) }
130
+ attr_reader :popularity
131
+
132
+ sig { params(popularity: Integer).void }
133
+ attr_writer :popularity
134
+
135
+ # A link to a 30 second preview (MP3 format) of the track. Can be `null`
136
+ sig { returns(T.nilable(String)) }
137
+ attr_accessor :preview_url
138
+
139
+ # Included in the response when a content restriction is applied.
140
+ sig { returns(T.nilable(Spotted::TrackRestrictionObject)) }
141
+ attr_reader :restrictions
142
+
143
+ sig { params(restrictions: Spotted::TrackRestrictionObject::OrHash).void }
144
+ attr_writer :restrictions
145
+
146
+ # The number of the track. If an album has several discs, the track number is the
147
+ # number on the specified disc.
148
+ sig { returns(T.nilable(Integer)) }
149
+ attr_reader :track_number
150
+
151
+ sig { params(track_number: Integer).void }
152
+ attr_writer :track_number
153
+
154
+ # The object type: "track".
155
+ sig { returns(T.nilable(Spotted::TrackObject::Type::TaggedSymbol)) }
156
+ attr_reader :type
157
+
158
+ sig { params(type: Spotted::TrackObject::Type::OrSymbol).void }
159
+ attr_writer :type
160
+
161
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
162
+ # track.
163
+ sig { returns(T.nilable(String)) }
164
+ attr_reader :uri
165
+
166
+ sig { params(uri: String).void }
167
+ attr_writer :uri
168
+
169
+ sig do
170
+ params(
171
+ id: String,
172
+ album: Spotted::TrackObject::Album::OrHash,
173
+ artists: T::Array[Spotted::SimplifiedArtistObject::OrHash],
174
+ available_markets: T::Array[String],
175
+ disc_number: Integer,
176
+ duration_ms: Integer,
177
+ explicit: T::Boolean,
178
+ external_ids: Spotted::ExternalIDObject::OrHash,
179
+ external_urls: Spotted::ExternalURLObject::OrHash,
180
+ href: String,
181
+ is_local: T::Boolean,
182
+ is_playable: T::Boolean,
183
+ linked_from: Spotted::LinkedTrackObject::OrHash,
184
+ name: String,
185
+ popularity: Integer,
186
+ preview_url: T.nilable(String),
187
+ restrictions: Spotted::TrackRestrictionObject::OrHash,
188
+ track_number: Integer,
189
+ type: Spotted::TrackObject::Type::OrSymbol,
190
+ uri: String
191
+ ).returns(T.attached_class)
192
+ end
193
+ def self.new(
194
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
195
+ # track.
196
+ id: nil,
197
+ # The album on which the track appears. The album object includes a link in `href`
198
+ # to full information about the album.
199
+ album: nil,
200
+ # The artists who performed the track. Each artist object includes a link in
201
+ # `href` to more detailed information about the artist.
202
+ artists: nil,
203
+ # A list of the countries in which the track can be played, identified by their
204
+ # [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
205
+ available_markets: nil,
206
+ # The disc number (usually `1` unless the album consists of more than one disc).
207
+ disc_number: nil,
208
+ # The track length in milliseconds.
209
+ duration_ms: nil,
210
+ # Whether or not the track has explicit lyrics ( `true` = yes it does; `false` =
211
+ # no it does not OR unknown).
212
+ explicit: nil,
213
+ # Known external IDs for the track.
214
+ external_ids: nil,
215
+ # Known external URLs for this track.
216
+ external_urls: nil,
217
+ # A link to the Web API endpoint providing full details of the track.
218
+ href: nil,
219
+ # Whether or not the track is from a local file.
220
+ is_local: nil,
221
+ # Part of the response when
222
+ # [Track Relinking](/documentation/web-api/concepts/track-relinking) is applied.
223
+ # If `true`, the track is playable in the given market. Otherwise `false`.
224
+ is_playable: nil,
225
+ # Part of the response when
226
+ # [Track Relinking](/documentation/web-api/concepts/track-relinking) is applied,
227
+ # and the requested track has been replaced with different track. The track in the
228
+ # `linked_from` object contains information about the originally requested track.
229
+ linked_from: nil,
230
+ # The name of the track.
231
+ name: nil,
232
+ # The popularity of the track. The value will be between 0 and 100, with 100 being
233
+ # the most popular.<br/>The popularity of a track is a value between 0 and 100,
234
+ # with 100 being the most popular. The popularity is calculated by algorithm and
235
+ # is based, in the most part, on the total number of plays the track has had and
236
+ # how recent those plays are.<br/>Generally speaking, songs that are being played
237
+ # a lot now will have a higher popularity than songs that were played a lot in the
238
+ # past. Duplicate tracks (e.g. the same track from a single and an album) are
239
+ # rated independently. Artist and album popularity is derived mathematically from
240
+ # track popularity. _**Note**: the popularity value may lag actual popularity by a
241
+ # few days: the value is not updated in real time._
242
+ popularity: nil,
243
+ # A link to a 30 second preview (MP3 format) of the track. Can be `null`
244
+ preview_url: nil,
245
+ # Included in the response when a content restriction is applied.
246
+ restrictions: nil,
247
+ # The number of the track. If an album has several discs, the track number is the
248
+ # number on the specified disc.
249
+ track_number: nil,
250
+ # The object type: "track".
251
+ type: nil,
252
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
253
+ # track.
254
+ uri: nil
255
+ )
256
+ end
257
+
258
+ sig do
259
+ override.returns(
260
+ {
261
+ id: String,
262
+ album: Spotted::TrackObject::Album,
263
+ artists: T::Array[Spotted::SimplifiedArtistObject],
264
+ available_markets: T::Array[String],
265
+ disc_number: Integer,
266
+ duration_ms: Integer,
267
+ explicit: T::Boolean,
268
+ external_ids: Spotted::ExternalIDObject,
269
+ external_urls: Spotted::ExternalURLObject,
270
+ href: String,
271
+ is_local: T::Boolean,
272
+ is_playable: T::Boolean,
273
+ linked_from: Spotted::LinkedTrackObject,
274
+ name: String,
275
+ popularity: Integer,
276
+ preview_url: T.nilable(String),
277
+ restrictions: Spotted::TrackRestrictionObject,
278
+ track_number: Integer,
279
+ type: Spotted::TrackObject::Type::TaggedSymbol,
280
+ uri: String
281
+ }
282
+ )
283
+ end
284
+ def to_hash
285
+ end
286
+
287
+ class Album < Spotted::Internal::Type::BaseModel
288
+ OrHash =
289
+ T.type_alias do
290
+ T.any(Spotted::TrackObject::Album, Spotted::Internal::AnyHash)
291
+ end
292
+
293
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
294
+ # album.
295
+ sig { returns(String) }
296
+ attr_accessor :id
297
+
298
+ # The type of the album.
299
+ sig { returns(Spotted::TrackObject::Album::AlbumType::TaggedSymbol) }
300
+ attr_accessor :album_type
301
+
302
+ # The artists of the album. Each artist object includes a link in `href` to more
303
+ # detailed information about the artist.
304
+ sig { returns(T::Array[Spotted::SimplifiedArtistObject]) }
305
+ attr_accessor :artists
306
+
307
+ # The markets in which the album is available:
308
+ # [ISO 3166-1 alpha-2 country codes](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
309
+ # _**NOTE**: an album is considered available in a market when at least 1 of its
310
+ # tracks is available in that market._
311
+ sig { returns(T::Array[String]) }
312
+ attr_accessor :available_markets
313
+
314
+ # Known external URLs for this album.
315
+ sig { returns(Spotted::ExternalURLObject) }
316
+ attr_reader :external_urls
317
+
318
+ sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
319
+ attr_writer :external_urls
320
+
321
+ # A link to the Web API endpoint providing full details of the album.
322
+ sig { returns(String) }
323
+ attr_accessor :href
324
+
325
+ # The cover art for the album in various sizes, widest first.
326
+ sig { returns(T::Array[Spotted::ImageObject]) }
327
+ attr_accessor :images
328
+
329
+ # The name of the album. In case of an album takedown, the value may be an empty
330
+ # string.
331
+ sig { returns(String) }
332
+ attr_accessor :name
333
+
334
+ # The date the album was first released.
335
+ sig { returns(String) }
336
+ attr_accessor :release_date
337
+
338
+ # The precision with which `release_date` value is known.
339
+ sig do
340
+ returns(
341
+ Spotted::TrackObject::Album::ReleaseDatePrecision::TaggedSymbol
342
+ )
343
+ end
344
+ attr_accessor :release_date_precision
345
+
346
+ # The number of tracks in the album.
347
+ sig { returns(Integer) }
348
+ attr_accessor :total_tracks
349
+
350
+ # The object type.
351
+ sig { returns(Spotted::TrackObject::Album::Type::TaggedSymbol) }
352
+ attr_accessor :type
353
+
354
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
355
+ # album.
356
+ sig { returns(String) }
357
+ attr_accessor :uri
358
+
359
+ # Included in the response when a content restriction is applied.
360
+ sig { returns(T.nilable(Spotted::AlbumRestrictionObject)) }
361
+ attr_reader :restrictions
362
+
363
+ sig do
364
+ params(restrictions: Spotted::AlbumRestrictionObject::OrHash).void
365
+ end
366
+ attr_writer :restrictions
367
+
368
+ # The album on which the track appears. The album object includes a link in `href`
369
+ # to full information about the album.
370
+ sig do
371
+ params(
372
+ id: String,
373
+ album_type: Spotted::TrackObject::Album::AlbumType::OrSymbol,
374
+ artists: T::Array[Spotted::SimplifiedArtistObject::OrHash],
375
+ available_markets: T::Array[String],
376
+ external_urls: Spotted::ExternalURLObject::OrHash,
377
+ href: String,
378
+ images: T::Array[Spotted::ImageObject::OrHash],
379
+ name: String,
380
+ release_date: String,
381
+ release_date_precision:
382
+ Spotted::TrackObject::Album::ReleaseDatePrecision::OrSymbol,
383
+ total_tracks: Integer,
384
+ type: Spotted::TrackObject::Album::Type::OrSymbol,
385
+ uri: String,
386
+ restrictions: Spotted::AlbumRestrictionObject::OrHash
387
+ ).returns(T.attached_class)
388
+ end
389
+ def self.new(
390
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
391
+ # album.
392
+ id:,
393
+ # The type of the album.
394
+ album_type:,
395
+ # The artists of the album. Each artist object includes a link in `href` to more
396
+ # detailed information about the artist.
397
+ artists:,
398
+ # The markets in which the album is available:
399
+ # [ISO 3166-1 alpha-2 country codes](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
400
+ # _**NOTE**: an album is considered available in a market when at least 1 of its
401
+ # tracks is available in that market._
402
+ available_markets:,
403
+ # Known external URLs for this album.
404
+ external_urls:,
405
+ # A link to the Web API endpoint providing full details of the album.
406
+ href:,
407
+ # The cover art for the album in various sizes, widest first.
408
+ images:,
409
+ # The name of the album. In case of an album takedown, the value may be an empty
410
+ # string.
411
+ name:,
412
+ # The date the album was first released.
413
+ release_date:,
414
+ # The precision with which `release_date` value is known.
415
+ release_date_precision:,
416
+ # The number of tracks in the album.
417
+ total_tracks:,
418
+ # The object type.
419
+ type:,
420
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
421
+ # album.
422
+ uri:,
423
+ # Included in the response when a content restriction is applied.
424
+ restrictions: nil
425
+ )
426
+ end
427
+
428
+ sig do
429
+ override.returns(
430
+ {
431
+ id: String,
432
+ album_type: Spotted::TrackObject::Album::AlbumType::TaggedSymbol,
433
+ artists: T::Array[Spotted::SimplifiedArtistObject],
434
+ available_markets: T::Array[String],
435
+ external_urls: Spotted::ExternalURLObject,
436
+ href: String,
437
+ images: T::Array[Spotted::ImageObject],
438
+ name: String,
439
+ release_date: String,
440
+ release_date_precision:
441
+ Spotted::TrackObject::Album::ReleaseDatePrecision::TaggedSymbol,
442
+ total_tracks: Integer,
443
+ type: Spotted::TrackObject::Album::Type::TaggedSymbol,
444
+ uri: String,
445
+ restrictions: Spotted::AlbumRestrictionObject
446
+ }
447
+ )
448
+ end
449
+ def to_hash
450
+ end
451
+
452
+ # The type of the album.
453
+ module AlbumType
454
+ extend Spotted::Internal::Type::Enum
455
+
456
+ TaggedSymbol =
457
+ T.type_alias do
458
+ T.all(Symbol, Spotted::TrackObject::Album::AlbumType)
459
+ end
460
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
461
+
462
+ ALBUM =
463
+ T.let(:album, Spotted::TrackObject::Album::AlbumType::TaggedSymbol)
464
+ SINGLE =
465
+ T.let(:single, Spotted::TrackObject::Album::AlbumType::TaggedSymbol)
466
+ COMPILATION =
467
+ T.let(
468
+ :compilation,
469
+ Spotted::TrackObject::Album::AlbumType::TaggedSymbol
470
+ )
471
+
472
+ sig do
473
+ override.returns(
474
+ T::Array[Spotted::TrackObject::Album::AlbumType::TaggedSymbol]
475
+ )
476
+ end
477
+ def self.values
478
+ end
479
+ end
480
+
481
+ # The precision with which `release_date` value is known.
482
+ module ReleaseDatePrecision
483
+ extend Spotted::Internal::Type::Enum
484
+
485
+ TaggedSymbol =
486
+ T.type_alias do
487
+ T.all(Symbol, Spotted::TrackObject::Album::ReleaseDatePrecision)
488
+ end
489
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
490
+
491
+ YEAR =
492
+ T.let(
493
+ :year,
494
+ Spotted::TrackObject::Album::ReleaseDatePrecision::TaggedSymbol
495
+ )
496
+ MONTH =
497
+ T.let(
498
+ :month,
499
+ Spotted::TrackObject::Album::ReleaseDatePrecision::TaggedSymbol
500
+ )
501
+ DAY =
502
+ T.let(
503
+ :day,
504
+ Spotted::TrackObject::Album::ReleaseDatePrecision::TaggedSymbol
505
+ )
506
+
507
+ sig do
508
+ override.returns(
509
+ T::Array[
510
+ Spotted::TrackObject::Album::ReleaseDatePrecision::TaggedSymbol
511
+ ]
512
+ )
513
+ end
514
+ def self.values
515
+ end
516
+ end
517
+
518
+ # The object type.
519
+ module Type
520
+ extend Spotted::Internal::Type::Enum
521
+
522
+ TaggedSymbol =
523
+ T.type_alias { T.all(Symbol, Spotted::TrackObject::Album::Type) }
524
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
525
+
526
+ ALBUM = T.let(:album, Spotted::TrackObject::Album::Type::TaggedSymbol)
527
+
528
+ sig do
529
+ override.returns(
530
+ T::Array[Spotted::TrackObject::Album::Type::TaggedSymbol]
531
+ )
532
+ end
533
+ def self.values
534
+ end
535
+ end
536
+ end
537
+
538
+ # The object type: "track".
539
+ module Type
540
+ extend Spotted::Internal::Type::Enum
541
+
542
+ TaggedSymbol =
543
+ T.type_alias { T.all(Symbol, Spotted::TrackObject::Type) }
544
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
545
+
546
+ TRACK = T.let(:track, Spotted::TrackObject::Type::TaggedSymbol)
547
+
548
+ sig do
549
+ override.returns(T::Array[Spotted::TrackObject::Type::TaggedSymbol])
550
+ end
551
+ def self.values
552
+ end
553
+ end
554
+ end
555
+ end
556
+ end
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Models
5
+ class TrackRestrictionObject < Spotted::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Spotted::TrackRestrictionObject, Spotted::Internal::AnyHash)
9
+ end
10
+
11
+ # The reason for the restriction. Supported values:
12
+ #
13
+ # - `market` - The content item is not available in the given market.
14
+ # - `product` - The content item is not available for the user's subscription
15
+ # type.
16
+ # - `explicit` - The content item is explicit and the user's account is set to not
17
+ # play explicit content.
18
+ #
19
+ # Additional reasons may be added in the future. **Note**: If you use this field,
20
+ # make sure that your application safely handles unknown values.
21
+ sig { returns(T.nilable(String)) }
22
+ attr_reader :reason
23
+
24
+ sig { params(reason: String).void }
25
+ attr_writer :reason
26
+
27
+ sig { params(reason: String).returns(T.attached_class) }
28
+ def self.new(
29
+ # The reason for the restriction. Supported values:
30
+ #
31
+ # - `market` - The content item is not available in the given market.
32
+ # - `product` - The content item is not available for the user's subscription
33
+ # type.
34
+ # - `explicit` - The content item is explicit and the user's account is set to not
35
+ # play explicit content.
36
+ #
37
+ # Additional reasons may be added in the future. **Note**: If you use this field,
38
+ # make sure that your application safely handles unknown values.
39
+ reason: nil
40
+ )
41
+ end
42
+
43
+ sig { override.returns({ reason: String }) }
44
+ def to_hash
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Models
5
+ class TrackRetrieveParams < Spotted::Internal::Type::BaseModel
6
+ extend Spotted::Internal::Type::RequestParameters::Converter
7
+ include Spotted::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Spotted::TrackRetrieveParams, Spotted::Internal::AnyHash)
12
+ end
13
+
14
+ # An
15
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
16
+ # If a country code is specified, only content that is available in that market
17
+ # will be returned.<br/> If a valid user access token is specified in the request
18
+ # header, the country associated with the user account will take priority over
19
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
20
+ # the content is considered unavailable for the client._<br/> Users can view the
21
+ # country that is associated with their account in the
22
+ # [account settings](https://www.spotify.com/account/overview/).
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :market
25
+
26
+ sig { params(market: String).void }
27
+ attr_writer :market
28
+
29
+ sig do
30
+ params(
31
+ market: String,
32
+ request_options: Spotted::RequestOptions::OrHash
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # An
37
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
38
+ # If a country code is specified, only content that is available in that market
39
+ # will be returned.<br/> If a valid user access token is specified in the request
40
+ # header, the country associated with the user account will take priority over
41
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
42
+ # the content is considered unavailable for the client._<br/> Users can view the
43
+ # country that is associated with their account in the
44
+ # [account settings](https://www.spotify.com/account/overview/).
45
+ market: nil,
46
+ request_options: {}
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ { market: String, request_options: Spotted::RequestOptions }
53
+ )
54
+ end
55
+ def to_hash
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Models
5
+ class UserRetrieveProfileParams < Spotted::Internal::Type::BaseModel
6
+ extend Spotted::Internal::Type::RequestParameters::Converter
7
+ include Spotted::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Spotted::UserRetrieveProfileParams, Spotted::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: Spotted::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: Spotted::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end