Skip to content

Commit ced8d66

Browse files
committed
rename ClientPlaylistApi.kt and ClientProfileApi.kt endpoints to explicitly specify client in signature
1 parent 66f0146 commit ced8d66

File tree

5 files changed

+50
-47
lines changed

5 files changed

+50
-47
lines changed

src/commonMain/kotlin/com.adamratzman.spotify/SpotifyApi.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ class SpotifyClientApi internal constructor(
413413
val userId: String
414414

415415
init {
416-
userId = users.getUserProfile().complete().id
416+
userId = users.getClientProfile().complete().id
417417
}
418418

419419
/**

src/commonMain/kotlin/com.adamratzman.spotify/endpoints/client/ClientPlaylistApi.kt

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
5959
*
6060
* @return The created [Playlist] object with no tracks
6161
*/
62-
fun createPlaylist(
62+
fun createClientPlaylist(
6363
name: String,
6464
description: String? = null,
6565
public: Boolean? = null,
@@ -95,8 +95,8 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
9595
* @throws BadRequestException if any invalid track ids is provided or the playlist is not found
9696
*/
9797

98-
fun addTrackToPlaylist(playlist: String, track: String, position: Int? = null) =
99-
addTracksToPlaylist(playlist, track, position = position)
98+
fun addTrackToClientPlaylist(playlist: String, track: String, position: Int? = null) =
99+
addTracksToClientPlaylist(playlist, track, position = position)
100100

101101
/**
102102
* Add one or more tracks to a user’s playlist.
@@ -112,7 +112,7 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
112112
*
113113
* @throws BadRequestException if any invalid track ids is provided or the playlist is not found
114114
*/
115-
fun addTracksToPlaylist(playlist: String, vararg tracks: String, position: Int? = null): SpotifyRestAction<Unit> {
115+
fun addTracksToClientPlaylist(playlist: String, vararg tracks: String, position: Int? = null): SpotifyRestAction<Unit> {
116116
val body = jsonMap()
117117
body += json { "uris" to JsonArray(tracks.map { TrackUri(TrackUri(it).id.encodeUrl()).uri }.map(::JsonPrimitive)) }
118118
if (position != null) body += json { "position" to position }
@@ -139,7 +139,7 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
139139
*
140140
* @throws BadRequestException if the playlist is not found or parameters exceed the max length
141141
*/
142-
fun changePlaylistDetails(
142+
fun changeClientPlaylistDetails(
143143
playlist: String,
144144
name: String? = null,
145145
public: Boolean? = null,
@@ -172,7 +172,7 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
172172
*
173173
* @throws BadRequestException if the filters provided are illegal
174174
*/
175-
fun getPlaylists(
175+
fun getClientPlaylists(
176176
limit: Int? = null,
177177
offset: Int? = null
178178
): SpotifyRestActionPaging<SimplePlaylist, PagingObject<SimplePlaylist>> {
@@ -185,7 +185,7 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
185185
}
186186

187187
/**
188-
* Find a client playlist by its id. If you want to find multiple playlists, consider using [getPlaylists]
188+
* Find a client playlist by its id. If you want to find multiple playlists, consider using [getClientPlaylists]
189189
*
190190
* **Note that** private playlists are only retrievable for the current user and require the [SpotifyScope.PLAYLIST_READ_PRIVATE] scope
191191
* to have been authorized by the user. Note that this scope alone will not return a collaborative playlist, even
@@ -197,9 +197,9 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
197197
*
198198
* @return A possibly-null [SimplePlaylist] if the playlist doesn't exist
199199
*/
200-
fun getPlaylist(id: String): SpotifyRestAction<SimplePlaylist?> {
200+
fun getClientPlaylist(id: String): SpotifyRestAction<SimplePlaylist?> {
201201
return toAction {
202-
val playlists = getPlaylists().complete()
202+
val playlists = getClientPlaylists().complete()
203203
playlists.items.find { it.id == id } ?: playlists.getAllItems().complete().find { it.id == id }
204204
}
205205
}
@@ -211,7 +211,7 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
211211
*
212212
* @param playlist playlist id
213213
*/
214-
fun deletePlaylist(playlist: String): SpotifyRestAction<Unit> {
214+
fun deleteClientPlaylist(playlist: String): SpotifyRestAction<Unit> {
215215
return (api as SpotifyClientApi).following.unfollowPlaylist(PlaylistUri(playlist).id)
216216
}
217217

@@ -235,7 +235,7 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
235235
*
236236
* @throws BadRequestException if the playlist is not found or illegal filters are applied
237237
*/
238-
fun reorderPlaylistTracks(
238+
fun reorderClientPlaylistTracks(
239239
playlist: String,
240240
reorderRangeStart: Int,
241241
reorderRangeLength: Int? = null,
@@ -267,7 +267,7 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
267267
*
268268
* @throws BadRequestException if playlist is not found or illegal tracks are provided
269269
*/
270-
fun setPlaylistTracks(playlist: String, vararg tracks: String): SpotifyRestAction<Unit> {
270+
fun setClientPlaylistTracks(playlist: String, vararg tracks: String): SpotifyRestAction<Unit> {
271271
return toAction {
272272
val body = jsonMap()
273273
body += json { "uris" to JsonArray(tracks.map { TrackUri(TrackUri(it).id.encodeUrl()).uri }.map(::JsonPrimitive)) }
@@ -291,14 +291,14 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
291291
*
292292
* @throws BadRequestException if playlist is not found or illegal tracks are provided
293293
*/
294-
fun replacePlaylistTracks(playlist: String, vararg tracks: String) = setPlaylistTracks(playlist, *tracks)
294+
fun replaceClientPlaylistTracks(playlist: String, vararg tracks: String) = setClientPlaylistTracks(playlist, *tracks)
295295

296296
/**
297297
* Remove all the tracks in a playlist
298298
* @param playlist the spotify id or uri for the playlist.
299299
*/
300-
fun removeAllPlaylistTracks(playlist: String): SpotifyRestAction<Unit> {
301-
return setPlaylistTracks(playlist)
300+
fun removeAllClientPlaylistTracks(playlist: String): SpotifyRestAction<Unit> {
301+
return setClientPlaylistTracks(playlist)
302302
}
303303

304304
/**
@@ -322,7 +322,7 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
322322
* @throws IIOException if the image is not found
323323
* @throws BadRequestException if invalid data is provided
324324
*/
325-
fun uploadPlaylistCover(
325+
fun uploadClientPlaylistCover(
326326
playlist: String,
327327
imagePath: String? = null,
328328
imageFile: File? = null,
@@ -357,12 +357,12 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
357357
* @param positions The positions at which the track is located in the playlist
358358
* @param snapshotId The playlist snapshot against which to apply this action. **recommended to have**
359359
*/
360-
fun removeTrackFromPlaylist(
360+
fun removeTrackFromClientPlaylist(
361361
playlist: String,
362362
track: String,
363363
positions: SpotifyTrackPositions,
364364
snapshotId: String? = null
365-
) = removeTracksFromPlaylist(playlist, track to positions, snapshotId = snapshotId)
365+
) = removeTracksFromClientPlaylist(playlist, track to positions, snapshotId = snapshotId)
366366

367367
/**
368368
* Remove all occurrences of a track from the specified playlist.
@@ -374,11 +374,11 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
374374
* @param track The track id
375375
* @param snapshotId The playlist snapshot against which to apply this action. **recommended to have**
376376
*/
377-
fun removeTrackFromPlaylist(
377+
fun removeTrackFromClientPlaylist(
378378
playlist: String,
379379
track: String,
380380
snapshotId: String? = null
381-
) = removeTracksFromPlaylist(playlist, track, snapshotId = snapshotId)
381+
) = removeTracksFromClientPlaylist(playlist, track, snapshotId = snapshotId)
382382

383383
/**
384384
* Remove all occurrences of the specified tracks from the given playlist.
@@ -390,7 +390,7 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
390390
* @param tracks An array of track ids
391391
* @param snapshotId The playlist snapshot against which to apply this action. **recommended to have**
392392
*/
393-
fun removeTracksFromPlaylist(
393+
fun removeTracksFromClientPlaylist(
394394
playlist: String,
395395
vararg tracks: String,
396396
snapshotId: String? = null
@@ -406,7 +406,7 @@ class ClientPlaylistApi(api: SpotifyApi<*, *>) : PlaylistApi(api) {
406406
* @param tracks An array of [Pair]s of track ids *and* track positions (zero-based)
407407
* @param snapshotId The playlist snapshot against which to apply this action. **recommended to have**
408408
*/
409-
fun removeTracksFromPlaylist(
409+
fun removeTracksFromClientPlaylist(
410410
playlist: String,
411411
vararg tracks: Pair<String, SpotifyTrackPositions>,
412412
snapshotId: String? = null

src/commonMain/kotlin/com.adamratzman.spotify/endpoints/client/ClientProfileApi.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,12 @@ class ClientProfileApi(api: SpotifyApi<*, *>) : UserApi(api) {
2626
*
2727
* @return Never-null [SpotifyUserInformation] object with possibly-null country, email, subscription and birthday fields
2828
*/
29-
fun getUserProfile(): SpotifyRestAction<SpotifyUserInformation> {
29+
fun getClientProfile(): SpotifyRestAction<SpotifyUserInformation> {
3030
return toAction {
3131
get(EndpointBuilder("/me").toString()).toObject(SpotifyUserInformation.serializer(), api, json)
3232
}
3333
}
34+
35+
@Deprecated("Renamed to use `client` instead of `user`", ReplaceWith("getClientProfile"))
36+
fun getUserProfile() = getClientProfile()
3437
}

src/commonTest/kotlin/com.adamratzman/spotify/private/ClientPlaylistAPITest.kt

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,28 @@ import org.spekframework.spek2.style.specification.describe
1414
class ClientPlaylistAPITest : Spek({
1515
describe("Client playlist test") {
1616
val cp = (api as? SpotifyClientAPI)?.playlists
17-
val playlistsBefore = cp?.getPlaylists()?.complete()
18-
val createdPlaylist = cp?.createPlaylist("this is a test playlist", "description")
17+
val playlistsBefore = cp?.getClientPlaylists()?.complete()
18+
val createdPlaylist = cp?.createClientPlaylist("this is a test playlist", "description")
1919
?.complete()
2020

2121
createdPlaylist ?: return@describe
2222
it("get playlists for user, then see if we can create/delete playlists") {
23-
assertEquals(cp.getPlaylists().complete().items.size - 1, playlistsBefore?.items?.size)
23+
assertEquals(cp.getClientPlaylists().complete().items.size - 1, playlistsBefore?.items?.size)
2424
}
2525
it("edit playlists") {
26-
cp.changePlaylistDetails(
26+
cp.changeClientPlaylistDetails(
2727
createdPlaylist.id, "test playlist", public = false,
2828
collaborative = true, description = "description 2"
2929
).complete()
3030

31-
cp.addTracksToPlaylist(createdPlaylist.id, "3WDIhWoRWVcaHdRwMEHkkS", "7FjZU7XFs7P9jHI9Z0yRhK").complete()
31+
cp.addTracksToClientPlaylist(createdPlaylist.id, "3WDIhWoRWVcaHdRwMEHkkS", "7FjZU7XFs7P9jHI9Z0yRhK").complete()
3232

33-
cp.uploadPlaylistCover(
33+
cp.uploadClientPlaylistCover(
3434
createdPlaylist.id,
3535
imageUrl = "https://developer.spotify.com/assets/WebAPI_intro.png"
3636
).complete()
3737

38-
var updatedPlaylist = cp.getPlaylist(createdPlaylist.id).complete()!!
38+
var updatedPlaylist = cp.getClientPlaylist(createdPlaylist.id).complete()!!
3939
val fullPlaylist = updatedPlaylist.toFullPlaylist().complete()!!
4040

4141
assertTrue(
@@ -45,50 +45,50 @@ class ClientPlaylistAPITest : Spek({
4545

4646
assertTrue(updatedPlaylist.tracks.total == 2 && updatedPlaylist.images.isNotEmpty())
4747

48-
cp.reorderPlaylistTracks(updatedPlaylist.id, 1, insertionPoint = 0).complete()
48+
cp.reorderClientPlaylistTracks(updatedPlaylist.id, 1, insertionPoint = 0).complete()
4949

50-
updatedPlaylist = cp.getPlaylist(createdPlaylist.id).complete()!!
50+
updatedPlaylist = cp.getClientPlaylist(createdPlaylist.id).complete()!!
5151

5252
assertTrue(updatedPlaylist.toFullPlaylist().complete()?.tracks?.items?.get(0)?.track?.id == "7FjZU7XFs7P9jHI9Z0yRhK")
5353

54-
cp.removeAllPlaylistTracks(updatedPlaylist.id).complete()
54+
cp.removeAllClientPlaylistTracks(updatedPlaylist.id).complete()
5555

56-
updatedPlaylist = cp.getPlaylist(createdPlaylist.id).complete()!!
56+
updatedPlaylist = cp.getClientPlaylist(createdPlaylist.id).complete()!!
5757

5858
assertTrue(updatedPlaylist.tracks.total == 0)
5959
}
6060

6161
it("remove playlist tracks") {
6262
val trackIdOne = "3WDIhWoRWVcaHdRwMEHkkS"
6363
val trackIdTwo = "7FjZU7XFs7P9jHI9Z0yRhK"
64-
cp.addTracksToPlaylist(createdPlaylist.id, trackIdOne, trackIdOne, trackIdTwo, trackIdTwo).complete()
64+
cp.addTracksToClientPlaylist(createdPlaylist.id, trackIdOne, trackIdOne, trackIdTwo, trackIdTwo).complete()
6565

6666
assertTrue(cp.getPlaylistTracks(createdPlaylist.id).complete().items.size == 4)
6767

68-
cp.removeTrackFromPlaylist(createdPlaylist.id, trackIdOne).complete()
68+
cp.removeTrackFromClientPlaylist(createdPlaylist.id, trackIdOne).complete()
6969

7070
assertEquals(
7171
listOf(trackIdTwo, trackIdTwo),
7272
cp.getPlaylistTracks(createdPlaylist.id).complete().items.map { it.track.id })
7373

74-
cp.addTrackToPlaylist(createdPlaylist.id, trackIdOne).complete()
74+
cp.addTrackToClientPlaylist(createdPlaylist.id, trackIdOne).complete()
7575

76-
cp.removeTrackFromPlaylist(createdPlaylist.id, trackIdTwo, SpotifyTrackPositions(1)).complete()
76+
cp.removeTrackFromClientPlaylist(createdPlaylist.id, trackIdTwo, SpotifyTrackPositions(1)).complete()
7777

7878
assertEquals(
7979
listOf(trackIdTwo, trackIdOne),
8080
cp.getPlaylistTracks(createdPlaylist.id).complete().items.map { it.track.id })
8181

82-
cp.setPlaylistTracks(createdPlaylist.id, trackIdOne, trackIdOne, trackIdTwo, trackIdTwo).complete()
82+
cp.setClientPlaylistTracks(createdPlaylist.id, trackIdOne, trackIdOne, trackIdTwo, trackIdTwo).complete()
8383

84-
cp.removeTracksFromPlaylist(createdPlaylist.id, trackIdOne, trackIdTwo).complete()
84+
cp.removeTracksFromClientPlaylist(createdPlaylist.id, trackIdOne, trackIdTwo).complete()
8585

8686
assertTrue(cp.getPlaylistTracks(createdPlaylist.id).complete().items.isEmpty())
8787

88-
cp.setPlaylistTracks(createdPlaylist.id, trackIdTwo, trackIdOne, trackIdTwo, trackIdTwo, trackIdOne)
88+
cp.setClientPlaylistTracks(createdPlaylist.id, trackIdTwo, trackIdOne, trackIdTwo, trackIdTwo, trackIdOne)
8989
.complete()
9090

91-
cp.removeTracksFromPlaylist(
91+
cp.removeTracksFromClientPlaylist(
9292
createdPlaylist.id, Pair(trackIdOne, SpotifyTrackPositions(4)),
9393
Pair(trackIdTwo, SpotifyTrackPositions(0))
9494
).complete()
@@ -98,13 +98,13 @@ class ClientPlaylistAPITest : Spek({
9898
cp.getPlaylistTracks(createdPlaylist.id).complete().items.map { it.track.id })
9999

100100
assertFailsWith<SpotifyException.BadRequestException> {
101-
cp.removeTracksFromPlaylist(createdPlaylist.id, Pair(trackIdOne, SpotifyTrackPositions(3))).complete()
101+
cp.removeTracksFromClientPlaylist(createdPlaylist.id, Pair(trackIdOne, SpotifyTrackPositions(3))).complete()
102102
}
103103
}
104104

105105
it("destroy (unfollow) playlist") {
106-
cp.deletePlaylist(createdPlaylist.id).complete()
107-
assertTrue(cp.getPlaylist(createdPlaylist.id).complete() == null)
106+
cp.deleteClientPlaylist(createdPlaylist.id).complete()
107+
assertTrue(cp.getClientPlaylist(createdPlaylist.id).complete() == null)
108108
}
109109
}
110110
})

src/commonTest/kotlin/com.adamratzman/spotify/private/ClientUserAPITest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class ClientUserAPITest : Spek({
1010
describe("Client profile test") {
1111
val cp = (api as? SpotifyClientAPI)?.users
1212
it("valid user") {
13-
cp?.getUserProfile()?.complete()?.birthdate
13+
cp?.getClientProfile()?.complete()?.birthdate
1414
}
1515
}
1616
})

0 commit comments

Comments
 (0)