spotted 0.23.0 → 0.25.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 (192) 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/audiobook_list_response.rb +26 -2
  35. data/lib/spotted/models/me/context_object.rb +13 -1
  36. data/lib/spotted/models/me/device_object.rb +13 -1
  37. data/lib/spotted/models/me/episode_list_response.rb +13 -1
  38. data/lib/spotted/models/me/following_bulk_retrieve_response.rb +30 -2
  39. data/lib/spotted/models/me/player/queue_get_response.rb +16 -1
  40. data/lib/spotted/models/me/player_get_currently_playing_response.rb +30 -2
  41. data/lib/spotted/models/me/player_get_state_response.rb +29 -2
  42. data/lib/spotted/models/me/player_list_recently_played_response.rb +16 -1
  43. data/lib/spotted/models/me/show_list_response.rb +13 -1
  44. data/lib/spotted/models/me/track_list_response.rb +13 -1
  45. data/lib/spotted/models/me_retrieve_response.rb +26 -2
  46. data/lib/spotted/models/narrator_object.rb +13 -1
  47. data/lib/spotted/models/paging_playlist_object.rb +13 -1
  48. data/lib/spotted/models/playlist_retrieve_response.rb +21 -8
  49. data/lib/spotted/models/playlist_track_object.rb +13 -1
  50. data/lib/spotted/models/playlist_tracks_ref_object.rb +13 -1
  51. data/lib/spotted/models/playlist_user_object.rb +13 -1
  52. data/lib/spotted/models/recommendation_get_response.rb +26 -2
  53. data/lib/spotted/models/resume_point_object.rb +13 -1
  54. data/lib/spotted/models/search_query_response.rb +91 -7
  55. data/lib/spotted/models/show_base.rb +13 -1
  56. data/lib/spotted/models/show_retrieve_response.rb +13 -1
  57. data/lib/spotted/models/simplified_artist_object.rb +13 -1
  58. data/lib/spotted/models/simplified_chapter_object.rb +13 -1
  59. data/lib/spotted/models/simplified_episode_object.rb +13 -1
  60. data/lib/spotted/models/simplified_playlist_object.rb +8 -7
  61. data/lib/spotted/models/simplified_track_object.rb +13 -1
  62. data/lib/spotted/models/time_interval_object.rb +16 -1
  63. data/lib/spotted/models/track_object.rb +26 -2
  64. data/lib/spotted/models/track_restriction_object.rb +13 -1
  65. data/lib/spotted/models/user_retrieve_profile_response.rb +13 -1
  66. data/lib/spotted/models/users/playlist_create_response.rb +21 -8
  67. data/lib/spotted/version.rb +1 -1
  68. data/rbi/spotted/models/album_bulk_retrieve_response.rbi +41 -3
  69. data/rbi/spotted/models/album_restriction_object.rbi +22 -1
  70. data/rbi/spotted/models/album_retrieve_response.rbi +41 -3
  71. data/rbi/spotted/models/artist_list_albums_response.rbi +19 -0
  72. data/rbi/spotted/models/artist_object.rbi +19 -0
  73. data/rbi/spotted/models/audio_analysis_retrieve_response.rbi +57 -0
  74. data/rbi/spotted/models/audio_feature_bulk_retrieve_response.rbi +19 -0
  75. data/rbi/spotted/models/audio_feature_retrieve_response.rbi +19 -0
  76. data/rbi/spotted/models/audiobook_base.rbi +20 -1
  77. data/rbi/spotted/models/audiobook_bulk_retrieve_response.rbi +22 -3
  78. data/rbi/spotted/models/audiobook_retrieve_response.rbi +22 -3
  79. data/rbi/spotted/models/author_object.rbi +22 -3
  80. data/rbi/spotted/models/browse/category_get_playlists_response.rbi +25 -3
  81. data/rbi/spotted/models/browse/category_list_response.rbi +44 -6
  82. data/rbi/spotted/models/browse/category_retrieve_response.rbi +22 -3
  83. data/rbi/spotted/models/browse_get_featured_playlists_response.rbi +25 -3
  84. data/rbi/spotted/models/browse_get_new_releases_response.rbi +41 -3
  85. data/rbi/spotted/models/chapter_bulk_retrieve_response.rbi +19 -0
  86. data/rbi/spotted/models/chapter_restriction_object.rbi +21 -2
  87. data/rbi/spotted/models/chapter_retrieve_response.rbi +19 -0
  88. data/rbi/spotted/models/copyright_object.rbi +25 -2
  89. data/rbi/spotted/models/episode_object.rbi +19 -0
  90. data/rbi/spotted/models/episode_restriction_object.rbi +21 -2
  91. data/rbi/spotted/models/external_id_object.rbi +28 -2
  92. data/rbi/spotted/models/external_url_object.rbi +21 -2
  93. data/rbi/spotted/models/followers_object.rbi +27 -4
  94. data/rbi/spotted/models/image_object.rbi +26 -3
  95. data/rbi/spotted/models/linked_track_object.rbi +19 -0
  96. data/rbi/spotted/models/me/album_list_response.rbi +63 -6
  97. data/rbi/spotted/models/me/audiobook_list_response.rbi +44 -6
  98. data/rbi/spotted/models/me/context_object.rbi +19 -0
  99. data/rbi/spotted/models/me/device_object.rbi +19 -0
  100. data/rbi/spotted/models/me/episode_list_response.rbi +27 -3
  101. data/rbi/spotted/models/me/following_bulk_retrieve_response.rbi +47 -3
  102. data/rbi/spotted/models/me/player/queue_get_response.rbi +19 -0
  103. data/rbi/spotted/models/me/player_get_currently_playing_response.rbi +38 -0
  104. data/rbi/spotted/models/me/player_get_state_response.rbi +38 -0
  105. data/rbi/spotted/models/me/player_list_recently_played_response.rbi +19 -0
  106. data/rbi/spotted/models/me/show_list_response.rbi +27 -4
  107. data/rbi/spotted/models/me/track_list_response.rbi +29 -4
  108. data/rbi/spotted/models/me_retrieve_response.rbi +47 -5
  109. data/rbi/spotted/models/narrator_object.rbi +22 -3
  110. data/rbi/spotted/models/paging_playlist_object.rbi +22 -3
  111. data/rbi/spotted/models/playlist_retrieve_response.rbi +36 -15
  112. data/rbi/spotted/models/playlist_track_object.rbi +19 -0
  113. data/rbi/spotted/models/playlist_tracks_ref_object.rbi +27 -2
  114. data/rbi/spotted/models/playlist_user_object.rbi +19 -0
  115. data/rbi/spotted/models/recommendation_get_response.rbi +41 -3
  116. data/rbi/spotted/models/resume_point_object.rbi +27 -4
  117. data/rbi/spotted/models/search_query_response.rbi +151 -18
  118. data/rbi/spotted/models/show_base.rbi +20 -1
  119. data/rbi/spotted/models/show_retrieve_response.rbi +22 -3
  120. data/rbi/spotted/models/simplified_artist_object.rbi +19 -0
  121. data/rbi/spotted/models/simplified_chapter_object.rbi +19 -0
  122. data/rbi/spotted/models/simplified_episode_object.rbi +19 -0
  123. data/rbi/spotted/models/simplified_playlist_object.rbi +14 -12
  124. data/rbi/spotted/models/simplified_track_object.rbi +19 -0
  125. data/rbi/spotted/models/time_interval_object.rbi +31 -4
  126. data/rbi/spotted/models/track_object.rbi +38 -0
  127. data/rbi/spotted/models/track_restriction_object.rbi +21 -2
  128. data/rbi/spotted/models/user_retrieve_profile_response.rbi +19 -0
  129. data/rbi/spotted/models/users/playlist_create_response.rbi +36 -15
  130. data/sig/spotted/models/album_bulk_retrieve_response.rbs +17 -3
  131. data/sig/spotted/models/album_restriction_object.rbs +10 -1
  132. data/sig/spotted/models/album_retrieve_response.rbs +17 -3
  133. data/sig/spotted/models/artist_list_albums_response.rbs +7 -0
  134. data/sig/spotted/models/artist_object.rbs +7 -0
  135. data/sig/spotted/models/audio_analysis_retrieve_response.rbs +21 -0
  136. data/sig/spotted/models/audio_feature_bulk_retrieve_response.rbs +7 -0
  137. data/sig/spotted/models/audio_feature_retrieve_response.rbs +7 -0
  138. data/sig/spotted/models/audiobook_base.rbs +9 -2
  139. data/sig/spotted/models/audiobook_bulk_retrieve_response.rbs +10 -3
  140. data/sig/spotted/models/audiobook_retrieve_response.rbs +10 -3
  141. data/sig/spotted/models/author_object.rbs +7 -3
  142. data/sig/spotted/models/browse/category_get_playlists_response.rbs +13 -3
  143. data/sig/spotted/models/browse/category_list_response.rbs +20 -6
  144. data/sig/spotted/models/browse/category_retrieve_response.rbs +10 -3
  145. data/sig/spotted/models/browse_get_featured_playlists_response.rbs +13 -3
  146. data/sig/spotted/models/browse_get_new_releases_response.rbs +17 -3
  147. data/sig/spotted/models/chapter_bulk_retrieve_response.rbs +7 -0
  148. data/sig/spotted/models/chapter_restriction_object.rbs +7 -3
  149. data/sig/spotted/models/chapter_retrieve_response.rbs +7 -0
  150. data/sig/spotted/models/copyright_object.rbs +7 -3
  151. data/sig/spotted/models/episode_object.rbs +7 -0
  152. data/sig/spotted/models/episode_restriction_object.rbs +7 -3
  153. data/sig/spotted/models/external_id_object.rbs +19 -4
  154. data/sig/spotted/models/external_url_object.rbs +7 -3
  155. data/sig/spotted/models/followers_object.rbs +11 -3
  156. data/sig/spotted/models/image_object.rbs +18 -3
  157. data/sig/spotted/models/linked_track_object.rbs +7 -0
  158. data/sig/spotted/models/me/album_list_response.rbs +30 -6
  159. data/sig/spotted/models/me/audiobook_list_response.rbs +20 -6
  160. data/sig/spotted/models/me/context_object.rbs +7 -0
  161. data/sig/spotted/models/me/device_object.rbs +7 -0
  162. data/sig/spotted/models/me/episode_list_response.rbs +12 -3
  163. data/sig/spotted/models/me/following_bulk_retrieve_response.rbs +18 -3
  164. data/sig/spotted/models/me/player/queue_get_response.rbs +7 -0
  165. data/sig/spotted/models/me/player_get_currently_playing_response.rbs +14 -0
  166. data/sig/spotted/models/me/player_get_state_response.rbs +14 -0
  167. data/sig/spotted/models/me/player_list_recently_played_response.rbs +7 -0
  168. data/sig/spotted/models/me/show_list_response.rbs +16 -3
  169. data/sig/spotted/models/me/track_list_response.rbs +16 -3
  170. data/sig/spotted/models/me_retrieve_response.rbs +23 -3
  171. data/sig/spotted/models/narrator_object.rbs +7 -3
  172. data/sig/spotted/models/paging_playlist_object.rbs +10 -3
  173. data/sig/spotted/models/playlist_retrieve_response.rbs +15 -8
  174. data/sig/spotted/models/playlist_track_object.rbs +7 -0
  175. data/sig/spotted/models/playlist_tracks_ref_object.rbs +8 -3
  176. data/sig/spotted/models/playlist_user_object.rbs +7 -0
  177. data/sig/spotted/models/recommendation_get_response.rbs +17 -3
  178. data/sig/spotted/models/resume_point_object.rbs +11 -2
  179. data/sig/spotted/models/search_query_response.rbs +67 -18
  180. data/sig/spotted/models/show_base.rbs +9 -2
  181. data/sig/spotted/models/show_retrieve_response.rbs +10 -3
  182. data/sig/spotted/models/simplified_artist_object.rbs +7 -0
  183. data/sig/spotted/models/simplified_chapter_object.rbs +7 -0
  184. data/sig/spotted/models/simplified_episode_object.rbs +7 -0
  185. data/sig/spotted/models/simplified_playlist_object.rbs +5 -5
  186. data/sig/spotted/models/simplified_track_object.rbs +7 -0
  187. data/sig/spotted/models/time_interval_object.rbs +12 -2
  188. data/sig/spotted/models/track_object.rbs +14 -0
  189. data/sig/spotted/models/track_restriction_object.rbs +7 -3
  190. data/sig/spotted/models/user_retrieve_profile_response.rbs +7 -0
  191. data/sig/spotted/models/users/playlist_create_response.rbs +15 -8
  192. metadata +2 -2
