npm.io
0.5.4 • Published 1 month ago

xo-acl-resolver

Licence
AGPL-3.0-or-later
Version
0.5.4
Deps
1
Size
6 kB
Vulns
0
Weekly
0
Stars
988

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