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

This commit is contained in:
2026-08-06 21:26:43 +08:00
parent 44601131a2
commit 4e32adbe44
2 changed files with 11 additions and 5 deletions
@@ -17,13 +17,13 @@ class MemberService(private val database: MongoDatabase) {
}
// Create new member
suspend fun create(data: MemberDto): String = withContext(Dispatchers.IO) {
suspend fun create(data: MemberDto): MemberDto = withContext(Dispatchers.IO) {
data.createAt = System.currentTimeMillis()
data.updatedAt = System.currentTimeMillis()
data.leave = false
val doc = data.toDocument()
collection.insertOne(doc)
doc["uid"].toString()
doc.let(MemberDto::fromDocument)
}
// Read a member
@@ -37,8 +37,9 @@ class MemberService(private val database: MongoDatabase) {
}
// Update a member
suspend fun update(uid: String, data: MemberDto): Document? = withContext(Dispatchers.IO) {
suspend fun update(uid: String, data: MemberDto): MemberDto? = withContext(Dispatchers.IO) {
collection.findOneAndReplace(Filters.eq("uid", uid), data.toDocument())
collection.find(Filters.eq("uid", uid)).first()?.let(MemberDto::fromDocument)
}
// Delete a member
@@ -44,8 +44,13 @@ fun Application.configureMongo() {
// Create member
post("/member") {
val member = call.receive<MemberRequest>()
val id = memberService.create(member.toDto())
call.respond(HttpStatusCode.Created, id)
val existMember = memberService.read(member.uid)
if (existMember == null) {
val id = memberService.create(member.toDto())
call.respond(HttpStatusCode.Created, id)
} else {
call.respond(HttpStatusCode.Conflict)
}
}
// Update member
put("/member/{uid}") {