@@ -86,6 +86,17 @@ module Spotted
86
86
  sig { params(progress_ms: Integer).void }
87
87
  attr_writer :progress_ms
88
88
 
89
+ # The playlist's public/private status (if it should be added to the user's
90
+ # profile or not): `true` the playlist will be public, `false` the playlist will
91
+ # be private, `null` the playlist status is not relevant. For more about
92
+ # public/private status, see
93
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
94
+ sig { returns(T.nilable(T::Boolean)) }
95
+ attr_reader :published
96
+
97
+ sig { params(published: T::Boolean).void }
98
+ attr_writer :published
99
+
89
100
  # off, track, context
90
101
  sig { returns(T.nilable(String)) }
91
102
  attr_reader :repeat_state
@@ -122,6 +133,7 @@ module Spotted
122
133
  Spotted::EpisodeObject::OrHash
123
134
  ),
124
135
  progress_ms: Integer,
136
+ published: T::Boolean,
125
137
  repeat_state: String,
126
138
  shuffle_state: T::Boolean,
127
139
  timestamp: Integer
@@ -144,6 +156,12 @@ module Spotted
144
156
  item: nil,
145
157
  # Progress into the currently playing track or episode. Can be `null`.
146
158
  progress_ms: nil,
159
+ # The playlist's public/private status (if it should be added to the user's
160
+ # profile or not): `true` the playlist will be public, `false` the playlist will
161
+ # be private, `null` the playlist status is not relevant. For more about
162
+ # public/private status, see
163
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
164
+ published: nil,
147
165
  # off, track, context
