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
@@ -91,6 +91,17 @@ module Spotted
91
91
  end
92
92
  attr_writer :items
93
93
 
94
+ # The playlist's public/private status (if it should be added to the user's
95
+ # profile or not): `true` the playlist will be public, `false` the playlist will
96
+ # be private, `null` the playlist status is not relevant. For more about
97
+ # public/private status, see
98
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
99
+ sig { returns(T.nilable(T::Boolean)) }
100
+ attr_reader :published
101
+
102
+ sig { params(published: T::Boolean).void }
103
+ attr_writer :published
104
+
94
105
  sig do
95
106
  params(
96
107
  href: String,
@@ -102,7 +113,8 @@ module Spotted
102
113
  items:
103
114
  T::Array[
104
115
  Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::OrHash
105
- ]
116
+ ],
117
+ published: T::Boolean
106
118
  ).returns(T.attached_class)
107
119
  end
108
120
  def self.new(
@@ -118,7 +130,13 @@ module Spotted
118
130
  previous:,
119
131
  # The total number of items available to return.
120
132
  total:,
121
- items: nil
133
+ items: nil,
134
+ # The playlist's public/private status (if it should be added to the user's
135
+ # profile or not): `true` the playlist will be public, `false` the playlist will
136
+ # be private, `null` the playlist status is not relevant. For more about
137
+ # public/private status, see
138
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
139
+ published: nil
122
140
  )
123
141
  end
124
142
 
@@ -134,7 +152,8 @@ module Spotted
134
152
  items:
135
153
  T::Array[
136
154
  Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item
137
- ]
155
+ ],
156
+ published: T::Boolean
138
157
  }
139
158
  )
140
159
  end
@@ -220,6 +239,17 @@ module Spotted
220
239
  sig { returns(String) }
221
240
  attr_accessor :uri
222
241
 
242
+ # The playlist's public/private status (if it should be added to the user's
243
+ # profile or not): `true` the playlist will be public, `false` the playlist will
244
+ # be private, `null` the playlist status is not relevant. For more about
245
+ # public/private status, see
246
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
247
+ sig { returns(T.nilable(T::Boolean)) }
248
+ attr_reader :published
249
+
250
+ sig { params(published: T::Boolean).void }
251
+ attr_writer :published
252
+
223
253
  # Included in the response when a content restriction is applied.
224
254
  sig { returns(T.nilable(Spotted::AlbumRestrictionObject)) }
225
255
  attr_reader :restrictions
@@ -245,6 +275,7 @@ module Spotted
245
275
  Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::ReleaseDatePrecision::OrSymbol,
246
276
  total_tracks: Integer,
247
277
  uri: String,
278
+ published: T::Boolean,
248
279
  restrictions: Spotted::AlbumRestrictionObject::OrHash,
249
280
  type: Symbol
250
281
  ).returns(T.attached_class)
@@ -281,6 +312,12 @@ module Spotted
281
312
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
282
313
  # album.
283
314
  uri:,
315
+ # The playlist's public/private status (if it should be added to the user's
316
+ # profile or not): `true` the playlist will be public, `false` the playlist will
317
+ # be private, `null` the playlist status is not relevant. For more about
318
+ # public/private status, see
319
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
320
+ published: nil,
284
321
  # Included in the response when a content restriction is applied.
285
322
  restrictions: nil,
286
323
  # The object type.
@@ -306,6 +343,7 @@ module Spotted
306
343
  total_tracks: Integer,
307
344
  type: Symbol,
308
345
  uri: String,
346
+ published: T::Boolean,
309
347
  restrictions: Spotted::AlbumRestrictionObject
310
348
  }
311
349
  )
@@ -144,6 +144,17 @@ module Spotted
144
144
  sig { params(available_markets: T::Array[String]).void }
145
145
  attr_writer :available_markets
146
146
 
