Remove converter for CitizenRef
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package fr.dcproject.component.opinion
|
||||
|
||||
import fr.dcproject.common.entity.HasTarget
|
||||
import fr.dcproject.common.entity.TargetRef
|
||||
import fr.dcproject.component.citizen.CitizenI
|
||||
import fr.dcproject.component.opinion.entity.Opinion
|
||||
import fr.dcproject.component.opinion.entity.OpinionI
|
||||
import fr.dcproject.security.AccessControl
|
||||
import fr.dcproject.security.AccessResponse
|
||||
@@ -22,10 +24,14 @@ class OpinionAccessControl : AccessControl() {
|
||||
}
|
||||
}
|
||||
|
||||
fun <S : OpinionI, SS : List<S>> canView(subjects: SS, citizen: CitizenI?): AccessResponse =
|
||||
fun <S, SS : List<S>, C: CitizenI> canView(subjects: SS, citizen: CitizenI?): AccessResponse where S : OpinionI, S : EntityCreatedBy<C> =
|
||||
canAll(subjects) { canView(it, citizen) }
|
||||
|
||||
fun <S : OpinionI> canView(subject: S, citizen: CitizenI?): AccessResponse = granted()
|
||||
fun <S, C: CitizenI> canView(subject: S, citizen: CitizenI?): AccessResponse where S : OpinionI, S : EntityCreatedBy<C> = when {
|
||||
citizen == null -> denied("You must be connected to delete opinion", "opinion.delete.notConnected")
|
||||
subject.createdBy.id != citizen.id -> denied("You cannot view opinions of other citizen", "opinion.view.otherCitizen")
|
||||
else -> granted()
|
||||
}
|
||||
|
||||
fun <S, C : CitizenI> canDelete(subject: S, citizen: CitizenI?): AccessResponse where S : EntityCreatedBy<C>, S : OpinionI = when {
|
||||
citizen == null -> denied("You must be connected to delete opinion", "opinion.delete.notConnected")
|
||||
|
||||
Reference in New Issue
Block a user