修正新增戰隊成員回傳結果
This commit is contained in:
+4
-3
@@ -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 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}") {
|
||||
|
||||
Reference in New Issue
Block a user