147
+ # The playlist's public/private status (if it should be added to the user's
148
+ # profile or not): `true` the playlist will be public, `false` the playlist will
149
+ # be private, `null` the playlist status is not relevant. For more about
150
+ # public/private status, see
151
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
152
+ sig { returns(T.nilable(T::Boolean)) }
153
+ attr_reader :published
154
+
155
+ sig { params(published: T::Boolean).void }
156
+ attr_writer :published
157
+
147
158
  # Included in the response when a content restriction is applied.
148
159
  sig { returns(T.nilable(Spotted::ChapterRestrictionObject)) }
149
160
  attr_reader :restrictions
@@ -182,6 +193,7 @@ module Spotted
182
193
  Spotted::Models::ChapterBulkRetrieveResponse::Chapter::ReleaseDatePrecision::OrSymbol,
183
194
  uri: String,
184
195
  available_markets: T::Array[String],
196
+ published: T::Boolean,
185
197
  restrictions: Spotted::ChapterRestrictionObject::OrHash,
186
198
  resume_point: Spotted::ResumePointObject::OrHash,
187
199
  type: Symbol
@@ -232,6 +244,12 @@ module Spotted
232
244
  # A list of the countries in which the chapter can be played, identified by their
233
245
  # [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
234
246
  available_markets: nil,
247
+ # The playlist's public/private status (if it should be added to the user's
248
+ # profile or not): `true` the playlist will be public, `false` the playlist will
249
+ # be private, `null` the playlist status is not relevant. For more about
250
+ # public/private status, see
251
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
252
+ published: nil,
235
253
  # Included in the response when a content restriction is applied.
236
254
  restrictions: nil,
237
255
  # The user's most recent position in the chapter. Set if the supplied access token
@@ -265,6 +283,7 @@ module Spotted
265
283
  type: Symbol,
266
284
  uri: String,
267
285
  available_markets: T::Array[String],
286
+ published: T::Boolean,
268
287
  restrictions: Spotted::ChapterRestrictionObject,
269
288
  resume_point: Spotted::ResumePointObject
270
289
  }
@@ -8,6 +8,17 @@ module Spotted
8
8
  T.any(Spotted::ChapterRestrictionObject, Spotted::Internal::AnyHash)
9
9
  end
10
10
 
11
+ # The playlist's public/private status (if it should be added to the user's
12
+ # profile or not): `true` the playlist will be public, `false` the playlist will
13
+ # be private, `null` the playlist status is not relevant. For more about
14
+ # public/private status, see
15
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
16
+ sig { returns(T.nilable(T::Boolean)) }
17
+ attr_reader :published
18
+
19
+ sig { params(published: T::Boolean).void }
20
+ attr_writer :published
21
+
11
22
  # The reason for the restriction. Supported values:
12
23
  #
13
24
  # - `market` - The content item is not available in the given market.
@@ -25,8 +36,16 @@ module Spotted
25
36
  sig { params(reason: String).void }
26
37
  attr_writer :reason
27
38
 
28
- sig { params(reason: String).returns(T.attached_class) }
39
+ sig do
40
+ params(published: T::Boolean, reason: String).returns(T.attached_class)
41
+ end
29
42
  def self.new(
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
+ published: nil,
30
49
  # The reason for the restriction. Supported values:
31
50
  #
32
51
  # - `market` - The content item is not available in the given market.
@@ -42,7 +61,7 @@ module Spotted
42
61
  )
43
62
  end
44
63
 
45
- sig { override.returns({ reason: String }) }
64
+ sig { override.returns({ published: T::Boolean, reason: String }) }
46
65
  def to_hash
47
66
  end
48
67
  end
@@ -108,6 +108,17 @@ module Spotted
108
108
  sig { params(available_markets: T::Array[String]).void }
109
109
  attr_writer :available_markets
110
110
 
111
+ # The playlist's public/private status (if it should be added to the user's
112
+ # profile or not): `true` the playlist will be public, `false` the playlist will
113
+ # be private, `null` the playlist status is not relevant. For more about
114
+ # public/private status, see
115
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
116
+ sig { returns(T.nilable(T::Boolean)) }
117
+ attr_reader :published
118
+
119
+ sig { params(published: T::Boolean).void }
120
+ attr_writer :published
121
+
111
122
  # Included in the response when a content restriction is applied.
