spotted 0.24.0 → 0.26.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 (275) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/spotted/internal/type/base_model.rb +1 -0
  5. data/lib/spotted/models/album_bulk_retrieve_response.rb +26 -2
  6. data/lib/spotted/models/album_restriction_object.rb +13 -1
  7. data/lib/spotted/models/album_retrieve_response.rb +26 -2
  8. data/lib/spotted/models/artist_list_albums_response.rb +13 -1
  9. data/lib/spotted/models/artist_object.rb +13 -1
  10. data/lib/spotted/models/audio_analysis_retrieve_response.rb +39 -3
  11. data/lib/spotted/models/audio_feature_bulk_retrieve_response.rb +13 -1
  12. data/lib/spotted/models/audio_feature_retrieve_response.rb +13 -1
  13. data/lib/spotted/models/audiobook_base.rb +13 -1
  14. data/lib/spotted/models/audiobook_bulk_retrieve_response.rb +13 -1
  15. data/lib/spotted/models/audiobook_retrieve_response.rb +13 -1
  16. data/lib/spotted/models/author_object.rb +13 -1
  17. data/lib/spotted/models/browse/category_get_playlists_response.rb +13 -1
  18. data/lib/spotted/models/browse/category_list_response.rb +26 -2
  19. data/lib/spotted/models/browse/category_retrieve_response.rb +13 -1
  20. data/lib/spotted/models/browse_get_featured_playlists_response.rb +13 -1
  21. data/lib/spotted/models/browse_get_new_releases_response.rb +26 -2
  22. data/lib/spotted/models/chapter_bulk_retrieve_response.rb +13 -1
  23. data/lib/spotted/models/chapter_restriction_object.rb +13 -1
  24. data/lib/spotted/models/chapter_retrieve_response.rb +13 -1
  25. data/lib/spotted/models/copyright_object.rb +13 -1
  26. data/lib/spotted/models/episode_object.rb +13 -1
  27. data/lib/spotted/models/episode_restriction_object.rb +13 -1
  28. data/lib/spotted/models/external_id_object.rb +13 -1
  29. data/lib/spotted/models/external_url_object.rb +13 -1
  30. data/lib/spotted/models/followers_object.rb +13 -1
  31. data/lib/spotted/models/image_object.rb +13 -1
  32. data/lib/spotted/models/linked_track_object.rb +13 -1
  33. data/lib/spotted/models/me/album_list_response.rb +39 -3
  34. data/lib/spotted/models/me/album_remove_params.rb +13 -1
  35. data/lib/spotted/models/me/album_save_params.rb +13 -1
  36. data/lib/spotted/models/me/audiobook_list_response.rb +26 -2
  37. data/lib/spotted/models/me/context_object.rb +13 -1
  38. data/lib/spotted/models/me/device_object.rb +13 -1
  39. data/lib/spotted/models/me/episode_list_response.rb +13 -1
  40. data/lib/spotted/models/me/episode_remove_params.rb +13 -1
  41. data/lib/spotted/models/me/episode_save_params.rb +13 -1
  42. data/lib/spotted/models/me/following_bulk_retrieve_response.rb +30 -2
  43. data/lib/spotted/models/me/following_follow_params.rb +13 -1
  44. data/lib/spotted/models/me/following_unfollow_params.rb +13 -1
  45. data/lib/spotted/models/me/player/queue_get_response.rb +16 -1
  46. data/lib/spotted/models/me/player_get_currently_playing_response.rb +30 -2
  47. data/lib/spotted/models/me/player_get_state_response.rb +29 -2
  48. data/lib/spotted/models/me/player_list_recently_played_response.rb +16 -1
  49. data/lib/spotted/models/me/player_start_playback_params.rb +13 -1
  50. data/lib/spotted/models/me/player_transfer_params.rb +13 -1
  51. data/lib/spotted/models/me/show_list_response.rb +13 -1
  52. data/lib/spotted/models/me/show_remove_params.rb +13 -1
  53. data/lib/spotted/models/me/show_save_params.rb +13 -1
  54. data/lib/spotted/models/me/track_list_response.rb +13 -1
  55. data/lib/spotted/models/me/track_remove_params.rb +13 -1
  56. data/lib/spotted/models/me/track_save_params.rb +13 -1
  57. data/lib/spotted/models/me_retrieve_response.rb +26 -2
  58. data/lib/spotted/models/narrator_object.rb +13 -1
  59. data/lib/spotted/models/paging_playlist_object.rb +13 -1
  60. data/lib/spotted/models/playlist_retrieve_response.rb +18 -5
  61. data/lib/spotted/models/playlist_track_object.rb +13 -1
  62. data/lib/spotted/models/playlist_tracks_ref_object.rb +13 -1
  63. data/lib/spotted/models/playlist_update_params.rb +13 -1
  64. data/lib/spotted/models/playlist_user_object.rb +13 -1
  65. data/lib/spotted/models/playlists/follower_follow_params.rb +13 -1
  66. data/lib/spotted/models/playlists/track_add_params.rb +13 -1
  67. data/lib/spotted/models/playlists/track_remove_params.rb +13 -1
  68. data/lib/spotted/models/playlists/track_update_params.rb +13 -1
  69. data/lib/spotted/models/recommendation_get_response.rb +26 -2
  70. data/lib/spotted/models/resume_point_object.rb +13 -1
  71. data/lib/spotted/models/search_query_response.rb +91 -7
  72. data/lib/spotted/models/show_base.rb +13 -1
  73. data/lib/spotted/models/show_retrieve_response.rb +13 -1
  74. data/lib/spotted/models/simplified_artist_object.rb +13 -1
  75. data/lib/spotted/models/simplified_chapter_object.rb +13 -1
  76. data/lib/spotted/models/simplified_episode_object.rb +13 -1
  77. data/lib/spotted/models/simplified_playlist_object.rb +5 -4
  78. data/lib/spotted/models/simplified_track_object.rb +13 -1
  79. data/lib/spotted/models/time_interval_object.rb +16 -1
  80. data/lib/spotted/models/track_object.rb +26 -2
  81. data/lib/spotted/models/track_restriction_object.rb +13 -1
  82. data/lib/spotted/models/user_retrieve_profile_response.rb +13 -1
  83. data/lib/spotted/models/users/playlist_create_params.rb +13 -1
  84. data/lib/spotted/models/users/playlist_create_response.rb +18 -5
  85. data/lib/spotted/resources/me/albums.rb +6 -2
  86. data/lib/spotted/resources/me/episodes.rb +6 -2
  87. data/lib/spotted/resources/me/following.rb +6 -2
  88. data/lib/spotted/resources/me/player.rb +6 -2
  89. data/lib/spotted/resources/me/shows.rb +6 -2
  90. data/lib/spotted/resources/me/tracks.rb +6 -2
  91. data/lib/spotted/resources/playlists/followers.rb +3 -1
  92. data/lib/spotted/resources/playlists/tracks.rb +9 -3
  93. data/lib/spotted/resources/playlists.rb +3 -1
  94. data/lib/spotted/resources/users/playlists.rb +3 -1
  95. data/lib/spotted/version.rb +1 -1
  96. data/rbi/spotted/models/album_bulk_retrieve_response.rbi +41 -3
  97. data/rbi/spotted/models/album_restriction_object.rbi +22 -1
  98. data/rbi/spotted/models/album_retrieve_response.rbi +41 -3
  99. data/rbi/spotted/models/artist_list_albums_response.rbi +19 -0
  100. data/rbi/spotted/models/artist_object.rbi +19 -0
  101. data/rbi/spotted/models/audio_analysis_retrieve_response.rbi +57 -0
  102. data/rbi/spotted/models/audio_feature_bulk_retrieve_response.rbi +19 -0
  103. data/rbi/spotted/models/audio_feature_retrieve_response.rbi +19 -0
  104. data/rbi/spotted/models/audiobook_base.rbi +20 -1
  105. data/rbi/spotted/models/audiobook_bulk_retrieve_response.rbi +22 -3
  106. data/rbi/spotted/models/audiobook_retrieve_response.rbi +22 -3
  107. data/rbi/spotted/models/author_object.rbi +22 -3
  108. data/rbi/spotted/models/browse/category_get_playlists_response.rbi +25 -3
  109. data/rbi/spotted/models/browse/category_list_response.rbi +44 -6
  110. data/rbi/spotted/models/browse/category_retrieve_response.rbi +22 -3
  111. data/rbi/spotted/models/browse_get_featured_playlists_response.rbi +25 -3
  112. data/rbi/spotted/models/browse_get_new_releases_response.rbi +41 -3
  113. data/rbi/spotted/models/chapter_bulk_retrieve_response.rbi +19 -0
  114. data/rbi/spotted/models/chapter_restriction_object.rbi +21 -2
  115. data/rbi/spotted/models/chapter_retrieve_response.rbi +19 -0
  116. data/rbi/spotted/models/copyright_object.rbi +25 -2
  117. data/rbi/spotted/models/episode_object.rbi +19 -0
  118. data/rbi/spotted/models/episode_restriction_object.rbi +21 -2
  119. data/rbi/spotted/models/external_id_object.rbi +28 -2
  120. data/rbi/spotted/models/external_url_object.rbi +21 -2
  121. data/rbi/spotted/models/followers_object.rbi +27 -4
  122. data/rbi/spotted/models/image_object.rbi +26 -3
  123. data/rbi/spotted/models/linked_track_object.rbi +19 -0
  124. data/rbi/spotted/models/me/album_list_response.rbi +63 -6
  125. data/rbi/spotted/models/me/album_remove_params.rbi +23 -1
  126. data/rbi/spotted/models/me/album_save_params.rbi +23 -1
  127. data/rbi/spotted/models/me/audiobook_list_response.rbi +44 -6
  128. data/rbi/spotted/models/me/context_object.rbi +19 -0
  129. data/rbi/spotted/models/me/device_object.rbi +19 -0
  130. data/rbi/spotted/models/me/episode_list_response.rbi +27 -3
  131. data/rbi/spotted/models/me/episode_remove_params.rbi +23 -1
  132. data/rbi/spotted/models/me/episode_save_params.rbi +23 -1
  133. data/rbi/spotted/models/me/following_bulk_retrieve_response.rbi +47 -3
  134. data/rbi/spotted/models/me/following_follow_params.rbi +23 -1
  135. data/rbi/spotted/models/me/following_unfollow_params.rbi +23 -1
  136. data/rbi/spotted/models/me/player/queue_get_response.rbi +19 -0
  137. data/rbi/spotted/models/me/player_get_currently_playing_response.rbi +38 -0
  138. data/rbi/spotted/models/me/player_get_state_response.rbi +38 -0
  139. data/rbi/spotted/models/me/player_list_recently_played_response.rbi +19 -0
  140. data/rbi/spotted/models/me/player_start_playback_params.rbi +19 -0
  141. data/rbi/spotted/models/me/player_transfer_params.rbi +19 -0
  142. data/rbi/spotted/models/me/show_list_response.rbi +27 -4
  143. data/rbi/spotted/models/me/show_remove_params.rbi +23 -1
  144. data/rbi/spotted/models/me/show_save_params.rbi +23 -1
  145. data/rbi/spotted/models/me/track_list_response.rbi +29 -4
  146. data/rbi/spotted/models/me/track_remove_params.rbi +23 -1
  147. data/rbi/spotted/models/me/track_save_params.rbi +19 -0
  148. data/rbi/spotted/models/me_retrieve_response.rbi +47 -5
  149. data/rbi/spotted/models/narrator_object.rbi +22 -3
  150. data/rbi/spotted/models/paging_playlist_object.rbi +22 -3
  151. data/rbi/spotted/models/playlist_retrieve_response.rbi +30 -9
  152. data/rbi/spotted/models/playlist_track_object.rbi +19 -0
  153. data/rbi/spotted/models/playlist_tracks_ref_object.rbi +27 -2
  154. data/rbi/spotted/models/playlist_update_params.rbi +19 -0
  155. data/rbi/spotted/models/playlist_user_object.rbi +19 -0
  156. data/rbi/spotted/models/playlists/follower_follow_params.rbi +23 -1
  157. data/rbi/spotted/models/playlists/track_add_params.rbi +19 -0
  158. data/rbi/spotted/models/playlists/track_remove_params.rbi +19 -0
  159. data/rbi/spotted/models/playlists/track_update_params.rbi +19 -0
  160. data/rbi/spotted/models/recommendation_get_response.rbi +41 -3
  161. data/rbi/spotted/models/resume_point_object.rbi +27 -4
  162. data/rbi/spotted/models/search_query_response.rbi +151 -18
  163. data/rbi/spotted/models/show_base.rbi +20 -1
  164. data/rbi/spotted/models/show_retrieve_response.rbi +22 -3
  165. data/rbi/spotted/models/simplified_artist_object.rbi +19 -0
  166. data/rbi/spotted/models/simplified_chapter_object.rbi +19 -0
  167. data/rbi/spotted/models/simplified_episode_object.rbi +19 -0
  168. data/rbi/spotted/models/simplified_playlist_object.rbi +8 -6
  169. data/rbi/spotted/models/simplified_track_object.rbi +19 -0
  170. data/rbi/spotted/models/time_interval_object.rbi +31 -4
  171. data/rbi/spotted/models/track_object.rbi +38 -0
  172. data/rbi/spotted/models/track_restriction_object.rbi +21 -2
  173. data/rbi/spotted/models/user_retrieve_profile_response.rbi +19 -0
  174. data/rbi/spotted/models/users/playlist_create_params.rbi +19 -0
  175. data/rbi/spotted/models/users/playlist_create_response.rbi +30 -9
  176. data/rbi/spotted/resources/me/albums.rbi +14 -0
  177. data/rbi/spotted/resources/me/episodes.rbi +14 -0
  178. data/rbi/spotted/resources/me/following.rbi +14 -0
  179. data/rbi/spotted/resources/me/player.rbi +14 -0
  180. data/rbi/spotted/resources/me/shows.rbi +14 -0
  181. data/rbi/spotted/resources/me/tracks.rbi +14 -0
  182. data/rbi/spotted/resources/playlists/followers.rbi +7 -0
  183. data/rbi/spotted/resources/playlists/tracks.rbi +21 -0
  184. data/rbi/spotted/resources/playlists.rbi +7 -0
  185. data/rbi/spotted/resources/users/playlists.rbi +7 -0
  186. data/sig/spotted/models/album_bulk_retrieve_response.rbs +17 -3
  187. data/sig/spotted/models/album_restriction_object.rbs +10 -1
  188. data/sig/spotted/models/album_retrieve_response.rbs +17 -3
  189. data/sig/spotted/models/artist_list_albums_response.rbs +7 -0
  190. data/sig/spotted/models/artist_object.rbs +7 -0
  191. data/sig/spotted/models/audio_analysis_retrieve_response.rbs +21 -0
  192. data/sig/spotted/models/audio_feature_bulk_retrieve_response.rbs +7 -0
  193. data/sig/spotted/models/audio_feature_retrieve_response.rbs +7 -0
  194. data/sig/spotted/models/audiobook_base.rbs +9 -2
  195. data/sig/spotted/models/audiobook_bulk_retrieve_response.rbs +10 -3
  196. data/sig/spotted/models/audiobook_retrieve_response.rbs +10 -3
  197. data/sig/spotted/models/author_object.rbs +7 -3
  198. data/sig/spotted/models/browse/category_get_playlists_response.rbs +13 -3
  199. data/sig/spotted/models/browse/category_list_response.rbs +20 -6
  200. data/sig/spotted/models/browse/category_retrieve_response.rbs +10 -3
  201. data/sig/spotted/models/browse_get_featured_playlists_response.rbs +13 -3
  202. data/sig/spotted/models/browse_get_new_releases_response.rbs +17 -3
  203. data/sig/spotted/models/chapter_bulk_retrieve_response.rbs +7 -0
  204. data/sig/spotted/models/chapter_restriction_object.rbs +7 -3
  205. data/sig/spotted/models/chapter_retrieve_response.rbs +7 -0
  206. data/sig/spotted/models/copyright_object.rbs +7 -3
  207. data/sig/spotted/models/episode_object.rbs +7 -0
  208. data/sig/spotted/models/episode_restriction_object.rbs +7 -3
  209. data/sig/spotted/models/external_id_object.rbs +19 -4
  210. data/sig/spotted/models/external_url_object.rbs +7 -3
  211. data/sig/spotted/models/followers_object.rbs +11 -3
  212. data/sig/spotted/models/image_object.rbs +18 -3
  213. data/sig/spotted/models/linked_track_object.rbs +7 -0
  214. data/sig/spotted/models/me/album_list_response.rbs +30 -6
  215. data/sig/spotted/models/me/album_remove_params.rbs +8 -1
  216. data/sig/spotted/models/me/album_save_params.rbs +8 -1
  217. data/sig/spotted/models/me/audiobook_list_response.rbs +20 -6
  218. data/sig/spotted/models/me/context_object.rbs +7 -0
  219. data/sig/spotted/models/me/device_object.rbs +7 -0
  220. data/sig/spotted/models/me/episode_list_response.rbs +12 -3
  221. data/sig/spotted/models/me/episode_remove_params.rbs +8 -1
  222. data/sig/spotted/models/me/episode_save_params.rbs +8 -1
  223. data/sig/spotted/models/me/following_bulk_retrieve_response.rbs +18 -3
  224. data/sig/spotted/models/me/following_follow_params.rbs +8 -1
  225. data/sig/spotted/models/me/following_unfollow_params.rbs +8 -1
  226. data/sig/spotted/models/me/player/queue_get_response.rbs +7 -0
  227. data/sig/spotted/models/me/player_get_currently_playing_response.rbs +14 -0
  228. data/sig/spotted/models/me/player_get_state_response.rbs +14 -0
  229. data/sig/spotted/models/me/player_list_recently_played_response.rbs +7 -0
  230. data/sig/spotted/models/me/player_start_playback_params.rbs +7 -0
  231. data/sig/spotted/models/me/player_transfer_params.rbs +7 -1
  232. data/sig/spotted/models/me/show_list_response.rbs +16 -3
  233. data/sig/spotted/models/me/show_remove_params.rbs +8 -1
  234. data/sig/spotted/models/me/show_save_params.rbs +8 -1
  235. data/sig/spotted/models/me/track_list_response.rbs +16 -3
  236. data/sig/spotted/models/me/track_remove_params.rbs +8 -1
  237. data/sig/spotted/models/me/track_save_params.rbs +7 -0
  238. data/sig/spotted/models/me_retrieve_response.rbs +23 -3
  239. data/sig/spotted/models/narrator_object.rbs +7 -3
  240. data/sig/spotted/models/paging_playlist_object.rbs +10 -3
  241. data/sig/spotted/models/playlist_retrieve_response.rbs +10 -3
  242. data/sig/spotted/models/playlist_track_object.rbs +7 -0
  243. data/sig/spotted/models/playlist_tracks_ref_object.rbs +8 -3
  244. data/sig/spotted/models/playlist_update_params.rbs +13 -1
  245. data/sig/spotted/models/playlist_user_object.rbs +7 -0
  246. data/sig/spotted/models/playlists/follower_follow_params.rbs +8 -1
  247. data/sig/spotted/models/playlists/track_add_params.rbs +7 -1
  248. data/sig/spotted/models/playlists/track_remove_params.rbs +7 -0
  249. data/sig/spotted/models/playlists/track_update_params.rbs +7 -0
  250. data/sig/spotted/models/recommendation_get_response.rbs +17 -3
  251. data/sig/spotted/models/resume_point_object.rbs +11 -2
  252. data/sig/spotted/models/search_query_response.rbs +67 -18
  253. data/sig/spotted/models/show_base.rbs +9 -2
  254. data/sig/spotted/models/show_retrieve_response.rbs +10 -3
  255. data/sig/spotted/models/simplified_artist_object.rbs +7 -0
  256. data/sig/spotted/models/simplified_chapter_object.rbs +7 -0
  257. data/sig/spotted/models/simplified_episode_object.rbs +7 -0
  258. data/sig/spotted/models/simplified_track_object.rbs +7 -0
  259. data/sig/spotted/models/time_interval_object.rbs +12 -2
  260. data/sig/spotted/models/track_object.rbs +14 -0
  261. data/sig/spotted/models/track_restriction_object.rbs +7 -3
  262. data/sig/spotted/models/user_retrieve_profile_response.rbs +7 -0
  263. data/sig/spotted/models/users/playlist_create_params.rbs +13 -1
  264. data/sig/spotted/models/users/playlist_create_response.rbs +10 -3
  265. data/sig/spotted/resources/me/albums.rbs +2 -0
  266. data/sig/spotted/resources/me/episodes.rbs +2 -0
  267. data/sig/spotted/resources/me/following.rbs +2 -0
  268. data/sig/spotted/resources/me/player.rbs +2 -0
  269. data/sig/spotted/resources/me/shows.rbs +2 -0
  270. data/sig/spotted/resources/me/tracks.rbs +2 -0
  271. data/sig/spotted/resources/playlists/followers.rbs +1 -0
  272. data/sig/spotted/resources/playlists/tracks.rbs +3 -0
  273. data/sig/spotted/resources/playlists.rbs +1 -0
  274. data/sig/spotted/resources/users/playlists.rbs +1 -0
  275. metadata +2 -2
