調整各層資料轉換
This commit is contained in:
@@ -2,6 +2,7 @@ package club.sakunadaisuki.pcrediveclanrecordbackend.mapper
|
||||
|
||||
import club.sakunadaisuki.pcrediveclanrecordbackend.database.dto.MemberDto
|
||||
import club.sakunadaisuki.pcrediveclanrecordbackend.model.Member
|
||||
import club.sakunadaisuki.pcrediveclanrecordbackend.model.MemberRequest
|
||||
|
||||
fun Member.toDto(): MemberDto {
|
||||
return MemberDto(
|
||||
@@ -13,4 +14,14 @@ fun Member.toDto(): MemberDto {
|
||||
createAt = createAt,
|
||||
updatedAt = updatedAt,
|
||||
)
|
||||
}
|
||||
|
||||
fun MemberRequest.toDto(): MemberDto {
|
||||
return MemberDto(
|
||||
uid = uid,
|
||||
playerName = playerName,
|
||||
discordName = discordName,
|
||||
discordID = discordID,
|
||||
leave = leave,
|
||||
)
|
||||
}
|
||||
@@ -1,21 +1,23 @@
|
||||
package club.sakunadaisuki.pcrediveclanrecordbackend.model
|
||||
|
||||
import club.sakunadaisuki.pcrediveclanrecordbackend.database.dto.AttackDetailDto
|
||||
import kotlinx.serialization.SerialName
|
||||
import java.time.Instant
|
||||
|
||||
data class BattleRecord(
|
||||
val date: String, // yyyy-MM-dd
|
||||
var uid: String,
|
||||
val playerName: String,
|
||||
val discordName: String,
|
||||
val discordID: String,
|
||||
val attackDetailList: List<AttackDetail>
|
||||
@SerialName("player_name") val playerName: String,
|
||||
@SerialName("discord_name") val discordName: String,
|
||||
@SerialName("discord_id") val discordID: String,
|
||||
@SerialName("attack_detail_list") val attackDetailList: List<AttackDetail>
|
||||
)
|
||||
|
||||
data class AttackDetail(
|
||||
val bossRound: Int, // 周目
|
||||
val bossIndex: Int, // 1~5 號王
|
||||
@SerialName("boss_round") val bossRound: Int, // 周目
|
||||
@SerialName("boss_index") val bossIndex: Int, // 1~5 號王
|
||||
val damage: Long, // 傷害
|
||||
val isCompensation: Boolean = false, // true: 補償刀, false: 正刀
|
||||
val createdAt: Long = Instant.now().toEpochMilli(),
|
||||
val updatedAt: Long = Instant.now().toEpochMilli()
|
||||
@SerialName("is_compensation") val isCompensation: Boolean = false, // true: 補償刀, false: 正刀
|
||||
@SerialName("created_at") val createdAt: Long = Instant.now().toEpochMilli(),
|
||||
@SerialName("updated_at") val updatedAt: Long = Instant.now().toEpochMilli()
|
||||
)
|
||||
@@ -1,11 +1,15 @@
|
||||
package club.sakunadaisuki.pcrediveclanrecordbackend.model
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class Member(
|
||||
var uid: String,
|
||||
val playerName: String,
|
||||
val discordName: String,
|
||||
val discordID: String,
|
||||
@SerialName("player_name") val playerName: String,
|
||||
@SerialName("discord_name") val discordName: String,
|
||||
@SerialName("discord_id") val discordID: String,
|
||||
var leave: Boolean = false,
|
||||
var createAt: Long? = null,
|
||||
var updatedAt: Long? = null
|
||||
@SerialName("created_at") var createAt: Long? = null,
|
||||
@SerialName("updated_at") var updatedAt: Long? = null
|
||||
)
|
||||
@@ -0,0 +1,13 @@
|
||||
package club.sakunadaisuki.pcrediveclanrecordbackend.model
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class MemberRequest(
|
||||
var uid: String,
|
||||
@SerialName("player_name") val playerName: String,
|
||||
@SerialName("discord_name") val discordName: String,
|
||||
@SerialName("discord_id") val discordID: String,
|
||||
var leave: Boolean = false,
|
||||
)
|
||||
@@ -7,6 +7,7 @@ import club.sakunadaisuki.pcrediveclanrecordbackend.database.service.MemberServi
|
||||
import club.sakunadaisuki.pcrediveclanrecordbackend.mapper.toDto
|
||||
import club.sakunadaisuki.pcrediveclanrecordbackend.model.AttackDetail
|
||||
import club.sakunadaisuki.pcrediveclanrecordbackend.model.BattleRecordRequest
|
||||
import club.sakunadaisuki.pcrediveclanrecordbackend.model.MemberRequest
|
||||
import com.mongodb.client.*
|
||||
import io.ktor.http.*
|
||||
import io.ktor.server.application.*
|
||||
@@ -42,7 +43,7 @@ fun Application.configureMongo() {
|
||||
}
|
||||
// Create member
|
||||
post("/member") {
|
||||
val member = call.receive<Member>()
|
||||
val member = call.receive<MemberRequest>()
|
||||
val id = memberService.create(member.toDto())
|
||||
call.respond(HttpStatusCode.Created, id)
|
||||
}
|
||||
|
||||
@@ -7,3 +7,8 @@ ktor:
|
||||
- club.sakunadaisuki.pcrediveclanrecordbackend.plugins.SerializationKt.configureSerialization
|
||||
- club.sakunadaisuki.pcrediveclanrecordbackend.plugins.MongoKt.configureMongo
|
||||
- club.sakunadaisuki.pcrediveclanrecordbackend.plugins.RoutingKt.configureRouting
|
||||
db:
|
||||
mongo:
|
||||
user: ray650128
|
||||
password: Zx0987062271!
|
||||
host: 192.168.50.128
|
||||
Reference in New Issue
Block a user