112
123
  sig { returns(T.nilable(Spotted::ChapterRestrictionObject)) }
113
124
  attr_reader :restrictions
@@ -146,6 +157,7 @@ module Spotted
146
157
  Spotted::Models::ChapterRetrieveResponse::ReleaseDatePrecision::OrSymbol,
147
158
  uri: String,
148
159
  available_markets: T::Array[String],
160
+ published: T::Boolean,
149
161
  restrictions: Spotted::ChapterRestrictionObject::OrHash,
150
162
  resume_point: Spotted::ResumePointObject::OrHash,
151
163
  type: Symbol
@@ -196,6 +208,12 @@ module Spotted
196
208
  # A list of the countries in which the chapter can be played, identified by their
197
209
  # [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
198
210
  available_markets: nil,
211
+ # The playlist's public/private status (if it should be added to the user's
212
+ # profile or not): `true` the playlist will be public, `false` the playlist will
213
+ # be private, `null` the playlist status is not relevant. For more about
214
+ # public/private status, see
215
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
216
+ published: nil,
199
217
  # Included in the response when a content restriction is applied.
200
218
  restrictions: nil,
201
219
  # The user's most recent position in the chapter. Set if the supplied access token
@@ -229,6 +247,7 @@ module Spotted
229
247
  type: Symbol,
230
248
  uri: String,
231
249
  available_markets: T::Array[String],
250
+ published: T::Boolean,
232
251
  restrictions: Spotted::ChapterRestrictionObject,
233
252
  resume_point: Spotted::ResumePointObject
234
253
  }
@@ -8,6 +8,17 @@ module Spotted
8
8
  T.any(Spotted::CopyrightObject, Spotted::Internal::AnyHash)
9
9
  end
10
10
 
11
+ # The playlist's public/private status (if it should be added to the user's
12
+ # profile or not): `true` the playlist will be public, `false` the playlist will
13
+ # be private, `null` the playlist status is not relevant. For more about
14
+ # public/private status, see
15
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
16
+ sig { returns(T.nilable(T::Boolean)) }
17
+ attr_reader :published
18
+
19
+ sig { params(published: T::Boolean).void }
20
+ attr_writer :published
21
+
11
22
  # The copyright text for this content.
12
23
  sig { returns(T.nilable(String)) }
13
24
  attr_reader :text
@@ -23,8 +34,18 @@ module Spotted
23
34
  sig { params(type: String).void }
24
35
  attr_writer :type
25
36
 
26
- sig { params(text: String, type: String).returns(T.attached_class) }
37
+ sig do
38
+ params(published: T::Boolean, text: String, type: String).returns(
39
+ T.attached_class
40
+ )
41
+ end
27
42
  def self.new(
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
+ published: nil,
28
49
  # The copyright text for this content.
29
50
  text: nil,
30
51
  # The type of copyright: `C` = the copyright, `P` = the sound recording
@@ -33,7 +54,9 @@ module Spotted
33
54
  )
34
55
  end
35
56
 
36
- sig { override.returns({ text: String, type: String }) }
57
+ sig do
58
+ override.returns({ published: T::Boolean, text: String, type: String })
59
+ end
37
60
  def to_hash
38
61
  end
39
62
  end
@@ -104,6 +104,17 @@ module Spotted
104
104
  sig { params(language: String).void }
105
105
  attr_writer :language
106
106
 
107
+ # The playlist's public/private status (if it should be added to the user's
108
+ # profile or not): `true` the playlist will be public, `false` the playlist will
109
+ # be private, `null` the playlist status is not relevant. For more about
110
+ # public/private status, see
111
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
112
+ sig { returns(T.nilable(T::Boolean)) }
113
+ attr_reader :published
114
+
115
+ sig { params(published: T::Boolean).void }
116
+ attr_writer :published
117
+
107
118
  # Included in the response when a content restriction is applied.
108
119
  sig { returns(T.nilable(Spotted::EpisodeRestrictionObject)) }
109
120
  attr_reader :restrictions
@@ -142,6 +153,7 @@ module Spotted
142
153
  show: Spotted::ShowBase::OrHash,
