spotted 0.4.0 → 0.6.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 (85) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/spotted/client.rb +0 -4
  5. data/lib/spotted/internal/transport/pooled_net_requester.rb +6 -2
  6. data/lib/spotted/models/{album_list_params.rb → album_bulk_retrieve_params.rb} +3 -3
  7. data/lib/spotted/models/{album_list_response.rb → album_bulk_retrieve_response.rb} +24 -23
  8. data/lib/spotted/models/me/album_remove_params.rb +4 -4
  9. data/lib/spotted/models/me/album_save_params.rb +4 -4
  10. data/lib/spotted/models/me/episode_remove_params.rb +4 -4
  11. data/lib/spotted/models/me/episode_save_params.rb +4 -4
  12. data/lib/spotted/models/me/following_follow_params.rb +4 -23
  13. data/lib/spotted/models/me/following_unfollow_params.rb +4 -23
  14. data/lib/spotted/models/me/show_remove_params.rb +4 -20
  15. data/lib/spotted/models/me/show_save_params.rb +4 -4
  16. data/lib/spotted/models/me/track_remove_params.rb +4 -4
  17. data/lib/spotted/models/playlists/track_add_params.rb +7 -7
  18. data/lib/spotted/models/playlists/track_update_params.rb +8 -8
  19. data/lib/spotted/models.rb +1 -6
  20. data/lib/spotted/resources/albums.rb +7 -7
  21. data/lib/spotted/resources/me/albums.rb +6 -22
  22. data/lib/spotted/resources/me/episodes.rb +6 -16
  23. data/lib/spotted/resources/me/following.rb +7 -21
  24. data/lib/spotted/resources/me/shows.rb +6 -24
  25. data/lib/spotted/resources/me/tracks.rb +3 -11
  26. data/lib/spotted/resources/playlists/tracks.rb +13 -17
  27. data/lib/spotted/version.rb +1 -1
  28. data/lib/spotted.rb +3 -5
  29. data/manifest.yaml +1 -0
  30. data/rbi/spotted/client.rbi +0 -3
  31. data/rbi/spotted/internal/transport/pooled_net_requester.rbi +6 -2
  32. data/rbi/spotted/models/{album_list_params.rbi → album_bulk_retrieve_params.rbi} +2 -2
  33. data/rbi/spotted/models/{album_list_response.rbi → album_bulk_retrieve_response.rbi} +51 -33
  34. data/rbi/spotted/models/me/album_remove_params.rbi +6 -9
  35. data/rbi/spotted/models/me/album_save_params.rbi +6 -9
  36. data/rbi/spotted/models/me/episode_remove_params.rbi +6 -9
  37. data/rbi/spotted/models/me/episode_save_params.rbi +4 -7
  38. data/rbi/spotted/models/me/following_follow_params.rbi +4 -42
  39. data/rbi/spotted/models/me/following_unfollow_params.rbi +6 -47
  40. data/rbi/spotted/models/me/show_remove_params.rbi +6 -36
  41. data/rbi/spotted/models/me/show_save_params.rbi +6 -9
  42. data/rbi/spotted/models/me/track_remove_params.rbi +6 -9
  43. data/rbi/spotted/models/playlists/track_add_params.rbi +12 -12
  44. data/rbi/spotted/models/playlists/track_update_params.rbi +9 -9
  45. data/rbi/spotted/models.rbi +1 -9
  46. data/rbi/spotted/resources/albums.rbi +2 -2
  47. data/rbi/spotted/resources/me/albums.rbi +6 -6
  48. data/rbi/spotted/resources/me/episodes.rbi +6 -6
  49. data/rbi/spotted/resources/me/following.rbi +6 -12
  50. data/rbi/spotted/resources/me/shows.rbi +6 -17
  51. data/rbi/spotted/resources/me/tracks.rbi +3 -3
  52. data/rbi/spotted/resources/playlists/tracks.rbi +28 -31
  53. data/sig/spotted/client.rbs +0 -2
  54. data/sig/spotted/internal/transport/pooled_net_requester.rbs +4 -1
  55. data/sig/spotted/models/{album_list_params.rbs → album_bulk_retrieve_params.rbs} +2 -2
  56. data/sig/spotted/models/{album_list_response.rbs → album_bulk_retrieve_response.rbs} +27 -27
  57. data/sig/spotted/models/me/album_remove_params.rbs +5 -6
  58. data/sig/spotted/models/me/album_save_params.rbs +5 -6
  59. data/sig/spotted/models/me/episode_remove_params.rbs +5 -6
  60. data/sig/spotted/models/me/episode_save_params.rbs +4 -5
  61. data/sig/spotted/models/me/following_follow_params.rbs +4 -23
  62. data/sig/spotted/models/me/following_unfollow_params.rbs +5 -24
  63. data/sig/spotted/models/me/show_remove_params.rbs +5 -12
  64. data/sig/spotted/models/me/show_save_params.rbs +5 -6
  65. data/sig/spotted/models/me/track_remove_params.rbs +5 -6
  66. data/sig/spotted/models/playlists/track_add_params.rbs +9 -9
  67. data/sig/spotted/models/playlists/track_update_params.rbs +8 -8
  68. data/sig/spotted/models.rbs +1 -5
  69. data/sig/spotted/resources/albums.rbs +2 -2
  70. data/sig/spotted/resources/me/albums.rbs +2 -2
  71. data/sig/spotted/resources/me/episodes.rbs +2 -2
  72. data/sig/spotted/resources/me/following.rbs +2 -4
  73. data/sig/spotted/resources/me/shows.rbs +2 -3
  74. data/sig/spotted/resources/me/tracks.rbs +1 -1
  75. data/sig/spotted/resources/playlists/tracks.rbs +3 -3
  76. metadata +8 -17
  77. data/lib/spotted/models/unwrap_webhook_event.rb +0 -8
  78. data/lib/spotted/models/webhook_unwrap_params.rb +0 -14
  79. data/lib/spotted/resources/webhooks.rb +0 -22
  80. data/rbi/spotted/models/unwrap_webhook_event.rbi +0 -7
  81. data/rbi/spotted/models/webhook_unwrap_params.rbi +0 -27
  82. data/rbi/spotted/resources/webhooks.rbi +0 -19
  83. data/sig/spotted/models/unwrap_webhook_event.rbs +0 -5
  84. data/sig/spotted/models/webhook_unwrap_params.rbs +0 -15
  85. data/sig/spotted/resources/webhooks.rbs +0 -9