148
166
  repeat_state: nil,
149
167
  # If shuffle is on or off.
@@ -164,6 +182,7 @@ module Spotted
164
182
  is_playing: T::Boolean,
165
183
  item: Spotted::Models::Me::PlayerGetStateResponse::Item::Variants,
166
184
  progress_ms: Integer,
185
+ published: T::Boolean,
167
186
  repeat_state: String,
168
187
  shuffle_state: T::Boolean,
169
188
  timestamp: Integer
@@ -196,6 +215,17 @@ module Spotted
196
215
  sig { params(pausing: T::Boolean).void }
197
216
  attr_writer :pausing
198
217
 
218
+ # The playlist's public/private status (if it should be added to the user's
219
+ # profile or not): `true` the playlist will be public, `false` the playlist will
220
+ # be private, `null` the playlist status is not relevant. For more about
221
+ # public/private status, see
222
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
223
+ sig { returns(T.nilable(T::Boolean)) }
224
+ attr_reader :published
225
+
226
+ sig { params(published: T::Boolean).void }
227
+ attr_writer :published
228
+
199
229
  # Resuming. Optional field.
200
230
  sig { returns(T.nilable(T::Boolean)) }
201
231
  attr_reader :resuming
@@ -258,6 +288,7 @@ module Spotted
258
288
  params(
259
289
  interrupting_playback: T::Boolean,
260
290
  pausing: T::Boolean,
291
+ published: T::Boolean,
261
292
  resuming: T::Boolean,
262
293
  seeking: T::Boolean,
263
294
  skipping_next: T::Boolean,
@@ -273,6 +304,12 @@ module Spotted
273
304
  interrupting_playback: nil,
274
305
  # Pausing. Optional field.
275
306
  pausing: nil,
307
+ # The playlist's public/private status (if it should be added to the user's
308
+ # profile or not): `true` the playlist will be public, `false` the playlist will
309
+ # be private, `null` the playlist status is not relevant. For more about
310
+ # public/private status, see
311
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
312
+ published: nil,
276
313
  # Resuming. Optional field.
277
314
  resuming: nil,
278
315
  # Seeking playback location. Optional field.
@@ -297,6 +334,7 @@ module Spotted
297
334
  {
298
335
  interrupting_playback: T::Boolean,
299
336
  pausing: T::Boolean,
337
+ published: T::Boolean,
300
338
  resuming: T::Boolean,
301
339
  seeking: T::Boolean,
302
340
  skipping_next: T::Boolean,
@@ -26,6 +26,17 @@ module Spotted
26
26
  sig { params(played_at: Time).void }
27
27
  attr_writer :played_at
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
  # The track the user listened to.
30
41
  sig { returns(T.nilable(Spotted::TrackObject)) }
31
42
  attr_reader :track
@@ -37,6 +48,7 @@ module Spotted
37
48
  params(
38
49
  context: Spotted::Me::ContextObject::OrHash,
39
50
  played_at: Time,
51
+ published: T::Boolean,
40
52
  track: Spotted::TrackObject::OrHash
41
53
  ).returns(T.attached_class)
42
54
  end
@@ -45,6 +57,12 @@ module Spotted
45
57
  context: nil,
46
58
  # The date and time the track was played.
47
59
  played_at: nil,
60
+ # The playlist's public/private status (if it should be added to the user's
61
+ # profile or not): `true` the playlist will be public, `false` the playlist will
62
+ # be private, `null` the playlist status is not relevant. For more about
63
+ # public/private status, see
64
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
65
+ published: nil,
48
66
  # The track the user listened to.
49
67
  track: nil
50
68
  )
@@ -55,6 +73,7 @@ module Spotted
55
73
  {
56
74
  context: Spotted::Me::ContextObject,
57
75
  played_at: Time,
76
+ published: T::Boolean,
58
77
  track: Spotted::TrackObject
59
78
  }
60
79
  )