143
154
  uri: String,
144
155
  language: String,
156
+ published: T::Boolean,
145
157
  restrictions: Spotted::EpisodeRestrictionObject::OrHash,
146
158
  resume_point: Spotted::ResumePointObject::OrHash,
147
159
  type: Symbol
@@ -193,6 +205,12 @@ module Spotted
193
205
  # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code. This field is deprecated
194
206
  # and might be removed in the future. Please use the `languages` field instead.
195
207
  language: nil,
208
+ # The playlist's public/private status (if it should be added to the user's
209
+ # profile or not): `true` the playlist will be public, `false` the playlist will
210
+ # be private, `null` the playlist status is not relevant. For more about
211
+ # public/private status, see
212
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
213
+ published: nil,
196
214
  # Included in the response when a content restriction is applied.
197
215
  restrictions: nil,
198
216
  # The user's most recent position in the episode. Set if the supplied access token
@@ -226,6 +244,7 @@ module Spotted
226
244
  type: Symbol,
227
245
  uri: String,
228
246
  language: String,
247
+ published: T::Boolean,
229
248
  restrictions: Spotted::EpisodeRestrictionObject,
230
249
  resume_point: Spotted::ResumePointObject
231
250
  }
@@ -8,6 +8,17 @@ module Spotted
8
8
  T.any(Spotted::EpisodeRestrictionObject, Spotted::Internal::AnyHash)
9
9
  end
10
10
 
11
+ # The playlist's public/private status (if it should be added to the user's
12
+ # profile or not): `true` the playlist will be public, `false` the playlist will
13
+ # be private, `null` the playlist status is not relevant. For more about
14
+ # public/private status, see
15
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
16
+ sig { returns(T.nilable(T::Boolean)) }
17
+ attr_reader :published
18
+
19
+ sig { params(published: T::Boolean).void }
20
+ attr_writer :published
21
+
11
22
  # The reason for the restriction. Supported values:
12
23
  #
13
24
  # - `market` - The content item is not available in the given market.
@@ -24,8 +35,16 @@ module Spotted
24
35
  sig { params(reason: String).void }
25
36
  attr_writer :reason
26
37
 
27
- sig { params(reason: String).returns(T.attached_class) }
38
+ sig do
39
+ params(published: T::Boolean, reason: String).returns(T.attached_class)
40
+ end
28
41
  def self.new(
42
+ # The playlist's public/private status (if it should be added to the user's
43
+ # profile or not): `true` the playlist will be public, `false` the playlist will
44
+ # be private, `null` the playlist status is not relevant. For more about
45
+ # public/private status, see
46
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
47
+ published: nil,
29
48
  # The reason for the restriction. Supported values:
30
49
  #
31
50
  # - `market` - The content item is not available in the given market.
@@ -40,7 +59,7 @@ module Spotted
40
59
  )
41
60
  end
42
61
 
43
- sig { override.returns({ reason: String }) }
62
+ sig { override.returns({ published: T::Boolean, reason: String }) }
44
63
  def to_hash
45
64
  end
46
65
  end
@@ -22,6 +22,17 @@ module Spotted
22
22
  sig { params(isrc: String).void }
23
23
  attr_writer :isrc
24
24
 
25
+ # The playlist's public/private status (if it should be added to the user's
26
+ # profile or not): `true` the playlist will be public, `false` the playlist will
27
+ # be private, `null` the playlist status is not relevant. For more about
28
+ # public/private status, see
29
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
30
+ sig { returns(T.nilable(T::Boolean)) }
31
+ attr_reader :published
32
+
33
+ sig { params(published: T::Boolean).void }
34
+ attr_writer :published
35
+
25
36
  # [Universal Product Code](http://en.wikipedia.org/wiki/Universal_Product_Code)
26
37
  sig { returns(T.nilable(String)) }
27
38
  attr_reader :upc
@@ -30,19 +41,34 @@ module Spotted
30
41
  attr_writer :upc
31
42
 
32
43
  sig do