@@ -23,9 +23,21 @@ module Spotted
23
23
  sig { params(ids: T::Array[String]).void }
24
24
  attr_writer :ids
25
25
 
26
+ # The playlist's public/private status (if it should be added to the user's
27
+ # profile or not): `true` the playlist will be public, `false` the playlist will
28
+ # be private, `null` the playlist status is not relevant. For more about
29
+ # public/private status, see
30
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
31
+ sig { returns(T.nilable(T::Boolean)) }
32
+ attr_reader :published
33
+
34
+ sig { params(published: T::Boolean).void }
35
+ attr_writer :published
36
+
26
37
  sig do
27
38
  params(
28
39
  ids: T::Array[String],
40
+ published: T::Boolean,
29
41
  request_options: Spotted::RequestOptions::OrHash
30
42
  ).returns(T.attached_class)
31
43
  end
@@ -36,13 +48,23 @@ module Spotted
36
48
  # can be specified in one request. _**Note**: if the `ids` parameter is present in
37
49
  # the query string, any IDs listed here in the body will be ignored._
38
50
  ids: nil,
51
+ # The playlist's public/private status (if it should be added to the user's
52
+ # profile or not): `true` the playlist will be public, `false` the playlist will
53
+ # be private, `null` the playlist status is not relevant. For more about
54
+ # public/private status, see
55
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
56
+ published: nil,
39
57
  request_options: {}
