spotted 0.36.0 → 0.37.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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +9 -11
  4. data/lib/spotted/models/playlist_retrieve_response.rb +95 -7
  5. data/lib/spotted/models/playlist_track_object.rb +31 -3
  6. data/lib/spotted/models/simplified_playlist_object.rb +19 -6
  7. data/lib/spotted/models/users/playlist_create_response.rb +95 -7
  8. data/lib/spotted/resources/me/albums.rb +14 -0
  9. data/lib/spotted/resources/me/audiobooks.rb +14 -0
  10. data/lib/spotted/resources/me/episodes.rb +18 -16
  11. data/lib/spotted/resources/me/following.rb +18 -0
  12. data/lib/spotted/resources/me/shows.rb +14 -0
  13. data/lib/spotted/resources/me/tracks.rb +14 -0
  14. data/lib/spotted/resources/playlists/followers.rb +18 -0
  15. data/lib/spotted/resources/playlists/tracks.rb +24 -3
  16. data/lib/spotted/version.rb +1 -1
  17. data/rbi/spotted/models/playlist_retrieve_response.rbi +129 -6
  18. data/rbi/spotted/models/playlist_track_object.rbi +35 -2
  19. data/rbi/spotted/models/simplified_playlist_object.rbi +25 -8
  20. data/rbi/spotted/models/users/playlist_create_response.rbi +132 -6
  21. data/rbi/spotted/resources/me/albums.rbi +12 -0
  22. data/rbi/spotted/resources/me/audiobooks.rbi +12 -0
  23. data/rbi/spotted/resources/me/episodes.rbi +16 -16
  24. data/rbi/spotted/resources/me/following.rbi +12 -0
  25. data/rbi/spotted/resources/me/shows.rbi +12 -0
  26. data/rbi/spotted/resources/me/tracks.rbi +12 -0
  27. data/rbi/spotted/resources/playlists/followers.rbi +12 -0
  28. data/rbi/spotted/resources/playlists/tracks.rbi +16 -3
  29. data/sig/spotted/models/playlist_retrieve_response.rbs +67 -0
  30. data/sig/spotted/models/playlist_track_object.rbs +17 -0
  31. data/sig/spotted/models/simplified_playlist_object.rbs +9 -0
  32. data/sig/spotted/models/users/playlist_create_response.rbs +67 -0
  33. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eb992999c1594058b701d6e27e3fdfa272d330c4fd88f9e9c1495fedc9c5c79b
4
- data.tar.gz: f921d95a39fd7304f6e233f1f838f67abacb0e09e6170d6292535242e08d2a85
3
+ metadata.gz: 2f71580517da6c6a182d9f537954aa3ac8299cf8400acb7265766116108a4823
4
+ data.tar.gz: 121e45fd1476cb34045b48336124f955f142e39eb409b90263c2b6a4c0d465f6
5
5
  SHA512:
