修正新增戰隊成員回傳結果
This commit is contained in:
+4
-3
@@ -17,13 +17,13 @@ class MemberService(private val database: MongoDatabase) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create new member
|
// 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.createAt = System.currentTimeMillis()
|
||||||
data.updatedAt = System.currentTimeMillis()
|
data.updatedAt = System.currentTimeMillis()
|
||||||
data.leave = false
|
data.leave = false
|
||||||
val doc = data.toDocument()
|
val doc = data.toDocument()
|
||||||
collection.insertOne(doc)
|
collection.insertOne(doc)
|
||||||
doc["uid"].toString()
|
doc.let(MemberDto::fromDocument)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read a member
|
// Read a member
|
||||||
@@ -37,8 +37,9 @@ class MemberService(private val database: MongoDatabase) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Update a member
|
// 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.findOneAndReplace(Filters.eq("uid", uid), data.toDocument())
|
||||||
|
collection.find(Filters.eq("uid", uid)).first()?.let(MemberDto::fromDocument)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete a member
|
// Delete a member
|
||||||
|
|||||||
@@ -44,8 +44,13 @@ fun Application.configureMongo() {
|
|||||||
// Create member
|
// Create member
|
||||||
post("/member") {
|
post("/member") {
|
||||||
val member = call.receive<MemberRequest>()
|
val member = call.receive<MemberRequest>()
|
||||||
val id = memberService.create(member.toDto())
|
val existMember = memberService.read(member.uid)
|
||||||
call.respond(HttpStatusCode.Created, id)
|
if (existMember == null) {
|
||||||
|
val id = memberService.create(member.toDto())
|
||||||
|
call.respond(HttpStatusCode.Created, id)
|
||||||
|
} else {
|
||||||
|
call.respond(HttpStatusCode.Conflict)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Update member
|
// Update member
|
||||||
put("/member/{uid}") {
|
put("/member/{uid}") {
|
||||||
|
|||||||
Reference in New Issue
Block a user