33
- params(ean: String, isrc: String, upc: String).returns(T.attached_class)
44
+ params(
45
+ ean: String,
46
+ isrc: String,
47
+ published: T::Boolean,
48
+ upc: String
49
+ ).returns(T.attached_class)
34
50
  end
35
51
  def self.new(
36
52
  # [International Article Number](http://en.wikipedia.org/wiki/International_Article_Number_%28EAN%29)
37
53
  ean: nil,
38
54
  # [International Standard Recording Code](http://en.wikipedia.org/wiki/International_Standard_Recording_Code)
39
55
  isrc: nil,
56
+ # The playlist's public/private status (if it should be added to the user's
57
+ # profile or not): `true` the playlist will be public, `false` the playlist will
58
+ # be private, `null` the playlist status is not relevant. For more about
59
+ # public/private status, see
60
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
61
+ published: nil,
40
62
  # [Universal Product Code](http://en.wikipedia.org/wiki/Universal_Product_Code)
41
63
  upc: nil
42
64
  )
43
65
  end
44
66
 
45
- sig { override.returns({ ean: String, isrc: String, upc: String }) }
67
+ sig do
68
+ override.returns(
69
+ { ean: String, isrc: String, published: T::Boolean, upc: String }
70
+ )
71
+ end
46
72
  def to_hash
47
73
  end
48
74
  end
@@ -8,6 +8,17 @@ module Spotted
8
8
  T.any(Spotted::ExternalURLObject, Spotted::Internal::AnyHash)
9
9
  end
10
10
 
11
+ # The playlist's public/private status (if it should be added to the user's
12
+ # profile or not): `true` the playlist will be public, `false` the playlist will
13
+ # be private, `null` the playlist status is not relevant. For more about
14
+ # public/private status, see
15
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
16
+ sig { returns(T.nilable(T::Boolean)) }
17
+ attr_reader :published
18
+
19
+ sig { params(published: T::Boolean).void }
20
+ attr_writer :published
21
+
11
22
  # The [Spotify URL](/documentation/web-api/concepts/spotify-uris-ids) for the
12
23
  # object.
13
24
  sig { returns(T.nilable(String)) }
@@ -16,15 +27,23 @@ module Spotted
16
27
  sig { params(spotify: String).void }
17
28
  attr_writer :spotify
18
29
 
19
- sig { params(spotify: String).returns(T.attached_class) }
30
+ sig do
31
+ params(published: T::Boolean, spotify: String).returns(T.attached_class)
32
+ end
20
33
  def self.new(
34
+ # The playlist's public/private status (if it should be added to the user's
35
+ # profile or not): `true` the playlist will be public, `false` the playlist will
36
+ # be private, `null` the playlist status is not relevant. For more about
37
+ # public/private status, see
38
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
39
+ published: nil,
21
40
  # The [Spotify URL](/documentation/web-api/concepts/spotify-uris-ids) for the
22
41
  # object.
23
42
  spotify: nil
24
43
  )
25
44
  end
26
45
 
27
- sig { override.returns({ spotify: String }) }
46
+ sig { override.returns({ published: T::Boolean, spotify: String }) }
28
47
  def to_hash
29
48
  end
30
49
  end
@@ -13,6 +13,17 @@ module Spotted
13
13
  sig { returns(T.nilable(String)) }
14
14
  attr_accessor :href
15
15
 
16
+ # The playlist's public/private status (if it should be added to the user's
17
+ # profile or not): `true` the playlist will be public, `false` the playlist will
18
+ # be private, `null` the playlist status is not relevant. For more about
19
+ # public/private status, see
20
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
21
+ sig { returns(T.nilable(T::Boolean)) }
22
+ attr_reader :published
23
+
24
+ sig { params(published: T::Boolean).void }
25
+ attr_writer :published
26
+
16
27
  # The total number of followers.
17
28
  sig { returns(T.nilable(Integer)) }
18
29
  attr_reader :total
@@ -21,20 +32,32 @@ module Spotted
21
32
  attr_writer :total
22
33
 
23
34
  sig do
