mirror of
https://github.com/vatesfr/xen-orchestra.git
synced 2026-09-10 22:14:48 -05:00
* feat(@xen-orchestra/async-map): 0.1.4 * feat(xo-common): 0.11.0 * feat(xen-api): 4.9.0 * feat(@vates/types): 1.30.2 * feat(@xen-orchestra/acl): 1.6.0 * feat(@xen-orchestra/xapi): 8.10.3 * feat(@xen-orchestra/backups): 0.74.0 * feat(@xen-orchestra/backups-cli): 1.1.14 * feat(@xen-orchestra/disk-cli): 2.2.1 * feat(@xen-orchestra/immutable-backups): 3.0.5 * feat(@xen-orchestra/web-core): 0.59.0 * feat(@xen-orchestra/mixins): 0.20.2 * feat(@xen-orchestra/proxy): 0.31.7 * feat(@xen-orchestra/proxy-cli): 0.3.3 * feat(@xen-orchestra/qa-test): 1.2.0 * feat(@xen-orchestra/rest-api): 0.38.0 * feat(@xen-orchestra/upload-ova): 0.1.9 * feat(@xen-orchestra/web): 0.58.0 * feat(xo-acl-resolver): 0.5.4 * feat(xo-cli): 0.32.4 * feat(xo-server): 5.207.3 * feat(xo-server-audit): 0.15.2 * feat(xo-server-ipmi-sensors): 2.1.0 * feat(xo-server-netbox): 1.13.2 * feat(xo-server-sdn-controller): 1.4.1 * feat(xo-web): 5.202.0 * chore(CHANGELOG): update next
xo-acl-resolver
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.