[+] Playlog api

This commit is contained in:
Azalea
2024-03-02 11:53:19 -05:00
parent 8acee1251f
commit d0c305b3eb
5 changed files with 14 additions and 2 deletions

View File

@@ -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")
}

View File

@@ -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")
}

View File

@@ -49,7 +49,8 @@ interface GameApiController {
fun trend(@RP username: String): List<TrendOut>
@API("user-summary")
fun userSummary(@RP username: String): GenericGameSummary
@API("ranking")
fun ranking(): List<GenericRankingPlayer>
@API("playlog")
fun playlog(@RP id: Long): IGenericGamePlaylog
}

View File

@@ -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")
}

View File

@@ -139,4 +139,3 @@ fun genericRanking(
)
}.also { rankingCache[cacheKey] = millis() to it } // Update the cache
}