24
- params(href: T.nilable(String), total: Integer).returns(
25
- T.attached_class
26
- )
35
+ params(
36
+ href: T.nilable(String),
37
+ published: T::Boolean,
38
+ total: Integer
39
+ ).returns(T.attached_class)
27
40
  end
28
41
  def self.new(
29
42
  # This will always be set to null, as the Web API does not support it at the
30
43
  # moment.
31
44
  href: nil,
45
+ # The playlist's public/private status (if it should be added to the user's
46
+ # profile or not): `true` the playlist will be public, `false` the playlist will
47
+ # be private, `null` the playlist status is not relevant. For more about
48
+ # public/private status, see
49
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
50
+ published: nil,
32
51
  # The total number of followers.
33
52
  total: nil
34
53
  )
35
54
  end
36
55
 
37
- sig { override.returns({ href: T.nilable(String), total: Integer }) }
56
+ sig do
57
+ override.returns(
58
+ { href: T.nilable(String), published: T::Boolean, total: Integer }
59
+ )
60
+ end
38
61
  def to_hash
39
62
  end
40
63
  end
@@ -18,11 +18,23 @@ module Spotted
18
18
  sig { returns(T.nilable(Integer)) }
19
19
  attr_accessor :width
20
20
 
21
+ # The playlist's public/private status (if it should be added to the user's
22
+ # profile or not): `true` the playlist will be public, `false` the playlist will
23
+ # be private, `null` the playlist status is not relevant. For more about
24
+ # public/private status, see
25
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
26
+ sig { returns(T.nilable(T::Boolean)) }
27
+ attr_reader :published
28
+
29
+ sig { params(published: T::Boolean).void }
30
+ attr_writer :published
31
+
21
32
  sig do
22
33
  params(
23
34
  height: T.nilable(Integer),
24
35
  url: String,
25
- width: T.nilable(Integer)
36
+ width: T.nilable(Integer),
37
+ published: T::Boolean
26
38
  ).returns(T.attached_class)
27
39
  end
28
40
  def self.new(
@@ -31,13 +43,24 @@ module Spotted
31
43
  # The source URL of the image.
32
44
  url:,
33
45
  # The image width in pixels.
34
- width:
46
+ width:,
47
+ # The playlist's public/private status (if it should be added to the user's
48
+ # profile or not): `true` the playlist will be public, `false` the playlist will
49
+ # be private, `null` the playlist status is not relevant. For more about
50
+ # public/private status, see
51
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
52
+ published: nil
35
53
  )
36
54
  end
37
55
 
38
56
  sig do
39
57
  override.returns(
40
- { height: T.nilable(Integer), url: String, width: T.nilable(Integer) }
58
+ {
59
+ height: T.nilable(Integer),
60
+ url: String,
61
+ width: T.nilable(Integer),
62
+ published: T::Boolean
63
+ }
41
64
  )
42
65
  end
43
66
  def to_hash
@@ -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: "track".
34
45
  sig { returns(T.nilable(String)) }
35
46
  attr_reader :type
@@ -50,6 +61,7 @@ module Spotted
50
61
  id: String,
51
62
  external_urls: Spotted::ExternalURLObject::OrHash,
52
63
  href: String,
64
+ published: T::Boolean,
53
65
  type: String,
54
66
  uri: String
55
67
  ).returns(T.attached_class)
@@ -62,6 +74,12 @@ module Spotted
62
74
  external_urls: nil,
63
75
  # A link to the Web API endpoint providing full details of the track.
64
76
  href: nil,
77
+ # The playlist's public/private status (if it should be added to the user's
78
+ # profile or not): `true` the playlist will be public, `false` the playlist will
79
+ # be private, `null` the playlist status is not relevant. For more about
80
+ # public/private status, see
81
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
82
+ published: nil,
65
83
  # The object type: "track".
66
84
  type: nil,
67
85
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
@@ -76,6 +94,7 @@ module Spotted
76
94
  id: String,
77
95
  external_urls: Spotted::ExternalURLObject,
78
96
  href: String,
97
+ published: T::Boolean,
79
98
  type: String,
80
99
  uri: String
81
100
  }