40
58
  )
41
59
  end
42
60
 
43
61
  sig do
44
62
  override.returns(
45
- { ids: T::Array[String], request_options: Spotted::RequestOptions }
63
+ {
64
+ ids: T::Array[String],
65
+ published: T::Boolean,
66
+ request_options: Spotted::RequestOptions
67
+ }
46
68
  )
47
69
  end
48
70
  def to_hash
@@ -21,6 +21,17 @@ module Spotted
21
21
  sig { returns(T::Array[String]) }
22
22
  attr_accessor :ids
23
23
 
24
+ # The playlist's public/private status (if it should be added to the user's
25
+ # profile or not): `true` the playlist will be public, `false` the playlist will
26
+ # be private, `null` the playlist status is not relevant. For more about
27
+ # public/private status, see
28
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
29
+ sig { returns(T.nilable(T::Boolean)) }
30
+ attr_reader :published
31
+
32
+ sig { params(published: T::Boolean).void }
33
+ attr_writer :published
34
+
24
35
  # A JSON array of objects containing track IDs with their corresponding
25
36
  # timestamps. Each object must include a track ID and an `added_at` timestamp.
26
37
  # This allows you to specify when tracks were added to maintain a specific
@@ -46,6 +57,7 @@ module Spotted
46
57
  sig do
