From 88d07b0fa0ee1593364f679725f242828b7857c6 Mon Sep 17 00:00:00 2001 From: aarbit Date: Fri, 7 Jun 2024 22:45:52 -0500 Subject: [PATCH] Incorporates new models --- .../controller/AlbumController.kt | 22 ++++++++++++++----- .../prettyplayerapi/model/AlbumMetadata.kt | 3 +++ .../repository/AlbumRepository.kt | 4 ++-- 3 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 src/main/kotlin/net/halfbinary/prettyplayerapi/model/AlbumMetadata.kt diff --git a/src/main/kotlin/net/halfbinary/prettyplayerapi/controller/AlbumController.kt b/src/main/kotlin/net/halfbinary/prettyplayerapi/controller/AlbumController.kt index c41f7e9..b7ce374 100644 --- a/src/main/kotlin/net/halfbinary/prettyplayerapi/controller/AlbumController.kt +++ b/src/main/kotlin/net/halfbinary/prettyplayerapi/controller/AlbumController.kt @@ -1,16 +1,26 @@ package net.halfbinary.prettyplayerapi.controller import net.halfbinary.prettyplayerapi.model.AlbumInfo +import net.halfbinary.prettyplayerapi.model.AlbumMetadata +import net.halfbinary.prettyplayerapi.model.TrackInfo import net.halfbinary.prettyplayerapi.service.AlbumService -import org.springframework.web.bind.annotation.CrossOrigin -import org.springframework.web.bind.annotation.GetMapping -import org.springframework.web.bind.annotation.RestController +import org.springframework.web.bind.annotation.* @RestController -@CrossOrigin +@RequestMapping("album") class AlbumController(private val albumService: AlbumService) { - @GetMapping("albums") - fun listFolders(): List { + @GetMapping + fun listFolders(): List { return albumService.getAlbumList() } + + @GetMapping("/{albumHash}") + fun getAlbumInfo(@PathVariable albumHash: String): AlbumInfo { + return albumService.getAlbumInfo(albumHash) + } + + @GetMapping("/{albumHash}/track/{trackNumber}") + fun getTrackInfo(@PathVariable albumHash: String, @PathVariable trackNumber: Int): TrackInfo { + return albumService.getTrackInfo(albumHash, trackNumber) + } } \ No newline at end of file diff --git a/src/main/kotlin/net/halfbinary/prettyplayerapi/model/AlbumMetadata.kt b/src/main/kotlin/net/halfbinary/prettyplayerapi/model/AlbumMetadata.kt new file mode 100644 index 0000000..4c19a3b --- /dev/null +++ b/src/main/kotlin/net/halfbinary/prettyplayerapi/model/AlbumMetadata.kt @@ -0,0 +1,3 @@ +package net.halfbinary.prettyplayerapi.model + +data class AlbumMetadata(val albumTitle: String, val albumFolder: String, val hash: String) diff --git a/src/main/kotlin/net/halfbinary/prettyplayerapi/repository/AlbumRepository.kt b/src/main/kotlin/net/halfbinary/prettyplayerapi/repository/AlbumRepository.kt index 078b2fa..f09cb85 100644 --- a/src/main/kotlin/net/halfbinary/prettyplayerapi/repository/AlbumRepository.kt +++ b/src/main/kotlin/net/halfbinary/prettyplayerapi/repository/AlbumRepository.kt @@ -1,9 +1,9 @@ package net.halfbinary.prettyplayerapi.repository -import net.halfbinary.prettyplayerapi.model.AlbumInfo +import net.halfbinary.prettyplayerapi.model.AlbumMetadata import org.springframework.stereotype.Repository @Repository class AlbumRepository { - var albumCache: LinkedHashMap = linkedMapOf() + var albumCache: LinkedHashMap = linkedMapOf() } \ No newline at end of file