6
- metadata.gz: 4b930960139afe00585d7da17cafd052ee957595577c7ba1e55ef6da03b83fd5a4ee8644d44ef067fa42386785333aa0100108107a077084e98f1ca32a3c8573
7
- data.tar.gz: 3ff91863119ccbd08cee00d3619362837f5d77c36281bf0d9c0414751ae2e4166e392f2524d1bc09afe7ed86cb361a54a4166bb331ea116d11e81513bf684083
6
+ metadata.gz: 19ff59f03ba690555122d2afc2ce727518e95f7a0779573c6806c77f8ad96ba1da67d979422143cb488c3199970eb75bd3aa9625d9bfd295603e84e658821162
7
+ data.tar.gz: 0c835f0ba1120e82a8e272af61c9adcc10f4f2a4d727b85241d2afb3665fc34484636d5f88c2dcebfe19d9391f349a6c1f5a688e18a6657874cbc46de13fc61c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.37.0 (2026-02-12)
4
+
5
+ Full Changelog: [v0.36.0...v0.37.0](https://github.com/cjavdev/spotted/compare/v0.36.0...v0.37.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([6b7d263](https://github.com/cjavdev/spotted/commit/6b7d263f9dcb370ebf6f7c984e4d2f92e6d15e8f))
10
+
3
11
  ## 0.36.0 (2026-02-10)
4
12
 
5
13
  Full Changelog: [v0.35.0...v0.36.0](https://github.com/cjavdev/spotted/compare/v0.35.0...v0.36.0)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "spotted", "~> 0.36.0"
29
+ gem "spotted", "~> 0.37.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -234,25 +234,23 @@ spotted.albums.retrieve("4aawyAB9vmqN3uQ7FjRGTy", **params)
234
234
  Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
235
235
 
236
236
  ```ruby
237
- # :artist
238
- puts(Spotted::Me::FollowingCheckParams::Type::ARTIST)
237
+ # :market
238
+ puts(Spotted::AlbumRestrictionObject::Reason::MARKET)
239
239
 
240
- # Revealed type: `T.all(Spotted::Me::FollowingCheckParams::Type, Symbol)`
241
- T.reveal_type(Spotted::Me::FollowingCheckParams::Type::ARTIST)
240
+ # Revealed type: `T.all(Spotted::AlbumRestrictionObject::Reason, Symbol)`
241
+ T.reveal_type(Spotted::AlbumRestrictionObject::Reason::MARKET)
242
242
  ```
243
243
 
244
244
  Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
245
245
 
246
246
  ```ruby
247
- # Using the enum constants preserves the tagged type information:
248
- spotted.me.following.check(
249
- type: Spotted::Me::FollowingCheckParams::Type::ARTIST,
247
+ Spotted::AlbumRestrictionObject.new(
248
+ reason: Spotted::AlbumRestrictionObject::Reason::MARKET,
250
249
  # …
251
250
  )
252
251
 
253
- # Literal values are also permissible:
254
- spotted.me.following.check(
255
- type: :artist,
252
+ Spotted::AlbumRestrictionObject.new(
253
+ reason: :market,
256
254
  # …
257
255
  )
258
256
  ```
@@ -52,6 +52,13 @@ module Spotted
52
52
  # @return [Array<Spotted::Models::ImageObject>, nil]
53
53
  optional :images, -> { Spotted::Internal::Type::ArrayOf[Spotted::ImageObject] }
54
54
 
55
+ # @!attribute items
56
+ # The items of the playlist. _**Note**: This field is only available for playlists
57
+ # owned by the current user or playlists the user is a collaborator of._
58
+ #
59
+ # @return [Spotted::Models::PlaylistRetrieveResponse::Items, nil]
60
+ optional :items, -> { Spotted::Models::PlaylistRetrieveResponse::Items }
61
+
55
62
  # @!attribute name
56
63
  # The name of the playlist.
57
64
  #
@@ -82,8 +89,9 @@ module Spotted
82
89
  optional :snapshot_id, String
83
90
 
84
91
  # @!attribute tracks
85
- # The tracks of the playlist. _**Note**: This field is only available for
86
- # playlists owned by the current user._
92
+ # @deprecated
93
+ #
94
+ # **Deprecated:** Use `items` instead. The tracks of the playlist.
87
95
  #
88
96
  # @return [Spotted::Models::PlaylistRetrieveResponse::Tracks, nil]
89
97
  optional :tracks, -> { Spotted::Models::PlaylistRetrieveResponse::Tracks }
@@ -101,7 +109,7 @@ module Spotted
101
109
  # @return [String, nil]
102
110
  optional :uri, String
103
111
 
104
- # @!method initialize(id: nil, collaborative: nil, description: nil, external_urls: nil, followers: nil, href: nil, images: nil, name: nil, owner: nil, published: nil, snapshot_id: nil, tracks: nil, type: nil, uri: nil)
112
+ # @!method initialize(id: nil, collaborative: nil, description: nil, external_urls: nil, followers: nil, href: nil, images: nil, items: nil, name: nil, owner: nil, published: nil, snapshot_id: nil, tracks: nil, type: nil, uri: nil)
105
113
  # Some parameter documentations has been truncated, see
106
114
  # {Spotted::Models::PlaylistRetrieveResponse} for more details.
107
115
  #
@@ -120,6 +128,9 @@ module Spotted
120
128
  #
121
129
  # @param images [Array<Spotted::Models::ImageObject>] Images for the playlist. The array may be empty or contain up to three images. T
122
130
  #
131
+ # @param items [Spotted::Models::PlaylistRetrieveResponse::Items] The items of the playlist. \_**Note**: This field is only available for
132
+ # playlists
133
+ #
123
134
  # @param name [String] The name of the playlist.
124
135
  #
125
136
  # @param owner [Spotted::Models::PlaylistRetrieveResponse::Owner] The user who owns the playlist
@@ -128,13 +139,89 @@ module Spotted
128
139
  #
129
140
  # @param snapshot_id [String] The version identifier for the current playlist. Can be supplied in other reques
130
141
  #
131
- # @param tracks [Spotted::Models::PlaylistRetrieveResponse::Tracks] The tracks of the playlist. \_**Note**: This field is only available for
132
- # playlist
142
+ # @param tracks [Spotted::Models::PlaylistRetrieveResponse::Tracks] **Deprecated:** Use `items` instead. The tracks of the playlist.
133
143
  #
134
144
  # @param type [String] The object type: "playlist"
135
145
  #
136
146
  # @param uri [String] The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the play
137
147
 
148
+ # @see Spotted::Models::PlaylistRetrieveResponse#items
149
+ class Items < Spotted::Internal::Type::BaseModel
150
+ # @!attribute href
151
+ # A link to the Web API endpoint returning the full result of the request
152
+ #
153
+ # @return [String]
154
+ required :href, String
155
+
156
+ # @!attribute limit
157
+ # The maximum number of items in the response (as set in the query or by default).
158
+ #
159
+ # @return [Integer]
160
+ required :limit, Integer
161
+
162
+ # @!attribute next_
163
+ # URL to the next page of items. ( `null` if none)
164
+ #
165
+ # @return [String, nil]
166
+ required :next_, String, api_name: :next, nil?: true
167
+
168
+ # @!attribute offset
169
+ # The offset of the items returned (as set in the query or by default)
170
+ #
171
+ # @return [Integer]
172
+ required :offset, Integer
173
+
174
+ # @!attribute previous
175
+ # URL to the previous page of items. ( `null` if none)
176
+ #
177
+ # @return [String, nil]
178
+ required :previous, String, nil?: true
179
+
180
+ # @!attribute total
181
+ # The total number of items available to return.
182
+ #
183
+ # @return [Integer]
184
+ required :total, Integer
185
+
186
+ # @!attribute items
187
+ #
188
+ # @return [Array<Spotted::Models::PlaylistTrackObject>, nil]
189
+ optional :items, -> { Spotted::Internal::Type::ArrayOf[Spotted::PlaylistTrackObject] }
190
+
191
+ # @!attribute published
192
+ # The playlist's public/private status (if it should be added to the user's
193
+ # profile or not): `true` the playlist will be public, `false` the playlist will
194
+ # be private, `null` the playlist status is not relevant. For more about
195
+ # public/private status, see
196
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
197
+ #
198
+ # @return [Boolean, nil]
199
+ optional :published, Spotted::Internal::Type::Boolean
200
+
201
+ # @!method initialize(href:, limit:, next_:, offset:, previous:, total:, items: nil, published: nil)
202
+ # Some parameter documentations has been truncated, see
203
+ # {Spotted::Models::PlaylistRetrieveResponse::Items} for more details.
204
+ #
205
+ # The items of the playlist. _**Note**: This field is only available for playlists
206
+ # owned by the current user or playlists the user is a collaborator of._
207
+ #
208
+ # @param href [String] A link to the Web API endpoint returning the full result of the request
209
+ #
210
+ # @param limit [Integer] The maximum number of items in the response (as set in the query or by default).
211
+ #
212
+ # @param next_ [String, nil] URL to the next page of items. ( `null` if none)
213
+ #
214
+ # @param offset [Integer] The offset of the items returned (as set in the query or by default)
215
+ #
216
+ # @param previous [String, nil] URL to the previous page of items. ( `null` if none)
217
+ #
218
+ # @param total [Integer] The total number of items available to return.
219
+ #
220
+ # @param items [Array<Spotted::Models::PlaylistTrackObject>]
221
+ #
222
+ # @param published [Boolean] The playlist's public/private status (if it should be added to the user's profil
223
+ end
224
+
138
225
  # @see Spotted::Models::PlaylistRetrieveResponse#owner
139
226
  class Owner < Spotted::Models::PlaylistUserObject
140
227
  # @!attribute display_name
@@ -152,6 +239,8 @@ module Spotted
152
239
  # @param display_name [String, nil] The name displayed on the user's profile. `null` if not available.
153
240
  end
154
241
 
242
+ # @deprecated
243
+ #
155
244
  # @see Spotted::Models::PlaylistRetrieveResponse#tracks
156
245
  class Tracks < Spotted::Internal::Type::BaseModel
157
246
  # @!attribute href
@@ -209,8 +298,7 @@ module Spotted
209
298
  # Some parameter documentations has been truncated, see
210
299
  # {Spotted::Models::PlaylistRetrieveResponse::Tracks} for more details.
211
300
  #
212
- # The tracks of the playlist. _**Note**: This field is only available for
213
- # playlists owned by the current user._
301
+ # **Deprecated:** Use `items` instead. The tracks of the playlist.
214
302
  #
215
303
  # @param href [String] A link to the Web API endpoint returning the full result of the request
216
304
  #
@@ -24,6 +24,12 @@ module Spotted
24
24
  # @return [Boolean, nil]
25
25
  optional :is_local, Spotted::Internal::Type::Boolean
26
26
 
27
+ # @!attribute item
28
+ # Information about the track or episode.
29
+ #
30
+ # @return [Spotted::Models::TrackObject, Spotted::Models::EpisodeObject, nil]
31
+ optional :item, union: -> { Spotted::PlaylistTrackObject::Item }
32
+
27
33
  # @!attribute published
28
34
  # The playlist's public/private status (if it should be added to the user's
29
35
  # profile or not): `true` the playlist will be public, `false` the playlist will
@@ -35,12 +41,14 @@ module Spotted
35
41
  optional :published, Spotted::Internal::Type::Boolean
36
42
 
37
43
  # @!attribute track
38
- # Information about the track or episode.
44
+ # @deprecated
45
+ #
46
+ # **Deprecated:** Use `item` instead. Information about the track or episode.
39
47
  #
40
48
  # @return [Spotted::Models::TrackObject, Spotted::Models::EpisodeObject, nil]
41
49
  optional :track, union: -> { Spotted::PlaylistTrackObject::Track }
42
50
 
43
- # @!method initialize(added_at: nil, added_by: nil, is_local: nil, published: nil, track: nil)
51
+ # @!method initialize(added_at: nil, added_by: nil, is_local: nil, item: nil, published: nil, track: nil)
44
52
  # Some parameter documentations has been truncated, see
45
53
  # {Spotted::Models::PlaylistTrackObject} for more details.
46
54
  #
@@ -52,12 +60,32 @@ module Spotted
52
60
  #
53
61
  # @param is_local [Boolean] Whether this track or episode is a [local file](/documentation/web-api/concepts/
54
62
  #
63
+ # @param item [Spotted::Models::TrackObject, Spotted::Models::EpisodeObject] Information about the track or episode.
64
+ #
55
65
  # @param published [Boolean] The playlist's public/private status (if it should be added to the user's profil
56
66
  #
57
- # @param track [Spotted::Models::TrackObject, Spotted::Models::EpisodeObject] Information about the track or episode.
67
+ # @param track [Spotted::Models::TrackObject, Spotted::Models::EpisodeObject] **Deprecated:** Use `item` instead. Information about the track or episode.
58
68
 
59
69
  # Information about the track or episode.
60
70
  #
71
+ # @see Spotted::Models::PlaylistTrackObject#item
72
+ module Item
73
+ extend Spotted::Internal::Type::Union
74
+
75
+ discriminator :type
76
+
77
+ variant :track, -> { Spotted::TrackObject }
78
+
79
+ variant :episode, -> { Spotted::EpisodeObject }
80
+
81
+ # @!method self.variants
82
+ # @return [Array(Spotted::Models::TrackObject, Spotted::Models::EpisodeObject)]
83
+ end
84
+
85
+ # @deprecated
86
+ #
87
+ # **Deprecated:** Use `item` instead. Information about the track or episode.
88
+ #
61
89
  # @see Spotted::Models::PlaylistTrackObject#track
62
90
  module Track
63
91
  extend Spotted::Internal::Type::Union
@@ -45,6 +45,15 @@ module Spotted
45
45
  # @return [Array<Spotted::Models::ImageObject>, nil]
46
46
  optional :images, -> { Spotted::Internal::Type::ArrayOf[Spotted::ImageObject] }
47
47
 
48
+ # @!attribute items
49
+ # A collection containing a link ( `href` ) to the Web API endpoint where full
50
+ # details of the playlist's items can be retrieved, along with the `total` number
51
+ # of items in the playlist. Note, a track object may be `null`. This can happen if
52
+ # a track is no longer available.
53
+ #
54
+ # @return [Spotted::Models::PlaylistTracksRefObject, nil]
55
+ optional :items, -> { Spotted::PlaylistTracksRefObject }
56
+
48
57
  # @!attribute name
49
58
  # The name of the playlist.
50
59
  #
@@ -75,10 +84,12 @@ module Spotted
75
84
  optional :snapshot_id, String
76
85
 
77
86
  # @!attribute tracks
78
- # A collection containing a link ( `href` ) to the Web API endpoint where full
79
- # details of the playlist's tracks can be retrieved, along with the `total` number
80
- # of tracks in the playlist. Note, a track object may be `null`. This can happen
81
- # if a track is no longer available.
87
+ # @deprecated
88
+ #
89
+ # **Deprecated:** Use `items` instead. A collection containing a link ( `href` )
90
+ # to the Web API endpoint where full details of the playlist's tracks can be
91
+ # retrieved, along with the `total` number of tracks in the playlist. Note, a
92
+ # track object may be `null`. This can happen if a track is no longer available.
82
93
  #
83
94
  # @return [Spotted::Models::PlaylistTracksRefObject, nil]
84
95
  optional :tracks, -> { Spotted::PlaylistTracksRefObject }
@@ -96,7 +107,7 @@ module Spotted
96
107
  # @return [String, nil]
97
108
  optional :uri, String
98
109
 
99
- # @!method initialize(id: nil, collaborative: nil, description: nil, external_urls: nil, href: nil, images: nil, name: nil, owner: nil, published: nil, snapshot_id: nil, tracks: nil, type: nil, uri: nil)
110
+ # @!method initialize(id: nil, collaborative: nil, description: nil, external_urls: nil, href: nil, images: nil, items: nil, name: nil, owner: nil, published: nil, snapshot_id: nil, tracks: nil, type: nil, uri: nil)
100
111
  # Some parameter documentations has been truncated, see
101
112
  # {Spotted::Models::SimplifiedPlaylistObject} for more details.
102
113
  #
@@ -113,6 +124,8 @@ module Spotted
113
124
  #
114
125
  # @param images [Array<Spotted::Models::ImageObject>] Images for the playlist. The array may be empty or contain up to three images. T
115
126
  #
127
+ # @param items [Spotted::Models::PlaylistTracksRefObject] A collection containing a link ( `href` ) to the Web API endpoint where full det
128
+ #
116
129
  # @param name [String] The name of the playlist.
117
130
  #
118
131
  # @param owner [Spotted::Models::SimplifiedPlaylistObject::Owner] The user who owns the playlist
@@ -121,7 +134,7 @@ module Spotted
121
134
  #
122
135
  # @param snapshot_id [String] The version identifier for the current playlist. Can be supplied in other reques
123
136
  #
124
- # @param tracks [Spotted::Models::PlaylistTracksRefObject] A collection containing a link ( `href` ) to the Web API endpoint where full det
137
+ # @param tracks [Spotted::Models::PlaylistTracksRefObject] **Deprecated:** Use `items` instead. A collection containing a link ( `href` ) t
125
138
  #
126
139
  # @param type [String] The object type: "playlist"
127
140
  #
@@ -53,6 +53,13 @@ module Spotted
53
53
  # @return [Array<Spotted::Models::ImageObject>, nil]
54
54
  optional :images, -> { Spotted::Internal::Type::ArrayOf[Spotted::ImageObject] }
55
55
 
56
+ # @!attribute items
57
+ # The items of the playlist. _**Note**: This field is only available for playlists
58
+ # owned by the current user or playlists the user is a collaborator of._
59
+ #
60
+ # @return [Spotted::Models::Users::PlaylistCreateResponse::Items, nil]
61
+ optional :items, -> { Spotted::Models::Users::PlaylistCreateResponse::Items }
62
+
56
63
  # @!attribute name
57
64
  # The name of the playlist.
58
65
  #
@@ -83,8 +90,9 @@ module Spotted
83
90
  optional :snapshot_id, String
84
91
 
85
92
  # @!attribute tracks
86
- # The tracks of the playlist. _**Note**: This field is only available for
87
- # playlists owned by the current user._
93
+ # @deprecated
94
+ #
95
+ # **Deprecated:** Use `items` instead. The tracks of the playlist.
88
96
  #
89
97
  # @return [Spotted::Models::Users::PlaylistCreateResponse::Tracks, nil]
90
98
  optional :tracks, -> { Spotted::Models::Users::PlaylistCreateResponse::Tracks }
@@ -102,7 +110,7 @@ module Spotted
102
110
  # @return [String, nil]
103
111
  optional :uri, String
104
112
 
105
- # @!method initialize(id: nil, collaborative: nil, description: nil, external_urls: nil, followers: nil, href: nil, images: nil, name: nil, owner: nil, published: nil, snapshot_id: nil, tracks: nil, type: nil, uri: nil)
113
+ # @!method initialize(id: nil, collaborative: nil, description: nil, external_urls: nil, followers: nil, href: nil, images: nil, items: nil, name: nil, owner: nil, published: nil, snapshot_id: nil, tracks: nil, type: nil, uri: nil)
106
114
  # Some parameter documentations has been truncated, see
107
115
  # {Spotted::Models::Users::PlaylistCreateResponse} for more details.
108
116
  #
@@ -121,6 +129,9 @@ module Spotted
121
129
  #
122
130
  # @param images [Array<Spotted::Models::ImageObject>] Images for the playlist. The array may be empty or contain up to three images. T
123
131
  #
132
+ # @param items [Spotted::Models::Users::PlaylistCreateResponse::Items] The items of the playlist. \_**Note**: This field is only available for
133
+ # playlists
134
+ #
124
135
  # @param name [String] The name of the playlist.
125
136
  #
126
137
  # @param owner [Spotted::Models::Users::PlaylistCreateResponse::Owner] The user who owns the playlist
@@ -129,13 +140,89 @@ module Spotted
129
140
  #
130
141
  # @param snapshot_id [String] The version identifier for the current playlist. Can be supplied in other reques
131
142
  #
132
- # @param tracks [Spotted::Models::Users::PlaylistCreateResponse::Tracks] The tracks of the playlist. \_**Note**: This field is only available for
133
- # playlist
143
+ # @param tracks [Spotted::Models::Users::PlaylistCreateResponse::Tracks] **Deprecated:** Use `items` instead. The tracks of the playlist.
134
144
  #
135
145
  # @param type [String] The object type: "playlist"
136
146
  #
137
147
  # @param uri [String] The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the play
138
148
 
149
+ # @see Spotted::Models::Users::PlaylistCreateResponse#items
150
+ class Items < Spotted::Internal::Type::BaseModel
151
+ # @!attribute href
152
+ # A link to the Web API endpoint returning the full result of the request
153
+ #
154
+ # @return [String]
155
+ required :href, String
156
+
157
+ # @!attribute limit
158
+ # The maximum number of items in the response (as set in the query or by default).
159
+ #
160
+ # @return [Integer]
161
+ required :limit, Integer
162
+
163
+ # @!attribute next_
164
+ # URL to the next page of items. ( `null` if none)
165
+ #
166
+ # @return [String, nil]
167
+ required :next_, String, api_name: :next, nil?: true
168
+
169
+ # @!attribute offset
170
+ # The offset of the items returned (as set in the query or by default)
171
+ #
172
+ # @return [Integer]
173
+ required :offset, Integer
174
+
175
+ # @!attribute previous
176
+ # URL to the previous page of items. ( `null` if none)
177
+ #
178
+ # @return [String, nil]
179
+ required :previous, String, nil?: true
180
+
181
+ # @!attribute total
182
+ # The total number of items available to return.
183
+ #
184
+ # @return [Integer]
185
+ required :total, Integer
186
+
187
+ # @!attribute items
188
+ #
189
+ # @return [Array<Spotted::Models::PlaylistTrackObject>, nil]
190
+ optional :items, -> { Spotted::Internal::Type::ArrayOf[Spotted::PlaylistTrackObject] }
191
+
192
+ # @!attribute published
193
+ # The playlist's public/private status (if it should be added to the user's
194
+ # profile or not): `true` the playlist will be public, `false` the playlist will
195
+ # be private, `null` the playlist status is not relevant. For more about
196
+ # public/private status, see
197
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
198
+ #
199
+ # @return [Boolean, nil]
200
+ optional :published, Spotted::Internal::Type::Boolean
201
+
202
+ # @!method initialize(href:, limit:, next_:, offset:, previous:, total:, items: nil, published: nil)
203
+ # Some parameter documentations has been truncated, see
204
+ # {Spotted::Models::Users::PlaylistCreateResponse::Items} for more details.
205
+ #
206
+ # The items of the playlist. _**Note**: This field is only available for playlists
207
+ # owned by the current user or playlists the user is a collaborator of._
208
+ #
209
+ # @param href [String] A link to the Web API endpoint returning the full result of the request
210
+ #
211
+ # @param limit [Integer] The maximum number of items in the response (as set in the query or by default).
212
+ #
213
+ # @param next_ [String, nil] URL to the next page of items. ( `null` if none)
214
+ #
215
+ # @param offset [Integer] The offset of the items returned (as set in the query or by default)
216
+ #
217
+ # @param previous [String, nil] URL to the previous page of items. ( `null` if none)
218
+ #
219
+ # @param total [Integer] The total number of items available to return.
220
+ #
221
+ # @param items [Array<Spotted::Models::PlaylistTrackObject>]
222
+ #
223
+ # @param published [Boolean] The playlist's public/private status (if it should be added to the user's profil
224
+ end
225
+
139
226
  # @see Spotted::Models::Users::PlaylistCreateResponse#owner
140
227
  class Owner < Spotted::Models::PlaylistUserObject
141
228
  # @!attribute display_name
@@ -153,6 +240,8 @@ module Spotted
153
240
  # @param display_name [String, nil] The name displayed on the user's profile. `null` if not available.
154
241
  end
155
242
 
243
+ # @deprecated
244
+ #
156
245
  # @see Spotted::Models::Users::PlaylistCreateResponse#tracks
157
246
  class Tracks < Spotted::Internal::Type::BaseModel
158
247
  # @!attribute href
@@ -210,8 +299,7 @@ module Spotted
210
299
  # Some parameter documentations has been truncated, see
211
300
  # {Spotted::Models::Users::PlaylistCreateResponse::Tracks} for more details.
212
301
  #
213
- # The tracks of the playlist. _**Note**: This field is only available for
214
- # playlists owned by the current user._
302
+ # **Deprecated:** Use `items` instead. The tracks of the playlist.
215
303
  #
216
304
  # @param href [String] A link to the Web API endpoint returning the full result of the request
217
305
  #
@@ -35,12 +35,18 @@ module Spotted
35
35
  )
36
36
  end
37
37
 
38
+ # @deprecated
39
+ #
38
40
  # Some parameter documentations has been truncated, see
39
41
  # {Spotted::Models::Me::AlbumCheckParams} for more details.
40
42
  #
41
43
  # Check if one or more albums is already saved in the current Spotify user's 'Your
42
44
  # Music' library.
43
45
  #
46
+ # **Note:** This endpoint is deprecated. Use
47
+ # [Check User's Saved Items](/documentation/web-api/reference/check-library-contains)
48
+ # instead.
49
+ #
44
50
  # @overload check(ids:, request_options: {})
45
51
  #
46
52
  # @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
@@ -68,6 +74,10 @@ module Spotted
68
74
  #
69
75
  # Remove one or more albums from the current user's 'Your Music' library.
70
76
  #
77
+ # **Note:** This endpoint is deprecated. Use
78
+ # [Remove Items from Library](/documentation/web-api/reference/remove-library-items)
79
+ # instead.
80
+ #
71
81
  # @overload remove(ids: nil, published: nil, request_options: {})
72
82
  #
73
83
  # @param ids [Array<String>] A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-i
@@ -91,6 +101,10 @@ module Spotted
91
101
  #
92
102
  # Save one or more albums to the current user's 'Your Music' library.
93
103
  #
104
+ # **Note:** This endpoint is deprecated. Use
105
+ # [Save Items to Library](/documentation/web-api/reference/save-library-items)
106
+ # instead.
107
+ #
94
108
  # @overload save(ids: nil, published: nil, request_options: {})
95
109
  #
96
110
  # @param ids [Array<String>] A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-i
@@ -33,12 +33,18 @@ module Spotted
33
33
  )
