diff --git a/src/main/java/icu/samnyan/aqua/net/games/Chusan.kt b/src/main/java/icu/samnyan/aqua/net/games/Chusan.kt index ce3cfa4d..a7f1e851 100644 --- a/src/main/java/icu/samnyan/aqua/net/games/Chusan.kt +++ b/src/main/java/icu/samnyan/aqua/net/games/Chusan.kt @@ -3,12 +3,14 @@ package icu.samnyan.aqua.net.games import ext.API import ext.RP import ext.Str +import ext.minus import icu.samnyan.aqua.net.db.AquaUserServices import icu.samnyan.aqua.net.utils.* import icu.samnyan.aqua.sega.chusan.dao.userdata.UserDataRepository import icu.samnyan.aqua.sega.chusan.dao.userdata.UserGeneralDataRepository import icu.samnyan.aqua.sega.chusan.dao.userdata.UserPlaylogRepository import org.springframework.web.bind.annotation.RestController +import kotlin.jvm.optionals.getOrNull @RestController @API("api/v2/game/chu3") @@ -41,4 +43,6 @@ class Chusan( } override fun ranking() = genericRanking(userDataRepository, userPlaylogRepository) + + override fun playlog(@RP id: Long) = userPlaylogRepository.findById(id).getOrNull() ?: (404 - "Playlog not found") } \ No newline at end of file diff --git a/src/main/java/icu/samnyan/aqua/net/games/Maimai2.kt b/src/main/java/icu/samnyan/aqua/net/games/Maimai2.kt index df8525d6..21e0969f 100644 --- a/src/main/java/icu/samnyan/aqua/net/games/Maimai2.kt +++ b/src/main/java/icu/samnyan/aqua/net/games/Maimai2.kt @@ -3,12 +3,14 @@ package icu.samnyan.aqua.net.games import ext.API import ext.RP import ext.Str +import ext.minus import icu.samnyan.aqua.net.db.AquaUserServices import icu.samnyan.aqua.net.utils.* import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserGeneralDataRepository import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserPlaylogRepository import org.springframework.web.bind.annotation.RestController +import kotlin.jvm.optionals.getOrNull @RestController @API("api/v2/game/mai2") @@ -40,4 +42,6 @@ class Maimai2( } override fun ranking() = genericRanking(userDataRepository, userPlaylogRepository) + + override fun playlog(@RP id: Long) = userPlaylogRepository.findById(id).getOrNull() ?: (404 - "Playlog not found") } \ No newline at end of file diff --git a/src/main/java/icu/samnyan/aqua/net/games/Models.kt b/src/main/java/icu/samnyan/aqua/net/games/Models.kt index 9ce95d32..9a75d472 100644 --- a/src/main/java/icu/samnyan/aqua/net/games/Models.kt +++ b/src/main/java/icu/samnyan/aqua/net/games/Models.kt @@ -49,7 +49,8 @@ interface GameApiController { fun trend(@RP username: String): List @API("user-summary") fun userSummary(@RP username: String): GenericGameSummary - @API("ranking") fun ranking(): List + @API("playlog") + fun playlog(@RP id: Long): IGenericGamePlaylog } \ No newline at end of file diff --git a/src/main/java/icu/samnyan/aqua/net/games/Ongeki.kt b/src/main/java/icu/samnyan/aqua/net/games/Ongeki.kt index bf351bd9..828c362b 100644 --- a/src/main/java/icu/samnyan/aqua/net/games/Ongeki.kt +++ b/src/main/java/icu/samnyan/aqua/net/games/Ongeki.kt @@ -1,12 +1,14 @@ package icu.samnyan.aqua.net.games import ext.API +import ext.minus import icu.samnyan.aqua.net.db.AquaUserServices import icu.samnyan.aqua.net.utils.* import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserDataRepository import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserGeneralDataRepository import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserPlaylogRepository import org.springframework.web.bind.annotation.RestController +import kotlin.jvm.optionals.getOrNull @RestController @API("api/v2/game/ongeki") @@ -33,4 +35,6 @@ class Ongeki( } override fun ranking() = genericRanking(userDataRepository, userPlaylogRepository) + + override fun playlog(id: Long) = userPlaylogRepository.findById(id).getOrNull() ?: (404 - "Playlog not found") } \ No newline at end of file diff --git a/src/main/java/icu/samnyan/aqua/net/utils/GameHelper.kt b/src/main/java/icu/samnyan/aqua/net/utils/GameHelper.kt index 13b00ae4..335afcec 100644 --- a/src/main/java/icu/samnyan/aqua/net/utils/GameHelper.kt +++ b/src/main/java/icu/samnyan/aqua/net/utils/GameHelper.kt @@ -139,4 +139,3 @@ fun genericRanking( ) }.also { rankingCache[cacheKey] = millis() to it } // Update the cache } -