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,485 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Models
5
+ class EpisodeObject < Spotted::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Spotted::EpisodeObject, Spotted::Internal::AnyHash)
9
+ end
10
+
11
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
12
+ # episode.
13
+ sig { returns(String) }
14
+ attr_accessor :id
15
+
16
+ # A URL to a 30 second preview (MP3 format) of the episode. `null` if not
17
+ # available.
18
+ sig { returns(T.nilable(String)) }
19
+ attr_accessor :audio_preview_url
20
+
21
+ # A description of the episode. HTML tags are stripped away from this field, use
22
+ # `html_description` field in case HTML tags are needed.
23
+ sig { returns(String) }
24
+ attr_accessor :description
25
+
26
+ # The episode length in milliseconds.
27
+ sig { returns(Integer) }
28
+ attr_accessor :duration_ms
29
+
30
+ # Whether or not the episode has explicit content (true = yes it does; false = no
31
+ # it does not OR unknown).
32
+ sig { returns(T::Boolean) }
33
+ attr_accessor :explicit
34
+
35
+ # External URLs for this episode.
36
+ sig { returns(Spotted::ExternalURLObject) }
37
+ attr_reader :external_urls
38
+
39
+ sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
40
+ attr_writer :external_urls
41
+
42
+ # A link to the Web API endpoint providing full details of the episode.
43
+ sig { returns(String) }
44
+ attr_accessor :href
45
+
46
+ # A description of the episode. This field may contain HTML tags.
47
+ sig { returns(String) }
48
+ attr_accessor :html_description
49
+
50
+ # The cover art for the episode in various sizes, widest first.
51
+ sig { returns(T::Array[Spotted::ImageObject]) }
52
+ attr_accessor :images
53
+
54
+ # True if the episode is hosted outside of Spotify's CDN.
55
+ sig { returns(T::Boolean) }
56
+ attr_accessor :is_externally_hosted
57
+
58
+ # True if the episode is playable in the given market. Otherwise false.
59
+ sig { returns(T::Boolean) }
60
+ attr_accessor :is_playable
61
+
62
+ # A list of the languages used in the episode, identified by their
63
+ # [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639) code.
64
+ sig { returns(T::Array[String]) }
65
+ attr_accessor :languages
66
+
67
+ # The name of the episode.
68
+ sig { returns(String) }
69
+ attr_accessor :name
70
+
71
+ # The date the episode was first released, for example `"1981-12-15"`. Depending
72
+ # on the precision, it might be shown as `"1981"` or `"1981-12"`.
73
+ sig { returns(String) }
74
+ attr_accessor :release_date
75
+
76
+ # The precision with which `release_date` value is known.
77
+ sig do
78
+ returns(Spotted::EpisodeObject::ReleaseDatePrecision::TaggedSymbol)
79
+ end
80
+ attr_accessor :release_date_precision
81
+
82
+ # The show on which the episode belongs.
83
+ sig { returns(Spotted::EpisodeObject::Show) }
84
+ attr_reader :show
85
+
86
+ sig { params(show: Spotted::EpisodeObject::Show::OrHash).void }
87
+ attr_writer :show
88
+
89
+ # The object type.
90
+ sig { returns(Spotted::EpisodeObject::Type::TaggedSymbol) }
91
+ attr_accessor :type
92
+
93
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
94
+ # episode.
95
+ sig { returns(String) }
96
+ attr_accessor :uri
97
+
98
+ # The language used in the episode, identified by a
99
+ # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code. This field is deprecated
100
+ # and might be removed in the future. Please use the `languages` field instead.
101
+ sig { returns(T.nilable(String)) }
102
+ attr_reader :language
103
+
104
+ sig { params(language: String).void }
105
+ attr_writer :language
106
+
107
+ # Included in the response when a content restriction is applied.
108
+ sig { returns(T.nilable(Spotted::EpisodeRestrictionObject)) }
109
+ attr_reader :restrictions
110
+
111
+ sig do
112
+ params(restrictions: Spotted::EpisodeRestrictionObject::OrHash).void
113
+ end
114
+ attr_writer :restrictions
115
+
116
+ # The user's most recent position in the episode. Set if the supplied access token
117
+ # is a user token and has the scope 'user-read-playback-position'.
118
+ sig { returns(T.nilable(Spotted::ResumePointObject)) }
119
+ attr_reader :resume_point
120
+
121
+ sig { params(resume_point: Spotted::ResumePointObject::OrHash).void }
122
+ attr_writer :resume_point
123
+
124
+ sig do
125
+ params(
126
+ id: String,
127
+ audio_preview_url: T.nilable(String),
128
+ description: String,
129
+ duration_ms: Integer,
130
+ explicit: T::Boolean,
131
+ external_urls: Spotted::ExternalURLObject::OrHash,
132
+ href: String,
133
+ html_description: String,
134
+ images: T::Array[Spotted::ImageObject::OrHash],
135
+ is_externally_hosted: T::Boolean,
136
+ is_playable: T::Boolean,
137
+ languages: T::Array[String],
138
+ name: String,
139
+ release_date: String,
140
+ release_date_precision:
141
+ Spotted::EpisodeObject::ReleaseDatePrecision::OrSymbol,
142
+ show: Spotted::EpisodeObject::Show::OrHash,
143
+ type: Spotted::EpisodeObject::Type::OrSymbol,
144
+ uri: String,
145
+ language: String,
146
+ restrictions: Spotted::EpisodeRestrictionObject::OrHash,
147
+ resume_point: Spotted::ResumePointObject::OrHash
148
+ ).returns(T.attached_class)
149
+ end
150
+ def self.new(
151
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
152
+ # episode.
153
+ id:,
154
+ # A URL to a 30 second preview (MP3 format) of the episode. `null` if not
155
+ # available.
156
+ audio_preview_url:,
157
+ # A description of the episode. HTML tags are stripped away from this field, use
158
+ # `html_description` field in case HTML tags are needed.
159
+ description:,
160
+ # The episode length in milliseconds.
161
+ duration_ms:,
162
+ # Whether or not the episode has explicit content (true = yes it does; false = no
163
+ # it does not OR unknown).
164
+ explicit:,
165
+ # External URLs for this episode.
166
+ external_urls:,
167
+ # A link to the Web API endpoint providing full details of the episode.
168
+ href:,
169
+ # A description of the episode. This field may contain HTML tags.
170
+ html_description:,
171
+ # The cover art for the episode in various sizes, widest first.
172
+ images:,
173
+ # True if the episode is hosted outside of Spotify's CDN.
174
+ is_externally_hosted:,
175
+ # True if the episode is playable in the given market. Otherwise false.
176
+ is_playable:,
177
+ # A list of the languages used in the episode, identified by their
178
+ # [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639) code.
179
+ languages:,
180
+ # The name of the episode.
181
+ name:,
182
+ # The date the episode was first released, for example `"1981-12-15"`. Depending
183
+ # on the precision, it might be shown as `"1981"` or `"1981-12"`.
184
+ release_date:,
185
+ # The precision with which `release_date` value is known.
186
+ release_date_precision:,
187
+ # The show on which the episode belongs.
188
+ show:,
189
+ # The object type.
190
+ type:,
191
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
192
+ # episode.
193
+ uri:,
194
+ # The language used in the episode, identified by a
195
+ # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code. This field is deprecated
196
+ # and might be removed in the future. Please use the `languages` field instead.
197
+ language: nil,
198
+ # Included in the response when a content restriction is applied.
199
+ restrictions: nil,
200
+ # The user's most recent position in the episode. Set if the supplied access token
201
+ # is a user token and has the scope 'user-read-playback-position'.
202
+ resume_point: nil
203
+ )
204
+ end
205
+
206
+ sig do
207
+ override.returns(
208
+ {
209
+ id: String,
210
+ audio_preview_url: T.nilable(String),
211
+ description: String,
212
+ duration_ms: Integer,
213
+ explicit: T::Boolean,
214
+ external_urls: Spotted::ExternalURLObject,
215
+ href: String,
216
+ html_description: String,
217
+ images: T::Array[Spotted::ImageObject],
218
+ is_externally_hosted: T::Boolean,
219
+ is_playable: T::Boolean,
220
+ languages: T::Array[String],
221
+ name: String,
222
+ release_date: String,
223
+ release_date_precision:
224
+ Spotted::EpisodeObject::ReleaseDatePrecision::TaggedSymbol,
225
+ show: Spotted::EpisodeObject::Show,
226
+ type: Spotted::EpisodeObject::Type::TaggedSymbol,
227
+ uri: String,
228
+ language: String,
229
+ restrictions: Spotted::EpisodeRestrictionObject,
230
+ resume_point: Spotted::ResumePointObject
231
+ }
232
+ )
233
+ end
234
+ def to_hash
235
+ end
236
+
237
+ # The precision with which `release_date` value is known.
238
+ module ReleaseDatePrecision
239
+ extend Spotted::Internal::Type::Enum
240
+
241
+ TaggedSymbol =
242
+ T.type_alias do
243
+ T.all(Symbol, Spotted::EpisodeObject::ReleaseDatePrecision)
244
+ end
245
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
246
+
247
+ YEAR =
248
+ T.let(
249
+ :year,
250
+ Spotted::EpisodeObject::ReleaseDatePrecision::TaggedSymbol
251
+ )
252
+ MONTH =
253
+ T.let(
254
+ :month,
255
+ Spotted::EpisodeObject::ReleaseDatePrecision::TaggedSymbol
256
+ )
257
+ DAY =
258
+ T.let(
259
+ :day,
260
+ Spotted::EpisodeObject::ReleaseDatePrecision::TaggedSymbol
261
+ )
262
+
263
+ sig do
264
+ override.returns(
265
+ T::Array[Spotted::EpisodeObject::ReleaseDatePrecision::TaggedSymbol]
266
+ )
267
+ end
268
+ def self.values
269
+ end
270
+ end
271
+
272
+ class Show < Spotted::Internal::Type::BaseModel
273
+ OrHash =
274
+ T.type_alias do
275
+ T.any(Spotted::EpisodeObject::Show, Spotted::Internal::AnyHash)
276
+ end
277
+
278
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the show.
279
+ sig { returns(String) }
280
+ attr_accessor :id
281
+
282
+ # A list of the countries in which the show can be played, identified by their
283
+ # [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
284
+ sig { returns(T::Array[String]) }
285
+ attr_accessor :available_markets
286
+
287
+ # The copyright statements of the show.
288
+ sig { returns(T::Array[Spotted::CopyrightObject]) }
289
+ attr_accessor :copyrights
290
+
291
+ # A description of the show. HTML tags are stripped away from this field, use
292
+ # `html_description` field in case HTML tags are needed.
293
+ sig { returns(String) }
294
+ attr_accessor :description
295
+
296
+ # Whether or not the show has explicit content (true = yes it does; false = no it
297
+ # does not OR unknown).
298
+ sig { returns(T::Boolean) }
299
+ attr_accessor :explicit
300
+
301
+ # External URLs for this show.
302
+ sig { returns(Spotted::ExternalURLObject) }
303
+ attr_reader :external_urls
304
+
305
+ sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
306
+ attr_writer :external_urls
307
+
308
+ # A link to the Web API endpoint providing full details of the show.
309
+ sig { returns(String) }
310
+ attr_accessor :href
311
+
312
+ # A description of the show. This field may contain HTML tags.
313
+ sig { returns(String) }
314
+ attr_accessor :html_description
315
+
316
+ # The cover art for the show in various sizes, widest first.
317
+ sig { returns(T::Array[Spotted::ImageObject]) }
318
+ attr_accessor :images
319
+
320
+ # True if all of the shows episodes are hosted outside of Spotify's CDN. This
321
+ # field might be `null` in some cases.
322
+ sig { returns(T::Boolean) }
323
+ attr_accessor :is_externally_hosted
324
+
325
+ # A list of the languages used in the show, identified by their
326
+ # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
327
+ sig { returns(T::Array[String]) }
328
+ attr_accessor :languages
329
+
330
+ # The media type of the show.
331
+ sig { returns(String) }
332
+ attr_accessor :media_type
333
+
334
+ # The name of the episode.
335
+ sig { returns(String) }
336
+ attr_accessor :name
337
+
338
+ # The publisher of the show.
339
+ sig { returns(String) }
340
+ attr_accessor :publisher
341
+
342
+ # The total number of episodes in the show.
343
+ sig { returns(Integer) }
344
+ attr_accessor :total_episodes
345
+
346
+ # The object type.
347
+ sig { returns(Spotted::EpisodeObject::Show::Type::TaggedSymbol) }
348
+ attr_accessor :type
349
+
350
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
351
+ # show.
352
+ sig { returns(String) }
353
+ attr_accessor :uri
354
+
355
+ # The show on which the episode belongs.
356
+ sig do
357
+ params(
358
+ id: String,
359
+ available_markets: T::Array[String],
360
+ copyrights: T::Array[Spotted::CopyrightObject::OrHash],
361
+ description: String,
362
+ explicit: T::Boolean,
363
+ external_urls: Spotted::ExternalURLObject::OrHash,
364
+ href: String,
365
+ html_description: String,
366
+ images: T::Array[Spotted::ImageObject::OrHash],
367
+ is_externally_hosted: T::Boolean,
368
+ languages: T::Array[String],
369
+ media_type: String,
370
+ name: String,
371
+ publisher: String,
372
+ total_episodes: Integer,
373
+ type: Spotted::EpisodeObject::Show::Type::OrSymbol,
374
+ uri: String
375
+ ).returns(T.attached_class)
376
+ end
377
+ def self.new(
378
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the show.
379
+ id:,
380
+ # A list of the countries in which the show can be played, identified by their
381
+ # [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
382
+ available_markets:,
383
+ # The copyright statements of the show.
384
+ copyrights:,
385
+ # A description of the show. HTML tags are stripped away from this field, use
386
+ # `html_description` field in case HTML tags are needed.
387
+ description:,
388
+ # Whether or not the show has explicit content (true = yes it does; false = no it
389
+ # does not OR unknown).
390
+ explicit:,
391
+ # External URLs for this show.
392
+ external_urls:,
393
+ # A link to the Web API endpoint providing full details of the show.
394
+ href:,
395
+ # A description of the show. This field may contain HTML tags.
396
+ html_description:,
397
+ # The cover art for the show in various sizes, widest first.
398
+ images:,
399
+ # True if all of the shows episodes are hosted outside of Spotify's CDN. This
400
+ # field might be `null` in some cases.
401
+ is_externally_hosted:,
402
+ # A list of the languages used in the show, identified by their
403
+ # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
404
+ languages:,
405
+ # The media type of the show.
406
+ media_type:,
407
+ # The name of the episode.
408
+ name:,
409
+ # The publisher of the show.
410
+ publisher:,
411
+ # The total number of episodes in the show.
412
+ total_episodes:,
413
+ # The object type.
414
+ type:,
415
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
416
+ # show.
417
+ uri:
418
+ )
419
+ end
420
+
421
+ sig do
422
+ override.returns(
423
+ {
424
+ id: String,
425
+ available_markets: T::Array[String],
426
+ copyrights: T::Array[Spotted::CopyrightObject],
427
+ description: String,
428
+ explicit: T::Boolean,
429
+ external_urls: Spotted::ExternalURLObject,
430
+ href: String,
431
+ html_description: String,
432
+ images: T::Array[Spotted::ImageObject],
433
+ is_externally_hosted: T::Boolean,
434
+ languages: T::Array[String],
435
+ media_type: String,
436
+ name: String,
437
+ publisher: String,
438
+ total_episodes: Integer,
439
+ type: Spotted::EpisodeObject::Show::Type::TaggedSymbol,
440
+ uri: String
441
+ }
442
+ )
443
+ end
444
+ def to_hash
445
+ end
446
+
447
+ # The object type.
448
+ module Type
449
+ extend Spotted::Internal::Type::Enum
450
+
451
+ TaggedSymbol =
452
+ T.type_alias { T.all(Symbol, Spotted::EpisodeObject::Show::Type) }
453
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
454
+
455
+ SHOW = T.let(:show, Spotted::EpisodeObject::Show::Type::TaggedSymbol)
456
+
457
+ sig do
458
+ override.returns(
459
+ T::Array[Spotted::EpisodeObject::Show::Type::TaggedSymbol]
460
+ )
461
+ end
462
+ def self.values
463
+ end
464
+ end
465
+ end
466
+
467
+ # The object type.
468
+ module Type
469
+ extend Spotted::Internal::Type::Enum
470
+
471
+ TaggedSymbol =
472
+ T.type_alias { T.all(Symbol, Spotted::EpisodeObject::Type) }
473
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
474
+
475
+ EPISODE = T.let(:episode, Spotted::EpisodeObject::Type::TaggedSymbol)
476
+
477
+ sig do
478
+ override.returns(T::Array[Spotted::EpisodeObject::Type::TaggedSymbol])
479
+ end
480
+ def self.values
481
+ end
482
+ end
483
+ end
484
+ end
485
+ end
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Models
5
+ class EpisodeRestrictionObject < Spotted::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Spotted::EpisodeRestrictionObject, 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 EpisodeRetrieveParams < 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::EpisodeRetrieveParams, 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,50 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Models
5
+ class ExternalIDObject < Spotted::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Spotted::ExternalIDObject, Spotted::Internal::AnyHash)
9
+ end
10
+
11
+ # [International Article Number](http://en.wikipedia.org/wiki/International_Article_Number_%28EAN%29)
12
+ sig { returns(T.nilable(String)) }
13
+ attr_reader :ean
14
+
15
+ sig { params(ean: String).void }
16
+ attr_writer :ean
17
+
18
+ # [International Standard Recording Code](http://en.wikipedia.org/wiki/International_Standard_Recording_Code)
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :isrc
21
+
22
+ sig { params(isrc: String).void }
23
+ attr_writer :isrc
24
+
25
+ # [Universal Product Code](http://en.wikipedia.org/wiki/Universal_Product_Code)
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :upc
28
+
29
+ sig { params(upc: String).void }
30
+ attr_writer :upc
31
+
32
+ sig do
33
+ params(ean: String, isrc: String, upc: String).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # [International Article Number](http://en.wikipedia.org/wiki/International_Article_Number_%28EAN%29)
37
+ ean: nil,
38
+ # [International Standard Recording Code](http://en.wikipedia.org/wiki/International_Standard_Recording_Code)
39
+ isrc: nil,
40
+ # [Universal Product Code](http://en.wikipedia.org/wiki/Universal_Product_Code)
41
+ upc: nil
42
+ )
43
+ end
44
+
45
+ sig { override.returns({ ean: String, isrc: String, upc: String }) }
46
+ def to_hash
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Models
5
+ class ExternalURLObject < Spotted::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Spotted::ExternalURLObject, Spotted::Internal::AnyHash)
9
+ end
10
+
11
+ # The [Spotify URL](/documentation/web-api/concepts/spotify-uris-ids) for the
12
+ # object.
13
+ sig { returns(T.nilable(String)) }
14
+ attr_reader :spotify
15
+
16
+ sig { params(spotify: String).void }
17
+ attr_writer :spotify
18
+
19
+ sig { params(spotify: String).returns(T.attached_class) }
20
+ def self.new(
21
+ # The [Spotify URL](/documentation/web-api/concepts/spotify-uris-ids) for the
22
+ # object.
23
+ spotify: nil
24
+ )
25
+ end
26
+
27
+ sig { override.returns({ spotify: String }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end