34
34
  end
35
35
 
36
+ # @deprecated
37
+ #
36
38
  # Some parameter documentations has been truncated, see
37
39
  # {Spotted::Models::Me::AudiobookCheckParams} for more details.
38
40
  #
39
41
  # Check if one or more audiobooks are already saved in the current Spotify user's
40
42
  # library.
41
43
  #
44
+ # **Note:** This endpoint is deprecated. Use
45
+ # [Check User's Saved Items](/documentation/web-api/reference/check-library-contains)
46
+ # instead.
47
+ #
42
48
  # @overload check(ids:, request_options: {})
43
49
  #
44
50
  # @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
@@ -66,6 +72,10 @@ module Spotted
66
72
  #
67
73
  # Remove one or more audiobooks from the Spotify user's library.
68
74
  #
75
+ # **Note:** This endpoint is deprecated. Use
76
+ # [Remove Items from Library](/documentation/web-api/reference/remove-library-items)
77
+ # instead.
78
+ #
69
79
  # @overload remove(ids:, request_options: {})
70
80
  #
71
81
  # @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
@@ -93,6 +103,10 @@ module Spotted
93
103
  #
94
104
  # Save one or more audiobooks to the current Spotify user's library.
95
105
  #
106
+ # **Note:** This endpoint is deprecated. Use
107
+ # [Save Items to Library](/documentation/web-api/reference/save-library-items)
108
+ # instead.
109
+ #
96
110
  # @overload save(ids:, request_options: {})