@@ -39,7 +39,7 @@ module Spotted
39
39
  mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
40
  end
41
41
 
42
- AlbumListParams = Spotted::Models::AlbumListParams
42
+ AlbumBulkRetrieveParams = Spotted::Models::AlbumBulkRetrieveParams
43
43
 
44
44
  AlbumListTracksParams = Spotted::Models::AlbumListTracksParams
45
45
 
@@ -166,12 +166,7 @@ module Spotted
166
166
 
167
167
  TrackRetrieveParams = Spotted::Models::TrackRetrieveParams
168
168
 
169
- # @type [Spotted::Internal::Type::Converter]
170
- UnwrapWebhookEvent = Spotted::Models::UnwrapWebhookEvent
171
-
172
169
  UserRetrieveProfileParams = Spotted::Models::UserRetrieveProfileParams
173
170
 
174
171
  Users = Spotted::Models::Users
175
-
176
- WebhookUnwrapParams = Spotted::Models::WebhookUnwrapParams
177
172
  end
@@ -31,12 +31,12 @@ module Spotted
31
31
  end
32
32
 
33
33
  # Some parameter documentations has been truncated, see
34
- # {Spotted::Models::AlbumListParams} for more details.
34
+ # {Spotted::Models::AlbumBulkRetrieveParams} for more details.
35
35
  #
36
36
  # Get Spotify catalog information for multiple albums identified by their Spotify
37
37
  # IDs.
38
38
  #
39
- # @overload list(ids:, market: nil, request_options: {})
39
+ # @overload bulk_retrieve(ids:, market: nil, request_options: {})
40
40
  #
41
41
  # @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
42
42
  #
@@ -44,16 +44,16 @@ module Spotted
44
44
  #
45
45
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
46
46
  #
47
- # @return [Spotted::Models::AlbumListResponse]
47
+ # @return [Spotted::Models::AlbumBulkRetrieveResponse]
48
48
  #
