UNPKG

775 BJavaScriptView Raw
1'use strict'
2
3const Rbac = require('../lib')
4
5const rbac = new Rbac({
6 checkPermission: function (id, permissions) {
7 return new Promise((resolve, reject) => {
8 const users = [
9 { // user 0
10 'users:create': true,
11 'users:remove': true
12 },
13 { // users 1
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
31rbac
32 .authorize(0, ['users:read'])
33 .then(() => console.log('User successfuly authorized!'))
34 .catch((err) => console.log('Error: Permission denied. ' + err))