[F] Fix cmission

This commit is contained in:
Azalea
2025-01-05 19:34:11 -05:00
parent cf7af0ff34
commit 500e469ee0
2 changed files with 20 additions and 1 deletions

View File

@@ -65,6 +65,7 @@ fun ChusanController.chusanInit() {
}
}
// Introduced in LMN, removed in LMN+
"GetUserCMission" {
parsing { UserCMissionResp().apply {
missionId = parsing { data["missionId"]!!.int }
@@ -76,6 +77,23 @@ fun ChusanController.chusanInit() {
}
}
// Introduced in LMN+
"GetUserCMissionList" api@ {
val missions = parsing { (data["userCMissionList"] as List<JDict>).map { it["missionId"]!!.int } }
val u = db.userData.findByCard_ExtId(uid)() ?: return@api null
// Return: userId, userCMissionList: [
// {userId, missionId, point, userCMissionProgressList: [{order, stage, progress}, ...]}, ...
// ]
db.userCMission.findByUserAndMissionIdIn(u, missions).map {
UserCMissionResp().apply {
missionId = it.missionId
point = it.point
userCMissionProgressList = db.userCMissionProgress.findByUserAndMissionId(u, it.missionId)
}
}.let { mapOf("userId" to uid, "userCMissionList" to it) }
}
// Paged user list endpoints
"GetUserCardPrintError".paged("userCardPrintErrorList") { db.userCardPrintState.findByUser_Card_ExtIdAndHasCompleted(uid, false) }
"GetUserCharacter".paged("userCharacterList") { db.userCharacter.findByUser_Card_ExtId(uid) }