Skip to main content

Rights Management PXP Service Examples

Use these examples to execute policy actions in the before or after decision stage while keeping action metadata available to plugins.

PolicyExecutionPointService

import { PolicyDecision, PolicyDecisionStage } from '@twin.org/rights-management-models';
import { PolicyExecutionPointService } from '@twin.org/rights-management-pxp-service';
import { PolicyType } from '@twin.org/standards-w3c-odrl';

const pxp = new PolicyExecutionPointService();

await pxp.executeActions(
{
'@id': 'urn:rights-management:agreement-1',
'@type': PolicyType.Agreement,
permission: [
{
target: 'urn:asset:dataset-1',
action: 'use'
}
]
},
[{ target: '$.asset', decision: PolicyDecision.Granted }],
{ asset: 'dataset-1' },
'use',
PolicyDecisionStage.Before
);

console.log(pxp.className()); // PolicyExecutionPointService