@@ -23,6 +23,17 @@ module Spotted
23
23
  sig { params(added_at: Time).void }
24
24
  attr_writer :added_at
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
  # Information about the show.
27
38
  sig { returns(T.nilable(Spotted::ShowBase)) }
28
39
  attr_reader :show
@@ -31,9 +42,11 @@ module Spotted
31
42
  attr_writer :show
32
43
 
33
44
  sig do
34
- params(added_at: Time, show: Spotted::ShowBase::OrHash).returns(
35
- T.attached_class
36
- )
45
+ params(
46
+ added_at: Time,
47
+ published: T::Boolean,
48
+ show: Spotted::ShowBase::OrHash
49
+ ).returns(T.attached_class)
37
50
  end
38
51
  def self.new(
39
52
  # The date and time the show was saved. Timestamps are returned in ISO 8601 format
@@ -42,12 +55,22 @@ module Spotted
42
55
  # additional field indicates the precision; see for example, release_date in an
43
56
  # album object.
44
57
  added_at: nil,
58
+ # The playlist's public/private status (if it should be added to the user's
59
+ # profile or not): `true` the playlist will be public, `false` the playlist will
60
+ # be private, `null` the playlist status is not relevant. For more about
61
+ # public/private status, see
62
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
63
+ published: nil,
45
64
  # Information about the show.
46
65
  show: nil
47
66
  )