97
111
  #
98
112
  # @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
@@ -7,10 +7,7 @@ module Spotted
7
7
  # Some parameter documentations has been truncated, see
8
8
  # {Spotted::Models::Me::EpisodeListParams} for more details.
9
9
  #
10
- # Get a list of the episodes saved in the current Spotify user's library.<br/>
11
- # This API endpoint is in **beta** and could change without warning. Please share
12
- # any feedback that you have, or issues that you discover, in our
13
- # [developer community forum](https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer).
10
+ # Get a list of the episodes saved in the current Spotify user's library.
14
11
  #
15
12
  # @overload list(limit: nil, market: nil, offset: nil, request_options: {})
16
13
  #
@@ -37,14 +34,17 @@ module Spotted
37
34
  )
38
35
  end
39
36
 
37
+ # @deprecated
38
+ #
40
39
  # Some parameter documentations has been truncated, see
41
40
  # {Spotted::Models::Me::EpisodeCheckParams} for more details.
42
41
  #
43
42
  # Check if one or more episodes is already saved in the current Spotify user's
44
- # 'Your Episodes' library.<br/> This API endpoint is in **beta** and could change
45
- # without warning. Please share any feedback that you have, or issues that you
46
- # discover, in our
47
- # [developer community forum](https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer)..
43
+ # 'Your Episodes' library.
44
+ #
45
+ # **Note:** This endpoint is deprecated. Use
46
+ # [Check User's Saved Items](/documentation/web-api/reference/check-library-contains)
47
+ # instead.
48
48
  #
