Skip to content

Commit

Permalink
Ktlint format
Browse files Browse the repository at this point in the history
  • Loading branch information
mati2251 committed Mar 6, 2024
1 parent 14bca0d commit 32c3f7b
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,65 +14,65 @@ import reactor.core.publisher.Mono

@Component
class PlaylistHandler(
private val spotifyPlaylistsService: SpotifyPlaylistsService,
private val spotifyUserService: SpotifyUserService,
private val spotifyPlaylistsService: SpotifyPlaylistsService,
private val spotifyUserService: SpotifyUserService,
) {
fun getCurrentPlaylists(serverRequest: ServerRequest): Mono<ServerResponse> {
val limit = serverRequest.queryParam("limit").orElse("20").toInt()
val offset = serverRequest.queryParam("offset").orElse("0").toInt()
val body =
spotifyPlaylistsService
.getCurrentPlaylists(offset, limit)
.flatMap(PlaylistUtils.toPlaylists)
spotifyPlaylistsService
.getCurrentPlaylists(offset, limit)
.flatMap(PlaylistUtils.toPlaylists)
return ServerResponse.ok().body(body)
}

fun createPlaylist(serverRequest: ServerRequest): Mono<ServerResponse> {
val requestBody = serverRequest.bodyToMono(SpotifyCreatePlaylistRequestBody::class.java)
val userId =
ReactiveSecurityContextHolder.getContext().map {
it.authentication.principal.toString()
}
ReactiveSecurityContextHolder.getContext().map {
it.authentication.principal.toString()
}
val responseBody =
Mono.zip(requestBody, userId)
.flatMap { spotifyPlaylistsService.createPlaylist(it.t2, it.t1) }
.map { PlaylistUtils.toPlaylist(it) }
Mono.zip(requestBody, userId)
.flatMap { spotifyPlaylistsService.createPlaylist(it.t2, it.t1) }
.map { PlaylistUtils.toPlaylist(it) }
return ServerResponse.ok().body(responseBody)
}

fun getCurrentPlaylistsByName(serverRequest: ServerRequest): Mono<ServerResponse> {
val name = serverRequest.queryParam("name").orElse("")

val body =
spotifyPlaylistsService
.getCurrentPlaylists(limit = 999)
.map { it ->
SpotifyPlaylistsResponseBody(
it.total,
it.limit,
it.offset,
it.items.filter { it.name.matches(name.toSearchableRegex()) },
)
}
.flatMap(PlaylistUtils.toPlaylists)
spotifyPlaylistsService
.getCurrentPlaylists(limit = 999)
.map { it ->
SpotifyPlaylistsResponseBody(
it.total,
it.limit,
it.offset,
it.items.filter { it.name.matches(name.toSearchableRegex()) },
)
}
.flatMap(PlaylistUtils.toPlaylists)
return ServerResponse.ok().body(body)
}

fun getPlaylistDetails(serverRequest: ServerRequest): Mono<ServerResponse> {
val playlistId = serverRequest.pathVariable("playlist-id")
val playlistDetails =
spotifyPlaylistsService
.getPlaylist(playlistId)
.flatMap(PlaylistUtils.toPlaylistDetails)
spotifyPlaylistsService
.getPlaylist(playlistId)
.flatMap(PlaylistUtils.toPlaylistDetails)
val userDetails =
playlistDetails.flatMap { spotifyUserService.getExternalUserProfile(it.owner.id) }
playlistDetails.flatMap { spotifyUserService.getExternalUserProfile(it.owner.id) }
return playlistDetails.zipWith(userDetails).flatMap {
val picture =
if (it.t2.images.isNotEmpty()) {
it.t2.images[0].url
} else {
null
}
if (it.t2.images.isNotEmpty()) {
it.t2.images[0].url
} else {
null
}
it.t1.owner.picture = picture
ServerResponse.ok().body(Mono.just(it.t1))
}
Expand All @@ -82,26 +82,26 @@ class PlaylistHandler(
val playlistId = serverRequest.pathVariable("playlist-id")
val requestBody = serverRequest.bodyToMono(SpotifyCreatePlaylistRequestBody::class.java)
val responseBody =
Mono.zip(requestBody, Mono.just(playlistId))
.flatMap { spotifyPlaylistsService.updatePlaylistDetails(it.t2, it.t1) }
.map { PlaylistUtils.toPlaylist(it) }
Mono.zip(requestBody, Mono.just(playlistId))
.flatMap { spotifyPlaylistsService.updatePlaylistDetails(it.t2, it.t1) }
.map { PlaylistUtils.toPlaylist(it) }
return ServerResponse.ok().body(responseBody)
}

fun getPlaylistTracks(serverRequest: ServerRequest): Mono<ServerResponse> {
val playlistId = serverRequest.pathVariable("playlist-id")
val playlistTracks =
spotifyPlaylistsService
.getSpotifyPlaylistTracks(playlistId)
.flatMap(PlaylistUtils.toSpotifyPlaylistTracks)
spotifyPlaylistsService
.getSpotifyPlaylistTracks(playlistId)
.flatMap(PlaylistUtils.toSpotifyPlaylistTracks)
return ServerResponse.ok().body(playlistTracks)
}
fun changePlaylistCover(serverRequest: ServerRequest): Mono<ServerResponse> {
val playlistId = serverRequest.pathVariable("playlist-id")
val requestBody = serverRequest.bodyToMono(String::class.java)

val operation =
requestBody.flatMap { spotifyPlaylistsService.changePlaylistCover(playlistId, it) }
requestBody.flatMap { spotifyPlaylistsService.changePlaylistCover(playlistId, it) }
return operation.then(ServerResponse.ok().build())
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,3 @@ data class Playlist(
val description: String?,
val public: Boolean,
)


Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ import kotlinx.serialization.Serializable
import pl.akai.fillist.web.spotifywrapper.models.Track

@Serializable
data class PlaylistTracks (
data class PlaylistTracks(
val href: String,
val limit: Int,
val next: String?,
val offset: Int,
val previous: String?,
val total: Int,
val items: List<Track>
val items: List<Track>,
)
Original file line number Diff line number Diff line change
Expand Up @@ -38,19 +38,16 @@ class SpotifyPlaylistsService @Autowired constructor(
.then(getPlaylist(playlistId))
}

<<<<<<< HEAD
fun getSpotifyPlaylistTracks(playlistId: String): Mono<SpotifyPlaylistTracks> {
return spotifyClient.get().uri("/playlists/$playlistId/tracks").retrieve()
.bodyToMono(SpotifyPlaylistTracks::class.java)
}

=======
fun changePlaylistCover(playlistId: String, imageData: String): Mono<Void> {
return spotifyClient.put().uri("/playlists/$playlistId/images")
.bodyValue(imageData)
.retrieve()
.toBodilessEntity()
.then()
}
>>>>>>> main
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ package pl.akai.fillist.web.spotifywrapper.playlists.models
import kotlinx.serialization.Serializable
import pl.akai.fillist.web.spotifywrapper.models.Track


@Serializable
data class SpotifyTrackWrapper(
val track: Track
val track: Track,
)

@Serializable
Expand All @@ -17,5 +16,5 @@ data class SpotifyPlaylistTracks(
val offset: Int,
val previous: String?,
val total: Int,
val items: List<SpotifyTrackWrapper>
val items: List<SpotifyTrackWrapper>,
)
Original file line number Diff line number Diff line change
Expand Up @@ -73,16 +73,16 @@ object PlaylistUtils {
}

val toSpotifyPlaylistTracks: (SpotifyPlaylistTracks) -> Mono<PlaylistTracks> = { playlistTracks ->
Mono.just(playlistTracks).
map {
PlaylistTracks (
Mono.just(playlistTracks)
.map {
PlaylistTracks(
href = playlistTracks.href,
limit = playlistTracks.limit,
next = playlistTracks.next,
offset = playlistTracks.offset,
previous = playlistTracks.previous,
total = playlistTracks.total,
items = playlistTracks.items.map { it.track }
items = playlistTracks.items.map { it.track },
)
}
}
Expand Down

0 comments on commit 32c3f7b

Please sign in to comment.