Files
xen-orchestra/packages/xo-acl-resolver
2021-03-22 09:56:31 +01:00
..
2016-02-03 10:02:39 +01:00
2021-03-22 09:56:31 +01:00
2020-06-01 14:41:52 +02:00

xo-acl-resolver

Package Version License PackagePhobia Node compatibility

Xen-Orchestra internal: do ACLs resolution

Install

Installation of the npm package:

> npm install --save xo-acl-resolver

Usage

import check from 'xo-acl-resolver'

// This object contains a list of permissions returned from
// xo-server's acl.getCurrentPermissions.
const permissions = {
  /* ... */
}

// This function should returns synchronously an object from an id.
const getObject = id => {
  /* ... */
}

// For a single object:
if (check(permissions, getObject, objectId, permission)) {
  console.log(`${permission} set for object ${objectId}`)
}

// For multiple objects/permissions:
if (
  check(permissions, getObject, [
    [object1Id, permission1],
    [object12d, permission2],
  ])
) {
  console.log('all permissions checked')
}

Contributions

Contributions are very welcomed, either on the documentation or on the code.

You may:

  • report any issue you've encountered;
  • fork and create a pull request.

License

AGPL-3.0-or-later © Vates SAS