L'idée est d'ajouter une fonction en tant qu'Input Parameters pour résoudre les données des ACL.
Cette fonction 'testErSecurity' prend en entrée deux paramètres :
Elle retourne true/false en évaluant l'expression suivante :
( (bo->dov.`_inverted_accessbyname.pass`["yes"] || []).anyMatch(v => v IN acl) OR (bo->iov.`_inverted_accessbyname.pass`["yes"] || []).anyMatch(v => v IN acl) ) AND NOT (bo->iov.`_inverted_accessbyname.pass`["no"] || []).anyMatch(v => v IN acl) AND NOT (bo->dov.`_inverted_accessbyname.pass`["no"] || []).anyMatch(v => v IN acl) AND NOT (bo->iov.`_inverted_accessbyname.pass`["maybeNo"] || []).anyMatch(v => v IN acl) AND NOT (bo->dov.`_inverted_accessbyname.pass`["maybeNo"] || []).anyMatch(v => v IN acl)
Au niveau de la data query, voici comment cette fonction est utilisée :