mirror of https://github.com/hykilpikonna/AquaDX
[+] Some API endpoints for bot query
parent
f7c842774b
commit
9a6e9c4660
|
@ -41,6 +41,55 @@ class Maimai2(
|
|||
genericUserSummary(card, ratingComposition)
|
||||
}
|
||||
|
||||
@API("user-rating")
|
||||
suspend fun userRating(@RP username: Str) = us.cardByName(username) { card ->
|
||||
val extra = repos.userGeneralData.findByUser_Card_ExtId(card.extId)
|
||||
.associate { it.propertyKey to it.propertyValue }
|
||||
val b35Str = extra["recent_rating"] ?: (400 - "No rating found")
|
||||
val b15Str = extra["recent_rating_new"] ?: (400 - "No rating found")
|
||||
|
||||
val b35 = b35Str.split(',').map { it.split(':') }
|
||||
val b15 = b15Str.split(',').map { it.split(':') }
|
||||
|
||||
val musicIdList = listOf(
|
||||
b35.map { it[0].toInt() },
|
||||
b15.map { it[0].toInt() },
|
||||
).flatten()
|
||||
|
||||
val userMusicList = repos.userMusicDetail.findByUser_Card_ExtIdAndMusicIdIn(card.extId, musicIdList)
|
||||
|
||||
// Dont leak extId
|
||||
mapOf(
|
||||
"best35" to b35,
|
||||
"best15" to b15,
|
||||
"musicList" to userMusicList,
|
||||
)
|
||||
}
|
||||
|
||||
@API("user-name-plate")
|
||||
suspend fun userNamePlate(@RP username: Str) = us.cardByName(username) { card ->
|
||||
val userData = repos.userData.findByCardExtId(card.extId).orElse(null) ?: (404 - "User not found")
|
||||
mapOf(
|
||||
"iconId" to userData.iconId,
|
||||
"plateId" to userData.plateId,
|
||||
"titleId" to userData.titleId,
|
||||
"classRank" to userData.classRank,
|
||||
"playerRating" to userData.playerRating,
|
||||
"userName" to userData.userName,
|
||||
"courseRank" to userData.courseRank,
|
||||
)
|
||||
}
|
||||
|
||||
@API("user-favorite")
|
||||
suspend fun userFavorite(@RP username: Str) = us.cardByName(username) { card ->
|
||||
repos.userFavorite.findByUser_Card_ExtId(card.extId)
|
||||
}
|
||||
|
||||
@API("user-music-from-list")
|
||||
suspend fun userMusicFromList(@RP username: Str, @RB musicList: List<Int>) = us.cardByName(username) { card ->
|
||||
repos.userMusicDetail.findByUser_Card_ExtIdAndMusicIdIn(card.extId, musicList)
|
||||
}
|
||||
|
||||
@PostMapping("change-name")
|
||||
suspend fun changeName(@RP token: String, @RP newName: String) = us.jwt.auth(token) { u ->
|
||||
val newNameFull = toFullWidth(newName)
|
||||
|
|
|
@ -94,6 +94,8 @@ interface Mai2UserMusicDetailRepo : Mai2UserLinked<Mai2UserMusicDetail> {
|
|||
fun findByUser_Card_ExtIdAndMusicId(userId: Long, id: Int): List<Mai2UserMusicDetail>
|
||||
|
||||
fun findByUserAndMusicIdAndLevel(user: Mai2UserDetail, musicId: Int, level: Int): Optional<Mai2UserMusicDetail>
|
||||
|
||||
fun findByUser_Card_ExtIdAndMusicIdIn(userId: Long, musicId: List<Int>): List<Mai2UserMusicDetail>
|
||||
}
|
||||
|
||||
interface Mai2UserOptionRepo : Mai2UserLinked<Mai2UserOption>
|
||||
|
|
Loading…
Reference in New Issue