49
- # @see Spotted::Models::AlbumListParams
50
- def list(params)
51
- parsed, options = Spotted::AlbumListParams.dump_request(params)
49
+ # @see Spotted::Models::AlbumBulkRetrieveParams
50
+ def bulk_retrieve(params)
51
+ parsed, options = Spotted::AlbumBulkRetrieveParams.dump_request(params)
52
52
  @client.request(
53
53
  method: :get,
54
54
  path: "albums",
55
55
  query: parsed,
56
- model: Spotted::Models::AlbumListResponse,
56
+ model: Spotted::Models::AlbumBulkRetrieveResponse,
57
57
  options: options
58
58
  )
59
59
  end
@@ -66,9 +66,9 @@ module Spotted
66
66
  #
67
67
  # Remove one or more albums from the current user's 'Your Music' library.
68
68
  #
69
- # @overload remove(body_ids: nil, request_options: {})
69
+ # @overload remove(ids: nil, request_options: {})
70
70
  #
71
- # @param body_ids [Array<String>] Body param: A JSON array of the [Spotify IDs](/documentation/web-api/concepts/sp
71
+ # @param ids [Array<String>] A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-i
72
72
  #
73
73
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
74
74
  #
@@ -77,15 +77,7 @@ module Spotted
77
77
  # @see Spotted::Models::Me::AlbumRemoveParams
78
78
  def remove(params = {})
79
79
  parsed, options = Spotted::Me::AlbumRemoveParams.dump_request(params)
80
- query_params = [:query_ids]
81
- @client.request(
82
- method: :delete,
83
- path: "me/albums",
84
- query: parsed.slice(*query_params).transform_keys(query_ids: "ids"),
85
- body: parsed.except(*query_params),
86
- model: NilClass,
87
- options: options
88
- )
80
+ @client.request(method: :delete, path: "me/albums", body: parsed, model: NilClass, options: options)
89
81
  end
90
82
 
91
83
  # Some parameter documentations has been truncated, see
@@ -93,9 +85,9 @@ module Spotted
93
85
  #
94
86
  # Save one or more albums to the current user's 'Your Music' library.
95
87
  #
96
- # @overload save(body_ids: nil, request_options: {})
88
+ # @overload save(ids: nil, request_options: {})
97
89
  #
98
- # @param body_ids [Array<String>] Body param: A JSON array of the [Spotify IDs](/documentation/web-api/concepts/sp
90
+ # @param ids [Array<String>] A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-i
99
91
  #
100
92
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
101
93
  #
@@ -104,15 +96,7 @@ module Spotted
104
96
  # @see Spotted::Models::Me::AlbumSaveParams
105
97
  def save(params = {})
106
98
  parsed, options = Spotted::Me::AlbumSaveParams.dump_request(params)
107
- query_params = [:query_ids]
108
- @client.request(
109
- method: :put,
110
- path: "me/albums",
111
- query: parsed.slice(*query_params).transform_keys(query_ids: "ids"),
112
- body: parsed.except(*query_params),
113
- model: NilClass,
114
- options: options
115
- )
99
+ @client.request(method: :put, path: "me/albums", body: parsed, model: NilClass, options: options)
116
100
  end
117
101
 
118
102
  # @api private
@@ -74,9 +74,9 @@ module Spotted
74
74
  # feedback that you have, or issues that you discover, in our
75
75
  # [developer community forum](https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer).
76
76
  #
77
- # @overload remove(body_ids: nil, request_options: {})
77
+ # @overload remove(ids: nil, request_options: {})
78
78
  #
79
- # @param body_ids [Array<String>] Body param: A JSON array of the [Spotify IDs](/documentation/web-api/concepts/sp
79
+ # @param ids [Array<String>] A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-i
80
80
  #
81
81
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
82
82
  #
@@ -85,12 +85,10 @@ module Spotted
85
85
  # @see Spotted::Models::Me::EpisodeRemoveParams
86
86
  def remove(params = {})
87
87
  parsed, options = Spotted::Me::EpisodeRemoveParams.dump_request(params)
