[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 }, "trophyId" to { u, v -> u.trophyId = v.int },
"mapIconId" to { u, v -> u.mapIconId = v.int }, "mapIconId" to { u, v -> u.mapIconId = v.int },
"voiceId" to { u, v -> u.voiceId = 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) { "avatarWear" to { u, v -> u.avatarWear = v.int },
1 -> u.avatarWear = data "avatarHead" to { u, v -> u.avatarHead = v.int },
2 -> u.avatarHead = data "avatarFace" to { u, v -> u.avatarFace = v.int },
3 -> u.avatarFace = data "avatarSkin" to { u, v -> u.avatarSkin = v.int },
4 -> u.avatarSkin = data "avatarItem" to { u, v -> u.avatarItem = v.int },
5 -> u.avatarItem = data "avatarFront" to { u, v -> u.avatarFront = v.int },
6 -> u.avatarFront = data "avatarBack" to { u, v -> u.avatarBack = v.int },
7 -> u.avatarBack = data
} } }
) } ) }
override suspend fun userSummary(@RP username: Str, @RP token: String?) = us.cardByName(username) { card -> override suspend fun userSummary(@RP username: Str, @RP token: String?) = us.cardByName(username) { card ->
@ -60,11 +58,9 @@ class Chusan(
// UserBox related APIs // UserBox related APIs
@API("user-box") @API("user-box")
fun userBox(@RP token: String) = us.jwt.auth(token) { fun userBox(@RP token: String) = us.jwt.auth(token) {
userDataRepo.findByCard(it.ghostCard) ?: (404 - "Game data not found") } val u = userDataRepo.findByCard(it.ghostCard) ?: (404 - "Game data not found")
mapOf("user" to u, "items" to rp.userItem.findAllByUser(u))
@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) }
@API("user-box-all-items") @API("user-box-all-items")
fun userBoxAllItems() = allItems fun userBoxAllItems() = allItems

View File

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