47
58
  params(
48
59
  ids: T::Array[String],
60
+ published: T::Boolean,
49
61
  timestamped_ids:
50
62
  T::Array[Spotted::Me::TrackSaveParams::TimestampedID::OrHash],
51
63
  request_options: Spotted::RequestOptions::OrHash
@@ -59,6 +71,12 @@ module Spotted
59
71
  # in the body, any IDs listed in the query parameters (deprecated) or the `ids`
60
72
  # field in the body will be ignored._
61
73
  ids:,
74
+ # The playlist's public/private status (if it should be added to the user's
75
+ # profile or not): `true` the playlist will be public, `false` the playlist will
76
+ # be private, `null` the playlist status is not relevant. For more about
77
+ # public/private status, see
78
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
79
+ published: nil,
62
80
  # A JSON array of objects containing track IDs with their corresponding
63
81
  # timestamps. Each object must include a track ID and an `added_at` timestamp.
64
82
  # This allows you to specify when tracks were added to maintain a specific
@@ -75,6 +93,7 @@ module Spotted
75
93
  override.returns(
76
94
  {
77
95
  ids: T::Array[String],
96
+ published: T::Boolean,
78
97
  timestamped_ids:
79
98
  T::Array[Spotted::Me::TrackSaveParams::TimestampedID],
80
99
  request_options: Spotted::RequestOptions
@@ -102,6 +102,17 @@ module Spotted
102
102
  sig { params(product: String).void }
103
103
  attr_writer :product
104
104
 
105
+ # The playlist's public/private status (if it should be added to the user's
106
+ # profile or not): `true` the playlist will be public, `false` the playlist will
107
+ # be private, `null` the playlist status is not relevant. For more about
108
+ # public/private status, see
109
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
110
+ sig { returns(T.nilable(T::Boolean)) }
111
+ attr_reader :published
112
+
113
+ sig { params(published: T::Boolean).void }
114
+ attr_writer :published
115
+
105
116
  # The object type: "user"
106
117
  sig { returns(T.nilable(String)) }
107
118
  attr_reader :type
@@ -130,6 +141,7 @@ module Spotted
130
141
  href: String,
131
142
  images: T::Array[Spotted::ImageObject::OrHash],
132
143
  product: String,
144
+ published: T::Boolean,
133
145
  type: String,
134
146
  uri: String
135
147
  ).returns(T.attached_class)
@@ -172,6 +184,12 @@ module Spotted
172
184
  # [user-read-private](/documentation/web-api/concepts/scopes/#list-of-scopes)
173
185
  # scope._
174
186
  product: nil,
187
+ # The playlist's public/private status (if it should be added to the user's
188
+ # profile or not): `true` the playlist will be public, `false` the playlist will
189
+ # be private, `null` the playlist status is not relevant. For more about
190
+ # public/private status, see
191
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
192
+ published: nil,
175
193
  # The object type: "user"
176
194
  type: nil,
177
195
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
@@ -194,6 +212,7 @@ module Spotted
194
212
  href: String,
195
213
  images: T::Array[Spotted::ImageObject],
196
214
  product: String,
215
+ published: T::Boolean,
197
216
  type: String,
198
217
  uri: String
199
218
  }
@@ -226,27 +245,50 @@ module Spotted
226
245
  sig { params(filter_locked: T::Boolean).void }
227
246
  attr_writer :filter_locked
228
247
 
248
+ # The playlist's public/private status (if it should be added to the user's
249
+ # profile or not): `true` the playlist will be public, `false` the playlist will
250
+ # be private, `null` the playlist status is not relevant. For more about
251
+ # public/private status, see
252
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
253
+ sig { returns(T.nilable(T::Boolean)) }
254
+ attr_reader :published
255
+
256
+ sig { params(published: T::Boolean).void }
257
+ attr_writer :published
258
+
229
259
  # The user's explicit content settings. _This field is only available when the
230
260
  # current user has granted access to the
231
261
  # [user-read-private](/documentation/web-api/concepts/scopes/#list-of-scopes)
232
262
  # scope._
233
263
  sig do
234
- params(filter_enabled: T::Boolean, filter_locked: T::Boolean).returns(
235
- T.attached_class
236
- )
264
+ params(
265
+ filter_enabled: T::Boolean,
266
+ filter_locked: T::Boolean,
267
+ published: T::Boolean
268
+ ).returns(T.attached_class)
237
269
  end
238
270
  def self.new(
239
271
  # When `true`, indicates that explicit content should not be played.
240
272
  filter_enabled: nil,
241
273
  # When `true`, indicates that the explicit content setting is locked and can't be
242
274
  # changed by the user.
243
- filter_locked: nil
275
+ filter_locked: nil,
276
+ # The playlist's public/private status (if it should be added to the user's
277
+ # profile or not): `true` the playlist will be public, `false` the playlist will
278
+ # be private, `null` the playlist status is not relevant. For more about
279
+ # public/private status, see
280
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
281
+ published: nil
244
282
  )
245
283
  end
246
284
 
247
285
  sig do
248
286
  override.returns(
249
- { filter_enabled: T::Boolean, filter_locked: T::Boolean }
287
+ {
288
+ filter_enabled: T::Boolean,
289
+ filter_locked: T::Boolean,
290
+ published: T::Boolean
291
+ }
250
292
  )
251
293
  end
252
294
  def to_hash
@@ -15,14 +15,33 @@ module Spotted
15
15
  sig { params(name: String).void }
16
16
  attr_writer :name
17
17
 
18
- sig { params(name: String).returns(T.attached_class) }
18
+ # The playlist's public/private status (if it should be added to the user's
19
+ # profile or not): `true` the playlist will be public, `false` the playlist will
20
+ # be private, `null` the playlist status is not relevant. For more about
21
+ # public/private status, see
22
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
23
+ sig { returns(T.nilable(T::Boolean)) }
24
+ attr_reader :published
25
+
26
+ sig { params(published: T::Boolean).void }
27
+ attr_writer :published
28
+
29
+ sig do
30
+ params(name: String, published: T::Boolean).returns(T.attached_class)
31
+ end
19
32
  def self.new(
20
33
  # The name of the Narrator.
21
- name: nil
34
+ name: nil,
35
+ # The playlist's public/private status (if it should be added to the user's
36
+ # profile or not): `true` the playlist will be public, `false` the playlist will
37
+ # be private, `null` the playlist status is not relevant. For more about
38
+ # public/private status, see
39
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
40
+ published: nil
22
41
  )
23
42
  end
24
43
 
25
- sig { override.returns({ name: String }) }
44
+ sig { override.returns({ name: String, published: T::Boolean }) }
26
45
  def to_hash
27
46
  end
28
47
  end
@@ -40,6 +40,17 @@ module Spotted
40
40
  end
41
41
  attr_writer :items
42
42
 
43
+ # The playlist's public/private status (if it should be added to the user's
44
+ # profile or not): `true` the playlist will be public, `false` the playlist will
45
+ # be private, `null` the playlist status is not relevant. For more about
46
+ # public/private status, see
47
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
48
+ sig { returns(T.nilable(T::Boolean)) }
49
+ attr_reader :published
50
+
51
+ sig { params(published: T::Boolean).void }
52
+ attr_writer :published
53
+
43
54
  sig do
44
55
  params(
45
56
  href: String,
@@ -48,7 +59,8 @@ module Spotted
48
59
  offset: Integer,
49
60
  previous: T.nilable(String),
50
61
  total: Integer,
51
- items: T::Array[Spotted::SimplifiedPlaylistObject::OrHash]
62
+ items: T::Array[Spotted::SimplifiedPlaylistObject::OrHash],
63
+ published: T::Boolean
52
64
  ).returns(T.attached_class)
53
65
  end
54
66
  def self.new(
@@ -64,7 +76,13 @@ module Spotted
64
76
  previous:,
65
77
  # The total number of items available to return.
66
78
  total:,
67
- items: nil
79
+ items: nil,
80
+ # The playlist's public/private status (if it should be added to the user's
81
+ # profile or not): `true` the playlist will be public, `false` the playlist will
82
+ # be private, `null` the playlist status is not relevant. For more about
83
+ # public/private status, see
84
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
85
+ published: nil
68
86
  )
69
87
  end
70
88
 
@@ -77,7 +95,8 @@ module Spotted
77
95
  offset: Integer,
78
96
  previous: T.nilable(String),
79
97
  total: Integer,
80
- items: T::Array[Spotted::SimplifiedPlaylistObject]
98
+ items: T::Array[Spotted::SimplifiedPlaylistObject],
99
+ published: T::Boolean
81
100
  }
