I have this rule:
rule Viewer {
description: "Allow the viewer read access to his assigned assets"
participant(v): "org.biz.app.Viewer"
operation: READ
resource(d): "org.biz.app.Activo"
condition: (v.getIdentifier() === d.viewers.getIdentifier())
action: ALLOW
}
and in the model file:
asset Activo identified by acitvoId {
o String activoId
o String activoName
o Integer version
o DateTime startDate
o DateTime endDate
--> Author owner
--> Viewer[] viewers optional
}
What I want the rule to be is that the viewer only gets read access to the assets that he is assigned to. The:
v.getIdentifier();
returns the viewer id, and I want to compare it with the array of viewers in the asset:
--> Viewer[] viewers optional
if the viewerid is in the array, the viewer has read access. How can I write that rule?
The pii-network includes ACL rules that reference arrays. E.g. the call to
indexOf
here:https://github.com/hyperledger/composer-sample-networks/blob/master/packages/pii-network/permissions.acl#L38