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