82
101
  )
83
102
  end
@@ -83,9 +83,10 @@ module Spotted
83
83
  end
84
84
  attr_writer :owner
85
85
 
86
- # The playlist's public/private status (if it is added to the user's profile):
87
- # `true` the playlist is public, `false` the playlist is private, `null` the
88
- # playlist status is not relevant. For more about public/private status, see
86
+ # The playlist's public/private status (if it should be added to the user's
87
+ # profile or not): `true` the playlist will be public, `false` the playlist will
88
+ # be private, `null` the playlist status is not relevant. For more about
89
+ # public/private status, see
89
90
  # [Working with Playlists](/documentation/web-api/concepts/playlists)
90
91
  sig { returns(T.nilable(T::Boolean)) }
91
92
  attr_reader :published
@@ -172,9 +173,10 @@ module Spotted
172
173
  name: nil,
173
174
  # The user who owns the playlist
174
175
  owner: nil,
175
- # The playlist's public/private status (if it is added to the user's profile):
176
- # `true` the playlist is public, `false` the playlist is private, `null` the
177
- # playlist status is not relevant. For more about public/private status, see
176
+ # The playlist's public/private status (if it should be added to the user's
177
+ # profile or not): `true` the playlist will be public, `false` the playlist will
178
+ # be private, `null` the playlist status is not relevant. For more about
179
+ # public/private status, see
178
180
  # [Working with Playlists](/documentation/web-api/concepts/playlists)
