Local Database link

pull/3/head
luevard 1 year ago committed by luevard
parent d10379286f
commit bc1207e6d8

@ -1,19 +1,10 @@
package allin.model package allin.model
import allin.dto.UserDTOWithToken import allin.serializer.ZonedDateTimeSerializer
import allin.serializer.DateSerializer
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import java.util.* import java.util.*
@Serializable @Serializable
data class Bet(val id: Int, val theme: String, val sentenceBet: String, @Serializable(DateSerializer::class) val endRegistration: Date, @Serializable(DateSerializer::class) var endBet : Date, var isPrivate : Boolean, var response : MutableList<String>, val createdBy : String) data class Bet(val id: Int, val theme: String, val sentenceBet: String, @Serializable(ZonedDateTimeSerializer::class) val endRegistration: Date, @Serializable(ZonedDateTimeSerializer::class) var endBet : Date, var isPrivate : Boolean, var response : MutableList<String>, var createdBy : String)
@Serializable
data class UpdatedBetData(val id: Int,@Serializable(DateSerializer::class) val endBet: Date, val isPrivate: Boolean, val response: MutableList<String>)
@Serializable @Serializable
data class BetWithoutId(val theme: String, val sentenceBet: String, @Serializable(DateSerializer::class) val endRegistration: Date, @Serializable(DateSerializer::class) var endBet : Date, var isPrivate : Boolean, var response : MutableList<String>, val createdBy : String) data class UpdatedBetData(val id: Int,@Serializable(ZonedDateTimeSerializer::class) val endBet: Date, val isPrivate: Boolean, val response: MutableList<String>)
fun convertBetWithoutIdToBet(betWithoutId: BetWithoutId,id : Int, username : String): Bet {
return Bet(id,betWithoutId.theme,betWithoutId.sentenceBet,betWithoutId.endRegistration, betWithoutId.endBet, betWithoutId.isPrivate, betWithoutId.response, username)
}

@ -1,5 +1,5 @@
package allin.model package allin.model
import allin.dto.UserDTOWithToken import allin.dto.UserDTO
data class BetAction(val id:Int, val coins: Int, val user: String, val bet: Int) data class BetAction(val id:Int, val coins: Int, val user: String, val bet: Int)
data class BetActionCompleted(val id:Int, val coins: Int, val user: UserDTOWithToken, val bet: Bet) data class BetActionCompleted(val id:Int, val coins: Int, val user: UserDTO, val bet: Bet)

@ -1,10 +1,8 @@
package allin.model package allin.model
import allin.dto.UserDTO
import allin.routing.users
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
@Serializable @Serializable
data class User(val username: String, val email: String, var password: String, var nbCoins: Int = 1000, var token: String? = null) data class User(val username: String, val email: String, var password: String, var nbCoins: Double = 1000.0, var token: String? = null)
@Serializable @Serializable
data class CheckUser(val login: String,val password: String) data class CheckUser(val login: String,val password: String)

@ -6,22 +6,22 @@ import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
import kotlinx.serialization.descriptors.SerialDescriptor import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder import kotlinx.serialization.encoding.Encoder
import java.text.SimpleDateFormat import java.time.ZonedDateTime
import java.util.* import java.time.format.DateTimeFormatter
@Serializer(Date::class) @Serializer(ZonedDateTime::class)
class DateSerializer : KSerializer<Date> { object ZonedDateTimeSerializer : KSerializer<ZonedDateTime> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("Date", PrimitiveKind.STRING) private val formatter: DateTimeFormatter = DateTimeFormatter.ISO_ZONED_DATE_TIME
val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.FRANCE) override val descriptor: SerialDescriptor =
PrimitiveSerialDescriptor("ZonedDateTime", PrimitiveKind.STRING)
override fun deserialize(decoder: Decoder): Date { override fun serialize(encoder: Encoder, value: ZonedDateTime) {
val dateString = decoder.decodeString() encoder.encodeString(formatter.format(value))
return formatter.parse(dateString)
} }
override fun serialize(encoder: Encoder, value: Date) { override fun deserialize(decoder: Decoder): ZonedDateTime {
val dateString = formatter.format(value) val dateString = decoder.decodeString()
encoder.encodeString(dateString) return ZonedDateTime.parse(dateString, formatter)
} }
} }
Loading…
Cancel
Save