[U] Update userbox apis

matching
Azalea 2024-12-29 04:50:03 -05:00
parent d9081563c2
commit e35df8a029
2 changed files with 11 additions and 14 deletions

View File

@ -30,15 +30,13 @@ class Chusan(
"trophyId" to { u, v -> u.trophyId = v.int },
"mapIconId" to { u, v -> u.mapIconId = v.int },
"voiceId" to { u, v -> u.voiceId = v.int },
"avatarItem" to { u, v -> v.split(':', limit=2).map { it.int }.let { (cat, data) -> when (cat) {
1 -> u.avatarWear = data
2 -> u.avatarHead = data
3 -> u.avatarFace = data
4 -> u.avatarSkin = data
5 -> u.avatarItem = data
6 -> u.avatarFront = data
7 -> u.avatarBack = data
} } }
"avatarWear" to { u, v -> u.avatarWear = v.int },
"avatarHead" to { u, v -> u.avatarHead = v.int },
"avatarFace" to { u, v -> u.avatarFace = v.int },
"avatarSkin" to { u, v -> u.avatarSkin = v.int },
"avatarItem" to { u, v -> u.avatarItem = v.int },
"avatarFront" to { u, v -> u.avatarFront = v.int },
"avatarBack" to { u, v -> u.avatarBack = v.int },
) }
override suspend fun userSummary(@RP username: Str, @RP token: String?) = us.cardByName(username) { card ->
@ -60,11 +58,9 @@ class Chusan(
// UserBox related APIs
@API("user-box")
fun userBox(@RP token: String) = us.jwt.auth(token) {
userDataRepo.findByCard(it.ghostCard) ?: (404 - "Game data not found") }
@API("user-box-item-by-kind")
fun userBoxItem(@RP token: String, @RP itemId: Int) = us.jwt.auth(token) {
rp.userItem.findAllByUser_Card_ExtIdAndItemKind(it.ghostCard.extId, itemId) }
val u = userDataRepo.findByCard(it.ghostCard) ?: (404 - "Game data not found")
mapOf("user" to u, "items" to rp.userItem.findAllByUser(u))
}
@API("user-box-all-items")
fun userBoxAllItems() = allItems

View File

@ -90,6 +90,7 @@ interface Chu3UserGeneralDataRepo : Chu3UserLinked<UserGeneralData> {
}
interface Chu3UserItemRepo : Chu3UserLinked<UserItem> {
fun findAllByUser(user: Chu3UserData): List<UserItem>
fun findTopByUserAndItemIdAndItemKindOrderByIdDesc(user: Chu3UserData, itemId: Int, itemKind: Int): Optional<UserItem>
fun findByUserAndItemIdAndItemKind(user: Chu3UserData, itemId: Int, itemKind: Int): UserItem?