[+] Wacca database models

This commit is contained in:
Azalea
2024-03-25 03:06:28 -04:00
parent 89461893a4
commit 484bb758ae
8 changed files with 510 additions and 48 deletions

View File

@@ -3,9 +3,11 @@ package icu.samnyan.aqua.net.games
import com.fasterxml.jackson.annotation.JsonIgnore
import com.fasterxml.jackson.annotation.JsonInclude
import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.databind.annotation.JsonSerialize
import ext.JACKSON
import ext.JavaSerializable
import icu.samnyan.aqua.sega.general.model.Card
import icu.samnyan.aqua.sega.util.jackson.AccessCodeSerializer
import jakarta.persistence.*
import kotlinx.serialization.Serializable
import org.springframework.data.domain.Page
@@ -104,7 +106,6 @@ interface IGenericGamePlaylog {
val isAllPerfect: Boolean
}
@Serializable
@MappedSuperclass
open class BaseEntity(
@Id
@@ -115,6 +116,15 @@ open class BaseEntity(
override fun toString() = JACKSON.writeValueAsString(this)
}
@MappedSuperclass
open class UserDataEntity : BaseEntity() {
@JsonSerialize(using = AccessCodeSerializer::class)
@JsonProperty(value = "accessCode", access = JsonProperty.Access.READ_ONLY)
@OneToOne
@JoinColumn(name = "aime_card_id", unique = true)
var card: Card? = null
}
@NoRepositoryBean
interface GenericUserDataRepo<T : IGenericUserData> : JpaRepository<T, Long> {
fun findByCard(card: Card): T?