mirror of
https://github.com/MewoLab/AquaDX.git
synced 2026-02-08 13:57:26 +08:00
[+] Some API endpoints for bot query
This commit is contained in:
@@ -41,6 +41,55 @@ class Maimai2(
|
|||||||
genericUserSummary(card, ratingComposition)
|
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")
|
@PostMapping("change-name")
|
||||||
suspend fun changeName(@RP token: String, @RP newName: String) = us.jwt.auth(token) { u ->
|
suspend fun changeName(@RP token: String, @RP newName: String) = us.jwt.auth(token) { u ->
|
||||||
val newNameFull = toFullWidth(newName)
|
val newNameFull = toFullWidth(newName)
|
||||||
|
|||||||
@@ -94,6 +94,8 @@ interface Mai2UserMusicDetailRepo : Mai2UserLinked<Mai2UserMusicDetail> {
|
|||||||
fun findByUser_Card_ExtIdAndMusicId(userId: Long, id: Int): List<Mai2UserMusicDetail>
|
fun findByUser_Card_ExtIdAndMusicId(userId: Long, id: Int): List<Mai2UserMusicDetail>
|
||||||
|
|
||||||
fun findByUserAndMusicIdAndLevel(user: Mai2UserDetail, musicId: Int, level: Int): Optional<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>
|
interface Mai2UserOptionRepo : Mai2UserLinked<Mai2UserOption>
|
||||||
|
|||||||
Reference in New Issue
Block a user