88
- query_params = [:query_ids]
89
88
  @client.request(
90
89
  method: :delete,
91
90
  path: "me/episodes",
92
- query: parsed.slice(*query_params).transform_keys(query_ids: "ids"),
93
- body: parsed.except(*query_params),
91
+ body: parsed,
94
92
  model: NilClass,
95
93
  options: options
96
94
  )
@@ -104,9 +102,9 @@ module Spotted
104
102
  # you have, or issues that you discover, in our
105
103
  # [developer community forum](https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer).
106
104
  #
107
- # @overload save(body_ids:, request_options: {})
105
+ # @overload save(ids:, request_options: {})
108
106
  #
109
- # @param body_ids [Array<String>] Body param: A JSON array of the [Spotify IDs](/documentation/web-api/concepts/sp
107
+ # @param ids [Array<String>] A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-i
110
108
  #
111
109
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
112
110
  #
@@ -115,15 +113,7 @@ module Spotted
115
113
  # @see Spotted::Models::Me::EpisodeSaveParams
116
114
  def save(params)
117
115
  parsed, options = Spotted::Me::EpisodeSaveParams.dump_request(params)
118
- query_params = [:query_ids]
119
- @client.request(
120
- method: :put,
121
- path: "me/episodes",
122
- query: parsed.slice(*query_params).transform_keys(query_ids: "ids"),
123
- body: parsed.except(*query_params),
124
- model: NilClass,
125
- options: options
126
- )
116
+ @client.request(method: :put, path: "me/episodes", body: parsed, model: NilClass, options: options)
127
117
  end
128
118
 
129
119
  # @api private
@@ -67,11 +67,9 @@ module Spotted
67
67
  # Add the current user as a follower of one or more artists or other Spotify
68
68
  # users.
69
69
  #
70
- # @overload follow(body_ids:, type:, request_options: {})
70
+ # @overload follow(ids:, request_options: {})
71
71
  #
72
- # @param body_ids [Array<String>] Body param: A JSON array of the artist or user [Spotify IDs](/documentation/web-
73
- #
74
- # @param type [Symbol, Spotted::Models::Me::FollowingFollowParams::Type] Query param: The ID type.
72
+ # @param ids [Array<String>] A JSON array of the artist or user [Spotify IDs](/documentation/web-api/concepts
75
73
  #
76
74
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
77
75
  #
@@ -80,15 +78,7 @@ module Spotted
80
78
  # @see Spotted::Models::Me::FollowingFollowParams
81
79
  def follow(params)
82
80
  parsed, options = Spotted::Me::FollowingFollowParams.dump_request(params)
83
- query_params = [:query_ids, :type]
84
- @client.request(
85
- method: :put,
86
- path: "me/following",
87
- query: parsed.slice(*query_params).transform_keys(query_ids: "ids"),
88
- body: parsed.except(*query_params),
89
- model: NilClass,
90
- options: options
91
- )
81
+ @client.request(method: :put, path: "me/following", body: parsed, model: NilClass, options: options)
92
82
  end
93
83
 
94
84
  # Some parameter documentations has been truncated, see
@@ -97,25 +87,21 @@ module Spotted
97
87
  # Remove the current user as a follower of one or more artists or other Spotify
98
88
  # users.
99
89
  #
100
- # @overload unfollow(type:, body_ids: nil, request_options: {})
101
- #
102
- # @param type [Symbol, Spotted::Models::Me::FollowingUnfollowParams::Type] Query param: The ID type: either `artist` or `user`.
90
+ # @overload unfollow(ids: nil, request_options: {})
103
91
  #
104
- # @param body_ids [Array<String>] Body param: A JSON array of the artist or user [Spotify IDs](/documentation/web-
92
+ # @param ids [Array<String>] A JSON array of the artist or user [Spotify IDs](/documentation/web-api/concepts
105
93
  #
106
94
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
107
95
  #
108
96
  # @return [nil]
109
97
  #
110
98
  # @see Spotted::Models::Me::FollowingUnfollowParams
111
- def unfollow(params)
99
+ def unfollow(params = {})
112
100
  parsed, options = Spotted::Me::FollowingUnfollowParams.dump_request(params)
