Split Entities for remove nullable variables
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package fr.dcproject.entity.request
|
||||
|
||||
import fr.dcproject.entity.ArticleFull
|
||||
import fr.dcproject.entity.Citizen
|
||||
import java.util.*
|
||||
import fr.dcproject.entity.Article as ArticleEntity
|
||||
@@ -7,7 +8,7 @@ import fr.dcproject.entity.Article as ArticleEntity
|
||||
class Article(
|
||||
val id: UUID?,
|
||||
val title: String,
|
||||
val anonymous: Boolean? = true,
|
||||
val anonymous: Boolean = true,
|
||||
val content: String,
|
||||
val description: String,
|
||||
val tags: List<String> = emptyList(),
|
||||
@@ -16,7 +17,7 @@ class Article(
|
||||
) :
|
||||
Request {
|
||||
|
||||
fun merge(article: ArticleEntity) {
|
||||
fun merge(article: ArticleFull) {
|
||||
article.title = this.title
|
||||
article.content = this.content
|
||||
article.description = this.description
|
||||
|
||||
48
src/main/kotlin/fr/dcproject/entity/request/Constitution.kt
Normal file
48
src/main/kotlin/fr/dcproject/entity/request/Constitution.kt
Normal file
@@ -0,0 +1,48 @@
|
||||
package fr.dcproject.entity.request
|
||||
|
||||
import fr.dcproject.entity.ArticleRef
|
||||
import fr.dcproject.entity.Citizen
|
||||
import fr.dcproject.entity.CitizenSimple
|
||||
import fr.dcproject.entity.ConstitutionSimple
|
||||
import fr.postgresjson.entity.immutable.UuidEntity
|
||||
import java.util.*
|
||||
|
||||
class Constitution(
|
||||
var title: String,
|
||||
var anonymous: Boolean = true,
|
||||
var titles: MutableList<Title> = mutableListOf(),
|
||||
var draft: Boolean = false,
|
||||
var lastVersion: Boolean = false,
|
||||
var versionId: UUID = UUID.randomUUID()
|
||||
) {
|
||||
init {
|
||||
titles.forEachIndexed { index, title ->
|
||||
title.rank = index
|
||||
}
|
||||
}
|
||||
|
||||
class Title(
|
||||
id: UUID = UUID.randomUUID(),
|
||||
var name: String,
|
||||
var rank: Int? = null,
|
||||
var articles: MutableList<ArticleRef> = mutableListOf()
|
||||
) : UuidEntity(id) {
|
||||
fun create(): ConstitutionSimple.TitleSimple<ArticleRef> {
|
||||
return ConstitutionSimple.TitleSimple(
|
||||
id, name, rank, articles
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun create(createdBy: Citizen): ConstitutionSimple<CitizenSimple, ConstitutionSimple.TitleSimple<ArticleRef>> {
|
||||
return ConstitutionSimple(
|
||||
title = title,
|
||||
titles = titles.create(),
|
||||
createdBy = createdBy,
|
||||
versionId = versionId
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun List<Constitution.Title>.create(): MutableList<ConstitutionSimple.TitleSimple<ArticleRef>> =
|
||||
map { it.create() }.toMutableList()
|
||||
Reference in New Issue
Block a user