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