package fr.dcproject.entity import fr.dcproject.component.article.ArticleRef import fr.dcproject.component.citizen.CitizenBasic import fr.dcproject.component.citizen.CitizenBasicI import fr.dcproject.component.citizen.CitizenI import fr.dcproject.component.citizen.CitizenRef import fr.postgresjson.entity.* import java.util.* @Deprecated("") 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 } @Deprecated("") class OpinionArticle( id: UUID = UUID.randomUUID(), createdBy: CitizenBasic, target: ArticleRef, choice: OpinionChoice ) : Opinion(id, createdBy, target, choice) data class OpinionForUpdate( override val id: UUID = UUID.randomUUID(), val target: T, val choice: OpinionChoice, override val createdBy: CitizenRef ) : OpinionRef(id), EntityCreatedBy by EntityCreatedByImp(createdBy) open class OpinionRef( override val id: UUID ) : OpinionI interface OpinionI: UuidEntityI