UNPKG

we-plugin-acl

Version:

Role-based access control (RBAC) for We.js framework

46 lines (37 loc) 1.14 kB
module.exports = function aclRolePermissionRmCommand (program, helpers) { let we; program .command('acl:role:permission:rm <roleName> <permission>') .alias('arpr') .description('Remove one permission in role') .action(function run (roleName, permission) { we = helpers.getWe(); we.bootstrap(function (err) { if (err) return doneAll(err); // get all configs, old configs in configuration.json file is included here var roles = we.acl.exportRoles(); if (!roles[roleName]) { console.log(roleName + ' dont exists'); return doneAll(); } if (!roles[roleName].permissions) { roles[roleName].permissions = []; } let i = roles[roleName].permissions.indexOf(permission); if (i > -1) { roles[roleName].permissions.splice(i, 1); } // write in configuration.json file we.setConfig('roles', roles, doneAll); }); function doneAll (err) { if ( err ) { we.log.error('Error in we.js CLI:', err); } we.exit(function () { // end / exit process.exit(); }); } }); };