113
- query_params = [:query_ids, :type]
114
101
  @client.request(
115
102
  method: :delete,
116
103
  path: "me/following",
117
- query: parsed.slice(*query_params).transform_keys(query_ids: "ids"),
118
- body: parsed.except(*query_params),
104
+ body: parsed,
119
105
  model: NilClass,
120
106
  options: options
121
107
  )
@@ -64,11 +64,9 @@ module Spotted
64
64
  #
65
65
  # Delete one or more shows from current Spotify user's library.
66
66
  #
67
- # @overload remove(body_ids: nil, market: nil, request_options: {})
67
+ # @overload remove(ids: nil, request_options: {})
68
68
  #
69
- # @param body_ids [Array<String>] Body param: A JSON array of the [Spotify IDs](https://developer.spotify.com/docu
70
- #
71
- # @param market [String] Query param: An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/
69
+ # @param ids [Array<String>] A JSON array of the [Spotify IDs](https://developer.spotify.com/documentation/we
72
70
  #
73
71
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
74
72
  #
@@ -77,15 +75,7 @@ module Spotted
77
75
  # @see Spotted::Models::Me::ShowRemoveParams
78
76
  def remove(params = {})
79
77
  parsed, options = Spotted::Me::ShowRemoveParams.dump_request(params)
80
- query_params = [:query_ids, :market]
81
- @client.request(
82
- method: :delete,
83
- path: "me/shows",
84
- query: parsed.slice(*query_params).transform_keys(query_ids: "ids"),
85
- body: parsed.except(*query_params),
86
- model: NilClass,
87
- options: options
88
- )
78
+ @client.request(method: :delete, path: "me/shows", body: parsed, model: NilClass, options: options)
89
79
  end
90
80
 
91
81
  # Some parameter documentations has been truncated, see
@@ -93,9 +83,9 @@ module Spotted
93
83
  #
94
84
  # Save one or more shows to current Spotify user's library.
95
85
  #
96
- # @overload save(body_ids: nil, request_options: {})
86
+ # @overload save(ids: nil, request_options: {})
97
87
  #
98
- # @param body_ids [Array<String>] Body param: A JSON array of the [Spotify IDs](https://developer.spotify.com/docu
88
+ # @param ids [Array<String>] A JSON array of the [Spotify IDs](https://developer.spotify.com/documentation/we
99
89
  #
100
90
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
101
91
  #
@@ -104,15 +94,7 @@ module Spotted
104
94
  # @see Spotted::Models::Me::ShowSaveParams
105
95
  def save(params = {})
106
96
  parsed, options = Spotted::Me::ShowSaveParams.dump_request(params)
107
- query_params = [:query_ids]
108
- @client.request(
109
- method: :put,
110
- path: "me/shows",
111
- query: parsed.slice(*query_params).transform_keys(query_ids: "ids"),
112
- body: parsed.except(*query_params),
113
- model: NilClass,
114
- options: options
115
- )
97
+ @client.request(method: :put, path: "me/shows", body: parsed, model: NilClass, options: options)
116
98
  end
117
99
 
118
100
  # @api private
@@ -66,9 +66,9 @@ module Spotted
66
66
  #
67
67
  # Remove one or more tracks from the current user's 'Your Music' library.
68
68
  #
69
- # @overload remove(body_ids: nil, request_options: {})
69
+ # @overload remove(ids: nil, request_options: {})
70
70
  #
71
- # @param body_ids [Array<String>] Body param: A JSON array of the [Spotify IDs](/documentation/web-api/concepts/sp
71
+ # @param ids [Array<String>] A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-i
72
72
  #
73
73
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
74
74
  #
@@ -77,15 +77,7 @@ module Spotted
77
77
  # @see Spotted::Models::Me::TrackRemoveParams
78
78
  def remove(params = {})
79
79
  parsed, options = Spotted::Me::TrackRemoveParams.dump_request(params)
80
- query_params = [:query_ids]
81
- @client.request(
82
- method: :delete,
83
- path: "me/tracks",
84
- query: parsed.slice(*query_params).transform_keys(query_ids: "ids"),
85
- body: parsed.except(*query_params),
86
- model: NilClass,
87
- options: options
88
- )
80
+ @client.request(method: :delete, path: "me/tracks", body: parsed, model: NilClass, options: options)
89
81
  end
