修正更新戰隊成員回傳結果

This commit is contained in:
2026-08-07 18:14:34 +08:00
parent 4e32adbe44
commit 017b7edc24
3 changed files with 29 additions and 5 deletions
@@ -3,6 +3,7 @@ package club.sakunadaisuki.pcrediveclanrecordbackend.mapper
import club.sakunadaisuki.pcrediveclanrecordbackend.database.dto.MemberDto import club.sakunadaisuki.pcrediveclanrecordbackend.database.dto.MemberDto
import club.sakunadaisuki.pcrediveclanrecordbackend.model.Member import club.sakunadaisuki.pcrediveclanrecordbackend.model.Member
import club.sakunadaisuki.pcrediveclanrecordbackend.model.MemberRequest import club.sakunadaisuki.pcrediveclanrecordbackend.model.MemberRequest
import club.sakunadaisuki.pcrediveclanrecordbackend.model.UpdateMemberRequest
fun Member.toDto(): MemberDto { fun Member.toDto(): MemberDto {
return MemberDto( return MemberDto(
@@ -24,4 +25,14 @@ fun MemberRequest.toDto(): MemberDto {
discordID = discordID, discordID = discordID,
leave = leave, leave = leave,
) )
}
fun UpdateMemberRequest.toDto(uid: String): MemberDto {
return MemberDto(
uid = uid,
playerName = playerName,
discordName = discordName,
discordID = discordID,
leave = leave,
)
} }
@@ -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,
)
@@ -2,16 +2,17 @@ package club.sakunadaisuki.pcrediveclanrecordbackend.plugins
import club.sakunadaisuki.pcrediveclanrecordbackend.database.dto.BattleRecordDto import club.sakunadaisuki.pcrediveclanrecordbackend.database.dto.BattleRecordDto
import club.sakunadaisuki.pcrediveclanrecordbackend.database.service.BattleRecordService import club.sakunadaisuki.pcrediveclanrecordbackend.database.service.BattleRecordService
import club.sakunadaisuki.pcrediveclanrecordbackend.model.Member
import club.sakunadaisuki.pcrediveclanrecordbackend.database.service.MemberService import club.sakunadaisuki.pcrediveclanrecordbackend.database.service.MemberService
import club.sakunadaisuki.pcrediveclanrecordbackend.mapper.toDto import club.sakunadaisuki.pcrediveclanrecordbackend.mapper.toDto
import club.sakunadaisuki.pcrediveclanrecordbackend.model.AttackDetail import club.sakunadaisuki.pcrediveclanrecordbackend.model.AttackDetail
import club.sakunadaisuki.pcrediveclanrecordbackend.model.BattleRecordRequest import club.sakunadaisuki.pcrediveclanrecordbackend.model.BattleRecordRequest
import club.sakunadaisuki.pcrediveclanrecordbackend.model.MemberRequest 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.http.*
import io.ktor.server.application.* 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.request.*
import io.ktor.server.response.* import io.ktor.server.response.*
import io.ktor.server.routing.* import io.ktor.server.routing.*
@@ -55,8 +56,8 @@ fun Application.configureMongo() {
// Update member // Update member
put("/member/{uid}") { put("/member/{uid}") {
val uid = call.parameters["uid"] ?: throw IllegalArgumentException("No ID found") val uid = call.parameters["uid"] ?: throw IllegalArgumentException("No ID found")
val member = call.receive<Member>() val member = call.receive<UpdateMemberRequest>()
memberService.update(uid, member.toDto())?.let { memberService.update(uid, member.toDto(uid))?.let {
call.respond(HttpStatusCode.OK) call.respond(HttpStatusCode.OK)
} ?: call.respond(HttpStatusCode.NotFound) } ?: call.respond(HttpStatusCode.NotFound)
} }