Add repository Opinion.addOpinion()

This commit is contained in:
2020-05-12 12:03:52 +02:00
parent 4504600268
commit 5008b8b69f

View File

@@ -70,6 +70,8 @@ abstract class Opinion<T : TargetRef>(requester: Requester) : OpinionChoice(requ
fun updateOpinions(choice: OpinionChoiceRef, citizen: CitizenRef, target: TargetRef): List<OpinionEntity<T>> =
updateOpinions(listOf(choice), citizen, target)
abstract fun addOpinion(opinion: OpinionEntity<T>): OpinionEntity<T>
/**
* Find opinions of one citizen filtered by target ids
*/
@@ -130,7 +132,7 @@ abstract class Opinion<T : TargetRef>(requester: Requester) : OpinionChoice(requ
class OpinionArticle(requester: Requester) : Opinion<ArticleRef>(requester) {
/**
* Create an Opinions on Article
* Update Opinions on Article (Delete old one)
*/
override fun updateOpinions(choices: List<OpinionChoiceRef>, citizen: CitizenRef, target: TargetRef): List<OpinionArticleEntity> {
return requester
@@ -142,4 +144,13 @@ class OpinionArticle(requester: Requester) : Opinion<ArticleRef>(requester) {
"target_reference" to target.reference
)
}
/**
* Add Opinions on Article
*/
override fun addOpinion(opinion: OpinionEntity<ArticleRef>): OpinionArticleEntity {
return requester
.getFunction("upsert_opinion")
.selectOne("resource" to opinion)!!
}
}