48
67
  end
49
68
 
50
- sig { override.returns({ added_at: Time, show: Spotted::ShowBase }) }
69
+ sig do
70
+ override.returns(
71
+ { added_at: Time, published: T::Boolean, show: Spotted::ShowBase }
72
+ )
73
+ end
51
74
  def to_hash
52
75
  end
53
76
  end
@@ -23,6 +23,17 @@ module Spotted
23
23
  sig { params(added_at: Time).void }
24
24
  attr_writer :added_at
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
  # Information about the track.
27
38
  sig { returns(T.nilable(Spotted::TrackObject)) }
28
39
  attr_reader :track
@@ -31,9 +42,11 @@ module Spotted
31
42
  attr_writer :track
32
43
 
33
44
  sig do
34
- params(added_at: Time, track: Spotted::TrackObject::OrHash).returns(
35
- T.attached_class
36
- )
45
+ params(
46
+ added_at: Time,
47
+ published: T::Boolean,
48
+ track: Spotted::TrackObject::OrHash
49
+ ).returns(T.attached_class)
37
50
  end
38
51
  def self.new(
39
52
  # The date and time the track was saved. Timestamps are returned in ISO 8601
@@ -42,13 +55,25 @@ module Spotted
42
55
  # album release), an additional field indicates the precision; see for example,
43
56
  # release_date in an album object.
44
57
  added_at: nil,
58
+ # The playlist's public/private status (if it should be added to the user's
59
+ # profile or not): `true` the playlist will be public, `false` the playlist will
60
+ # be private, `null` the playlist status is not relevant. For more about
61
+ # public/private status, see
62
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
63
+ published: nil,
45
64
  # Information about the track.
46
65
  track: nil
47
66
  )
