From 017b7edc242d1796688bf3734ba3e75bcb7caccf Mon Sep 17 00:00:00 2001 From: Raymond Yang Date: Fri, 7 Aug 2026 18:14:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=9B=B4=E6=96=B0=E6=88=B0?= =?UTF-8?q?=E9=9A=8A=E6=88=90=E5=93=A1=E5=9B=9E=E5=82=B3=E7=B5=90=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pcrediveclanrecordbackend/mapper/MemberMapper.kt | 11 +++++++++++ .../model/UpdateMemberRequest.kt | 12 ++++++++++++ .../pcrediveclanrecordbackend/plugins/Mongo.kt | 11 ++++++----- 3 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/model/UpdateMemberRequest.kt diff --git a/src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/mapper/MemberMapper.kt b/src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/mapper/MemberMapper.kt index d078da3..2379426 100644 --- a/src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/mapper/MemberMapper.kt +++ b/src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/mapper/MemberMapper.kt @@ -3,6 +3,7 @@ package club.sakunadaisuki.pcrediveclanrecordbackend.mapper import club.sakunadaisuki.pcrediveclanrecordbackend.database.dto.MemberDto import club.sakunadaisuki.pcrediveclanrecordbackend.model.Member import club.sakunadaisuki.pcrediveclanrecordbackend.model.MemberRequest +import club.sakunadaisuki.pcrediveclanrecordbackend.model.UpdateMemberRequest fun Member.toDto(): MemberDto { return MemberDto( @@ -24,4 +25,14 @@ fun MemberRequest.toDto(): MemberDto { discordID = discordID, leave = leave, ) +} + +fun UpdateMemberRequest.toDto(uid: String): MemberDto { + return MemberDto( + uid = uid, + playerName = playerName, + discordName = discordName, + discordID = discordID, + leave = leave, + ) } \ No newline at end of file diff --git a/src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/model/UpdateMemberRequest.kt b/src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/model/UpdateMemberRequest.kt new file mode 100644 index 0000000..143c262 --- /dev/null +++ b/src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/model/UpdateMemberRequest.kt @@ -0,0 +1,12 @@ +package club.sakunadaisuki.pcrediveclanrecordbackend.model + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class UpdateMemberRequest( + @SerialName("player_name") val playerName: String, + @SerialName("discord_name") val discordName: String, + @SerialName("discord_id") val discordID: String, + var leave: Boolean = false, +) \ No newline at end of file diff --git a/src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/plugins/Mongo.kt b/src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/plugins/Mongo.kt index a0668b7..f0cefb2 100644 --- a/src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/plugins/Mongo.kt +++ b/src/main/kotlin/club/sakunadaisuki/pcrediveclanrecordbackend/plugins/Mongo.kt @@ -2,16 +2,17 @@ package club.sakunadaisuki.pcrediveclanrecordbackend.plugins import club.sakunadaisuki.pcrediveclanrecordbackend.database.dto.BattleRecordDto import club.sakunadaisuki.pcrediveclanrecordbackend.database.service.BattleRecordService -import club.sakunadaisuki.pcrediveclanrecordbackend.model.Member import club.sakunadaisuki.pcrediveclanrecordbackend.database.service.MemberService import club.sakunadaisuki.pcrediveclanrecordbackend.mapper.toDto import club.sakunadaisuki.pcrediveclanrecordbackend.model.AttackDetail import club.sakunadaisuki.pcrediveclanrecordbackend.model.BattleRecordRequest import club.sakunadaisuki.pcrediveclanrecordbackend.model.MemberRequest -import com.mongodb.client.* +import club.sakunadaisuki.pcrediveclanrecordbackend.model.UpdateMemberRequest +import com.mongodb.client.MongoClients +import com.mongodb.client.MongoDatabase import io.ktor.http.* import io.ktor.server.application.* -import io.ktor.server.config.tryGetString +import io.ktor.server.config.* import io.ktor.server.request.* import io.ktor.server.response.* import io.ktor.server.routing.* @@ -55,8 +56,8 @@ fun Application.configureMongo() { // Update member put("/member/{uid}") { val uid = call.parameters["uid"] ?: throw IllegalArgumentException("No ID found") - val member = call.receive() - memberService.update(uid, member.toDto())?.let { + val member = call.receive() + memberService.update(uid, member.toDto(uid))?.let { call.respond(HttpStatusCode.OK) } ?: call.respond(HttpStatusCode.NotFound) }