90
82
 
91
83
  # Some parameter documentations has been truncated, see
@@ -17,19 +17,19 @@ module Spotted
17
17
  # have different parameters. These operations can't be applied together in a
18
18
  # single request.
19
19
  #
20
- # @overload update(playlist_id, body_uris: nil, insert_before: nil, range_length: nil, range_start: nil, snapshot_id: nil, request_options: {})
20
+ # @overload update(playlist_id, insert_before: nil, range_length: nil, range_start: nil, snapshot_id: nil, uris: nil, request_options: {})
21
21
  #
22
- # @param playlist_id [String] Path param: The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) o
22
+ # @param playlist_id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the playli
23
23
  #
24
- # @param body_uris [Array<String>] Body param:
24
+ # @param insert_before [Integer] The position where the items should be inserted.<br/>To reorder the items to the
25
25
  #
26
- # @param insert_before [Integer] Body param: The position where the items should be inserted.<br/>To reorder the
26
+ # @param range_length [Integer] The amount of items to be reordered. Defaults to 1 if not set.<br/>The range of
27
27
  #
28
- # @param range_length [Integer] Body param: The amount of items to be reordered. Defaults to 1 if not set.<br/>T
28
+ # @param range_start [Integer] The position of the first item to be reordered.
29
29
  #
30
- # @param range_start [Integer] Body param: The position of the first item to be reordered.
30
+ # @param snapshot_id [String] The playlist's snapshot ID against which you want to make the changes.
31
31
  #
32
- # @param snapshot_id [String] Body param: The playlist's snapshot ID against which you want to make the change
32
+ # @param uris [Array<String>]
33
33
  #
34
34
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
35
35
  #
@@ -38,12 +38,10 @@ module Spotted
38
38
  # @see Spotted::Models::Playlists::TrackUpdateParams
39
39
  def update(playlist_id, params = {})
40
40
  parsed, options = Spotted::Playlists::TrackUpdateParams.dump_request(params)
41
- query_params = [:query_uris]
42
41
  @client.request(
43
42
  method: :put,
44
43
  path: ["playlists/%1$s/tracks", playlist_id],
45
- query: parsed.slice(*query_params).transform_keys(query_uris: "uris"),
46
- body: parsed.except(*query_params),
44
+ body: parsed,
47
45
  model: Spotted::Models::Playlists::TrackUpdateResponse,
48
46
  options: options
49
47
  )
@@ -90,13 +88,13 @@ module Spotted
90
88
  #
91
89
  # Add one or more items to a user's playlist.
92
90
  #
93
- # @overload add(playlist_id, body_position: nil, body_uris: nil, request_options: {})
91
+ # @overload add(playlist_id, position: nil, uris: nil, request_options: {})
94
92
  #
95
- # @param playlist_id [String] Path param: The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) o
93
+ # @param playlist_id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the playli
96
94
  #
97
- # @param body_position [Integer] Body param: The position to insert the items, a zero-based index. For example, t
95
+ # @param position [Integer] The position to insert the items, a zero-based index. For example, to insert the
98
96
  #
99
- # @param body_uris [Array<String>] Body param: A JSON array of the [Spotify URIs](/documentation/web-api/concepts/s
97
+ # @param uris [Array<String>] A JSON array of the [Spotify URIs](/documentation/web-api/concepts/spotify-uris-
100
98
  #
101
99
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
102
100
  #
@@ -105,12 +103,10 @@ module Spotted
105
103
  # @see Spotted::Models::Playlists::TrackAddParams
106
104
  def add(playlist_id, params = {})
107
105
  parsed, options = Spotted::Playlists::TrackAddParams.dump_request(params)