179
181
  published: nil,
180
182
  # The version identifier for the current playlist. Can be supplied in other
@@ -282,6 +284,17 @@ module Spotted
282
284
  end
283
285
  attr_writer :items
284
286
 
287
+ # The playlist's public/private status (if it should be added to the user's
288
+ # profile or not): `true` the playlist will be public, `false` the playlist will
289
+ # be private, `null` the playlist status is not relevant. For more about
290
+ # public/private status, see
291
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
292
+ sig { returns(T.nilable(T::Boolean)) }
293
+ attr_reader :published
294
+
295
+ sig { params(published: T::Boolean).void }
296
+ attr_writer :published
297
+
285
298
  # The tracks of the playlist.
286
299
  sig do
287
300
  params(
@@ -291,7 +304,8 @@ module Spotted
291
304
  offset: Integer,
292
305
  previous: T.nilable(String),
293
306
  total: Integer,
294
- items: T::Array[Spotted::PlaylistTrackObject::OrHash]
307
+ items: T::Array[Spotted::PlaylistTrackObject::OrHash],
308
+ published: T::Boolean
295
309
  ).returns(T.attached_class)
296
310
  end
297
311
  def self.new(
@@ -307,7 +321,13 @@ module Spotted
307
321
  previous:,
308
322
  # The total number of items available to return.
309
323
  total:,
310
- items: nil
324
+ items: nil,
325
+ # The playlist's public/private status (if it should be added to the user's
326
+ # profile or not): `true` the playlist will be public, `false` the playlist will
327
+ # be private, `null` the playlist status is not relevant. For more about
328
+ # public/private status, see
329
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
330
+ published: nil
311
331
  )
