Add Opinion entity and add opinions on article

This commit is contained in:
2020-02-08 01:03:16 +01:00
parent f622dbeecd
commit 7742287884
4 changed files with 26 additions and 1 deletions

View File

@@ -46,7 +46,8 @@ open class ArticleSimple(
EntityCreatedBy<CitizenBasicI> by EntityCreatedByImp(createdBy),
EntityDeletedAt by EntityDeletedAtImp(),
EntityVersioning<UUID, Int> by UuidEntityVersioning(),
Votable by VotableImp()
Votable by VotableImp(),
Opinionable by OpinionableImp()
open class ArticleRef(
id: UUID = UUID.randomUUID()

View File

@@ -0,0 +1,14 @@
package fr.dcproject.entity
import fr.postgresjson.entity.immutable.*
import java.util.*
open class Opinion<T : TargetI>(
id: UUID = UUID.randomUUID(),
override val createdBy: CitizenBasic,
override var target: T,
var name: String
) : ExtraI<T>,
UuidEntity(id),
EntityCreatedAt by EntityCreatedAtImp(),
EntityCreatedBy<CitizenBasicI> by EntityCreatedByImp(createdBy)

View File

@@ -0,0 +1,9 @@
package fr.dcproject.entity
interface Opinionable {
val opinions: MutableMap<String, Int>
}
class OpinionableImp : Opinionable {
override val opinions: MutableMap<String, Int> = mutableMapOf()
}

View File

@@ -17,6 +17,7 @@ class ConstitutionSteps : En, KoinTest {
init {
Given("I have constitution with id {string}") { id: String ->
var citizen = Citizen(
id = UUID.fromString(id),
name = CitizenI.Name("John", "Doe"),
email = "john.doe@gmail.com",
birthday = DateTime.now(),