108
- query_params = [:query_position, :query_uris]
109
106
  @client.request(
110
107
  method: :post,
111
108
  path: ["playlists/%1$s/tracks", playlist_id],
112
- query: parsed.slice(*query_params).transform_keys(query_position: "position", query_uris: "uris"),
113
- body: parsed.except(*query_params),
109
+ body: parsed,
114
110
  model: Spotted::Models::Playlists::TrackAddResponse,
115
111
  options: options
116
112
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Spotted
4
- VERSION = "0.4.0"
4
+ VERSION = "0.6.0"
5
5
  end
data/lib/spotted.rb CHANGED
@@ -10,6 +10,7 @@ require "erb"
10
10
  require "etc"
11
11
  require "json"
12
12
  require "net/http"
13
+ require "openssl"
13
14
  require "pathname"
14
15
  require "rbconfig"
15
16
  require "securerandom"
@@ -57,8 +58,8 @@ require_relative "spotted/internal/cursor_url_page"
57
58
  require_relative "spotted/models/audiobook_base"
58
59
  require_relative "spotted/models/playlist_user_object"
59
60
  require_relative "spotted/models/show_base"
60
- require_relative "spotted/models/album_list_params"
61
- require_relative "spotted/models/album_list_response"
61
+ require_relative "spotted/models/album_bulk_retrieve_params"
62
+ require_relative "spotted/models/album_bulk_retrieve_response"
62
63
  require_relative "spotted/models/album_list_tracks_params"
63
64
  require_relative "spotted/models/album_restriction_object"
64
65
  require_relative "spotted/models/album_retrieve_params"
@@ -220,13 +221,11 @@ require_relative "spotted/models/track_list_response"
220
221
  require_relative "spotted/models/track_object"
221
222
  require_relative "spotted/models/track_restriction_object"
222
223
  require_relative "spotted/models/track_retrieve_params"
223
- require_relative "spotted/models/unwrap_webhook_event"
224
224
  require_relative "spotted/models/user_retrieve_profile_params"
225
225
  require_relative "spotted/models/user_retrieve_profile_response"
226
226
  require_relative "spotted/models/users/playlist_create_params"
227
227
  require_relative "spotted/models/users/playlist_create_response"
228
228
  require_relative "spotted/models/users/playlist_list_params"
229
- require_relative "spotted/models/webhook_unwrap_params"
230
229
  require_relative "spotted/models"
231
230
  require_relative "spotted/resources/albums"
232
231
  require_relative "spotted/resources/artists"
@@ -259,4 +258,3 @@ require_relative "spotted/resources/shows"
259
258
  require_relative "spotted/resources/tracks"
260
259
  require_relative "spotted/resources/users"
261
260
  require_relative "spotted/resources/users/playlists"
262
- require_relative "spotted/resources/webhooks"
data/manifest.yaml CHANGED
@@ -6,6 +6,7 @@ dependencies:
6
6
  - etc
7
7
  - json
8
8
  - net/http
9
+ - openssl
9
10
  - pathname
10
11
  - rbconfig
11
12
  - securerandom
@@ -61,9 +61,6 @@ module Spotted
61
61
  sig { returns(Spotted::Resources::Recommendations) }
62
62
  attr_reader :recommendations
63
63
 
64
- sig { returns(Spotted::Resources::Webhooks) }
65
- attr_reader :webhooks
66
-
67
64
  sig { returns(Spotted::Resources::Markets) }
68
65
  attr_reader :markets
69
66
 
@@ -26,8 +26,12 @@ module Spotted
26
26
 
27
27
  class << self
28
28
  # @api private
29
- sig { params(url: URI::Generic).returns(Net::HTTP) }
30
- def connect(url)
29
+ sig do
30
+ params(cert_store: OpenSSL::X509::Store, url: URI::Generic).returns(
31
+ Net::HTTP
32
+ )
33
+ end
34
+ def connect(cert_store:, url:)
31
35
  end
32
36
 
33
37
  # @api private
@@ -2,13 +2,13 @@
2
2
 
3
3
  module Spotted
4
4
  module Models
5
- class AlbumListParams < Spotted::Internal::Type::BaseModel
5
+ class AlbumBulkRetrieveParams < Spotted::Internal::Type::BaseModel
6
6
  extend Spotted::Internal::Type::RequestParameters::Converter
7
7
  include Spotted::Internal::Type::RequestParameters
8
8
 
9
9
  OrHash =
10
10
  T.type_alias do
11
- T.any(Spotted::AlbumListParams, Spotted::Internal::AnyHash)
11
+ T.any(Spotted::AlbumBulkRetrieveParams, Spotted::Internal::AnyHash)
12
12
  end
13
13
 
14
14
  # A comma-separated list of the