1 | 'use strict'
|
2 |
|
3 | const Rbac = require('../lib')
|
4 |
|
5 | const rbac = new Rbac({
|
6 | checkPermission: function (id, permissions) {
|
7 | return new Promise((resolve, reject) => {
|
8 | const users = [
|
9 | {
|
10 | 'users:create': true,
|
11 | 'users:remove': true
|
12 | },
|
13 | {
|
14 | 'users:read': true
|
15 | }
|
16 | ]
|
17 |
|
18 | const found = permissions.some((permission) => {
|
19 | return users[id] && users[id][permission]
|
20 | })
|
21 |
|
22 | if (found) {
|
23 | return resolve()
|
24 | } else {
|
25 | return reject(new Error('Inexistent User or Permission'))
|
26 | }
|
27 | })
|
28 | }
|
29 | })
|
30 |
|
31 | rbac
|
32 | .authorize(0, ['users:read'])
|
33 | .then(() => console.log('User successfuly authorized!'))
|
34 | .catch((err) => console.log('Error: Permission denied. ' + err))
|