49
49
  # @overload check(ids:, request_options: {})
50
50
  #
@@ -71,10 +71,11 @@ module Spotted
71
71
  # Some parameter documentations has been truncated, see
72
72
  # {Spotted::Models::Me::EpisodeRemoveParams} for more details.
73
73
  #
74
- # Remove one or more episodes from the current user's library.<br/> This API
75
- # endpoint is in **beta** and could change without warning. Please share any
76
- # feedback that you have, or issues that you discover, in our
77
- # [developer community forum](https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer).
74
+ # Remove one or more episodes from the current user's library.
75
+ #
76
+ # **Note:** This endpoint is deprecated. Use
77
+ # [Remove Items from Library](/documentation/web-api/reference/remove-library-items)
78
+ # instead.
78
79
  #
79
80
  # @overload remove(ids: nil, published: nil, request_options: {})
80
81
  #
@@ -103,10 +104,11 @@ module Spotted
103
104
  # Some parameter documentations has been truncated, see
104
105
  # {Spotted::Models::Me::EpisodeSaveParams} for more details.
105
106
  #
106
- # Save one or more episodes to the current user's library.<br/> This API endpoint
107
- # is in **beta** and could change without warning. Please share any feedback that
108
- # you have, or issues that you discover, in our
109
- # [developer community forum](https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer).
107
+ # Save one or more episodes to the current user's library.
108
+ #
109
+ # **Note:** This endpoint is deprecated. Use
110
+ # [Save Items to Library](/documentation/web-api/reference/save-library-items)
111
+ # instead.
110
112
  #
111
113
  # @overload save(ids:, published: nil, request_options: {})
112
114
  #