312
332
  end
313
333
 
@@ -320,7 +340,8 @@ module Spotted
320
340
  offset: Integer,
321
341
  previous: T.nilable(String),
322
342
  total: Integer,
323
- items: T::Array[Spotted::PlaylistTrackObject]
343
+ items: T::Array[Spotted::PlaylistTrackObject],
344
+ published: T::Boolean
324
345
  }
325
346
  )
326
347
  end
@@ -32,6 +32,17 @@ module Spotted
32
32
  sig { params(is_local: T::Boolean).void }
33
33
  attr_writer :is_local
34
34
 
35
+ # The playlist's public/private status (if it should be added to the user's
36
+ # profile or not): `true` the playlist will be public, `false` the playlist will
37
+ # be private, `null` the playlist status is not relevant. For more about
38
+ # public/private status, see
39
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
40
+ sig { returns(T.nilable(T::Boolean)) }
41
+ attr_reader :published
42
+
43
+ sig { params(published: T::Boolean).void }
44
+ attr_writer :published
45
+
35
46
  # Information about the track or episode.
36
47
  sig { returns(T.nilable(Spotted::PlaylistTrackObject::Track::Variants)) }
37
48
  attr_reader :track
@@ -49,6 +60,7 @@ module Spotted
49
60
  added_at: Time,
50
61
  added_by: Spotted::PlaylistUserObject::OrHash,
51
62
  is_local: T::Boolean,
63
+ published: T::Boolean,
52
64
  track:
53
65
  T.any(Spotted::TrackObject::OrHash, Spotted::EpisodeObject::OrHash)
54
66
  ).returns(T.attached_class)
@@ -63,6 +75,12 @@ module Spotted
63
75
  # Whether this track or episode is a
64
76
  # [local file](/documentation/web-api/concepts/playlists/#local-files) or not.
65
77
  is_local: nil,
78
+ # The playlist's public/private status (if it should be added to the user's
79
+ # profile or not): `true` the playlist will be public, `false` the playlist will
80
+ # be private, `null` the playlist status is not relevant. For more about
81
+ # public/private status, see
82
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
83
+ published: nil,
66
84
  # Information about the track or episode.
67
85
  track: nil
68
86
  )
@@ -74,6 +92,7 @@ module Spotted
74
92
  added_at: Time,
75
93
  added_by: Spotted::PlaylistUserObject,
76
94
  is_local: T::Boolean,
95
+ published: T::Boolean,
77
96
  track: Spotted::PlaylistTrackObject::Track::Variants
78
97
  }
79
98
  )
@@ -16,6 +16,17 @@ module Spotted
16
16
  sig { params(href: String).void }
17
17
  attr_writer :href
18
18
 
19
+ # The playlist's public/private status (if it should be added to the user's
20
+ # profile or not): `true` the playlist will be public, `false` the playlist will
21
+ # be private, `null` the playlist status is not relevant. For more about
22
+ # public/private status, see
23
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
24
+ sig { returns(T.nilable(T::Boolean)) }
25
+ attr_reader :published
26
+
27
+ sig { params(published: T::Boolean).void }
28
+ attr_writer :published
29
+
19
30
  # Number of tracks in the playlist.
20
31
  sig { returns(T.nilable(Integer)) }
21
32
  attr_reader :total
@@ -23,17 +34,31 @@ module Spotted
23
34
  sig { params(total: Integer).void }
24
35
  attr_writer :total
25
36
 
26
- sig { params(href: String, total: Integer).returns(T.attached_class) }
37
+ sig do
38
+ params(href: String, published: T::Boolean, total: Integer).returns(
39
+ T.attached_class
40
+ )
41
+ end
27
42
  def self.new(
28
43
  # A link to the Web API endpoint where full details of the playlist's tracks can
29
44
  # be retrieved.
30
45
  href: nil,
46
+ # The playlist's public/private status (if it should be added to the user's
47
+ # profile or not): `true` the playlist will be public, `false` the playlist will
48
+ # be private, `null` the playlist status is not relevant. For more about
49
+ # public/private status, see
50
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
51
+ published: nil,
31
52
  # Number of tracks in the playlist.
32
53
  total: nil
33
54
  )
34
55
  end
35
56
 
36
- sig { override.returns({ href: String, total: Integer }) }
57
+ sig do
58
+ override.returns(
59
+ { href: String, published: T::Boolean, total: Integer }
60
+ )
61
+ end
37
62
  def to_hash
38
63
  end
39
64
  end
@@ -46,12 +46,24 @@ module Spotted
46
46
  sig { params(public: T::Boolean).void }
47
47
  attr_writer :public
48
48
 
49
+ # The playlist's public/private status (if it should be added to the user's
50
+ # profile or not): `true` the playlist will be public, `false` the playlist will
51
+ # be private, `null` the playlist status is not relevant. For more about
52
+ # public/private status, see
53
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
54
+ sig { returns(T.nilable(T::Boolean)) }
55
+ attr_reader :published
56
+
57
+ sig { params(published: T::Boolean).void }
58
+ attr_writer :published
59
+
49
60
  sig do
50
61
  params(
51
62
  collaborative: T::Boolean,
52
63
  description: String,
53
64
  name: String,
54
65
  public: T::Boolean,
66
+ published: T::Boolean,
55
67
  request_options: Spotted::RequestOptions::OrHash
56
68
  ).returns(T.attached_class)
57
69
  end
@@ -71,6 +83,12 @@ module Spotted
71
83
  # public/private status, see
72
84
  # [Working with Playlists](/documentation/web-api/concepts/playlists)
73
85
  public: nil,
86
+ # The playlist's public/private status (if it should be added to the user's
87
+ # profile or not): `true` the playlist will be public, `false` the playlist will
88
+ # be private, `null` the playlist status is not relevant. For more about
89
+ # public/private status, see
90
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
91
+ published: nil,
74
92
  request_options: {}
