修正成員欄位屬性

This commit is contained in:
2026-08-09 02:57:50 +08:00
parent 7f0d0f4a87
commit 7c390aebdf
4 changed files with 14 additions and 6 deletions
@@ -8,11 +8,11 @@ import java.time.Instant
@Serializable @Serializable
data class MemberDto( data class MemberDto(
var uid: String, @SerialName("uid") var uid: String,
@SerialName("player_name") val playerName: String, @SerialName("player_name") val playerName: String,
@SerialName("discord_name") val discordName: String, @SerialName("discord_name") val discordName: String,
@SerialName("discord_id") val discordID: String, @SerialName("discord_id") val discordID: String,
var leave: Boolean = false, @SerialName("leave") var leave: Boolean,
@SerialName("created_at") var createAt: Long? = null, @SerialName("created_at") var createAt: Long? = null,
@SerialName("updated_at") var updatedAt: Long? = null @SerialName("updated_at") var updatedAt: Long? = null
) { ) {
@@ -38,7 +38,15 @@ class MemberService(private val database: MongoDatabase) {
// Update a member // Update a member
suspend fun update(uid: String, data: MemberDto): MemberDto? = 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)?.copy(
playerName = data.playerName,
discordName = data.discordName,
discordID = data.discordID,
leave = data.leave,
updatedAt = System.currentTimeMillis(),
)?.let {
collection.findOneAndReplace(Filters.eq("uid", uid), it.toDocument())
}
collection.find(Filters.eq("uid", uid)).first()?.let(MemberDto::fromDocument) collection.find(Filters.eq("uid", uid)).first()?.let(MemberDto::fromDocument)
} }
@@ -5,11 +5,11 @@ import kotlinx.serialization.Serializable
@Serializable @Serializable
data class Member( data class Member(
var uid: String, @SerialName("uid") var uid: String,
@SerialName("player_name") val playerName: String, @SerialName("player_name") val playerName: String,
@SerialName("discord_name") val discordName: String, @SerialName("discord_name") val discordName: String,
@SerialName("discord_id") val discordID: String, @SerialName("discord_id") val discordID: String,
var leave: Boolean = false, @SerialName("leave") var leave: Boolean,
@SerialName("created_at") var createAt: Long? = null, @SerialName("created_at") var createAt: Long? = null,
@SerialName("updated_at") var updatedAt: Long? = null @SerialName("updated_at") var updatedAt: Long? = null
) )
@@ -8,5 +8,5 @@ data class UpdateMemberRequest(
@SerialName("player_name") val playerName: String, @SerialName("player_name") val playerName: String,
@SerialName("discord_name") val discordName: String, @SerialName("discord_name") val discordName: String,
@SerialName("discord_id") val discordID: String, @SerialName("discord_id") val discordID: String,
var leave: Boolean = false, @SerialName("leave") var leave: Boolean,
) )