48
67
  end
49
68
 
50
69
  sig do
51
- override.returns({ added_at: Time, track: Spotted::TrackObject })
70
+ override.returns(
71
+ {
72
+ added_at: Time,
73
+ published: T::Boolean,
74
+ track: Spotted::TrackObject
75
+ }
76
+ )
52
77
  end
53
78
  def to_hash
54
79
  end
@@ -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,15 +83,16 @@ 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
- attr_reader :public
92
+ attr_reader :published
92
93
 
93
- sig { params(public: T::Boolean).void }
94
- attr_writer :public
94
+ sig { params(published: T::Boolean).void }
95
+ attr_writer :published
95
96
 
96
97
  # The version identifier for the current playlist. Can be supplied in other
97
98
  # requests to target a specific playlist version
@@ -140,7 +141,7 @@ module Spotted
140
141
  images: T::Array[Spotted::ImageObject::OrHash],
141
142
  name: String,
142
143
  owner: Spotted::Models::PlaylistRetrieveResponse::Owner::OrHash,
143
- public: T::Boolean,
144
+ published: T::Boolean,
144
145
  snapshot_id: String,
145
146
  tracks: Spotted::Models::PlaylistRetrieveResponse::Tracks::OrHash,
146
147
  type: String,
@@ -172,11 +173,12 @@ 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
- public: nil,
181
+ published: nil,
180
182
  # The version identifier for the current playlist. Can be supplied in other
181
183
  # requests to target a specific playlist version
182
184
  snapshot_id: nil,
@@ -202,7 +204,7 @@ module Spotted
202
204
  images: T::Array[Spotted::ImageObject],
203
205
  name: String,
204
206
  owner: Spotted::Models::PlaylistRetrieveResponse::Owner,
205
- public: T::Boolean,
207
+ published: T::Boolean,
206
208
  snapshot_id: String,
207
209
  tracks: Spotted::Models::PlaylistRetrieveResponse::Tracks,
208
210
  type: String,
@@ -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