75
93
  )
76
94
  end
@@ -82,6 +100,7 @@ module Spotted
82
100
  description: String,
83
101
  name: String,
84
102
  public: T::Boolean,
103
+ published: T::Boolean,
85
104
  request_options: Spotted::RequestOptions
86
105
  }
87
106
  )
@@ -30,6 +30,17 @@ module Spotted
30
30
  sig { params(href: String).void }
31
31
  attr_writer :href
32
32
 
33
+ # The playlist's public/private status (if it should be added to the user's
34
+ # profile or not): `true` the playlist will be public, `false` the playlist will
35
+ # be private, `null` the playlist status is not relevant. For more about
36
+ # public/private status, see
37
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
38
+ sig { returns(T.nilable(T::Boolean)) }
39
+ attr_reader :published
40
+
41
+ sig { params(published: T::Boolean).void }
42
+ attr_writer :published
43
+
33
44
  # The object type.
34
45
  sig do
35
46
  returns(T.nilable(Spotted::PlaylistUserObject::Type::TaggedSymbol))
@@ -52,6 +63,7 @@ module Spotted
52
63
  id: String,
53
64
  external_urls: Spotted::ExternalURLObject::OrHash,
54
65
  href: String,
66
+ published: T::Boolean,
55
67
  type: Spotted::PlaylistUserObject::Type::OrSymbol,
56
68
  uri: String
57
69
  ).returns(T.attached_class)
@@ -64,6 +76,12 @@ module Spotted
64
76
  external_urls: nil,
65
77
  # A link to the Web API endpoint for this user.
66
78
  href: nil,
79
+ # The playlist's public/private status (if it should be added to the user's
80
+ # profile or not): `true` the playlist will be public, `false` the playlist will
81
+ # be private, `null` the playlist status is not relevant. For more about
82
+ # public/private status, see
83
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
84
+ published: nil,
67
85
  # The object type.
68
86
  type: nil,
69
87
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for this
@@ -78,6 +96,7 @@ module Spotted
78
96
  id: String,
79
97
  external_urls: Spotted::ExternalURLObject,
80
98
  href: String,
99
+ published: T::Boolean,
81
100
  type: Spotted::PlaylistUserObject::Type::TaggedSymbol,
82
101
  uri: String
83
102
  }
@@ -25,9 +25,21 @@ module Spotted
25
25
  sig { params(public: T::Boolean).void }
26
26
  attr_writer :public
27
27
 
28
+ # The playlist's public/private status (if it should be added to the user's
29
+ # profile or not): `true` the playlist will be public, `false` the playlist will
30
+ # be private, `null` the playlist status is not relevant. For more about
31
+ # public/private status, see
32
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
33
+ sig { returns(T.nilable(T::Boolean)) }
34
+ attr_reader :published
35
+
36
+ sig { params(published: T::Boolean).void }
37
+ attr_writer :published
38
+
28
39
  sig do
29
40
  params(
30
41
  public: T::Boolean,
42
+ published: T::Boolean,
31
43
  request_options: Spotted::RequestOptions::OrHash
32
44
  ).returns(T.attached_class)
33
45
  end
@@ -37,13 +49,23 @@ module Spotted
37
49
  # public/private status, see
38
50
  # [Working with Playlists](/documentation/web-api/concepts/playlists)
39
51
  public: nil,
52
+ # The playlist's public/private status (if it should be added to the user's
53
+ # profile or not): `true` the playlist will be public, `false` the playlist will
54
+ # be private, `null` the playlist status is not relevant. For more about
55
+ # public/private status, see
56
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
57
+ published: nil,
40
58
  request_options: {}
41
59
  )
42
60
  end
43
61
 
44
62
  sig do
45
63
  override.returns(
46
- { public: T::Boolean, request_options: Spotted::RequestOptions }
64
+ {
65
+ public: T::Boolean,
66
+ published: T::Boolean,
67
+ request_options: Spotted::RequestOptions
68
+ }
47
69
  )
48
70
  end
49
71
  def to_hash
@@ -26,6 +26,17 @@ module Spotted
26
26
  sig { params(position: Integer).void }
27
27
  attr_writer :position
28
28
 
29
+ # The playlist's public/private status (if it should be added to the user's
30
+ # profile or not): `true` the playlist will be public, `false` the playlist will
31
+ # be private, `null` the playlist status is not relevant. For more about
32
+ # public/private status, see
33
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
34
+ sig { returns(T.nilable(T::Boolean)) }
35
+ attr_reader :published
36
+
37
+ sig { params(published: T::Boolean).void }
38
+ attr_writer :published
39
+
29
40
  # A JSON array of the
30
41
  # [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) to add. For
31
42
  # example:
@@ -42,6 +53,7 @@ module Spotted
42
53
  sig do
43
54
  params(
44
55
  position: Integer,
56
+ published: T::Boolean,
45
57
  uris: T::Array[String],
46
58
  request_options: Spotted::RequestOptions::OrHash
47
59
  ).returns(T.attached_class)
@@ -53,6 +65,12 @@ module Spotted
53
65
  # Items are added in the order they appear in the uris array. For example:
54
66
  # `{"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh","spotify:track:1301WleyT98MSxVHPZCA6M"], "position": 3}`
55
67
  position: nil,
68
+ # The playlist's public/private status (if it should be added to the user's
69
+ # profile or not): `true` the playlist will be public, `false` the playlist will
70
+ # be private, `null` the playlist status is not relevant. For more about
71
+ # public/private status, see
72
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
73
+ published: nil,
56
74
  # A JSON array of the
57
75
  # [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) to add. For
58
76
  # example:
@@ -69,6 +87,7 @@ module Spotted
69
87
  override.returns(
70
88
  {
71
89
  position: Integer,
90
+ published: T::Boolean,
72
91
  uris: T::Array[String],
73
92
  request_options: Spotted::RequestOptions
74
93
  }