package fr.dcproject.entity import fr.postgresjson.entity.immutable.EntityCreatedAt import fr.postgresjson.entity.immutable.EntityCreatedAtImp import fr.postgresjson.entity.immutable.EntityCreatedBy import fr.postgresjson.entity.immutable.EntityCreatedByImp import java.util.* open class Opinion( id: UUID = UUID.randomUUID(), override val createdBy: CitizenBasic, override val target: T, val choice: OpinionChoice ) : ExtraI, TargetRef(id), EntityCreatedAt by EntityCreatedAtImp(), EntityCreatedBy by EntityCreatedByImp(createdBy) { fun getName(): String = choice.name } class OpinionArticle( id: UUID = UUID.randomUUID(), createdBy: CitizenBasic, target: ArticleRef, choice: OpinionChoice ) : Opinion(id, createdBy, target, choice)