- Roles have permissions
- Commands have permissions
- Users are given roles
- A command will execute or not based on the user having a role with one of the command's permissions
npm install role-based-commands
Require role-based-commands and configure
var Controller =roles =root: 'root'admin: 'user.admin'user: 'user.permission.one' 'user.permission.two';user =id: 42name: "Foo Bar"roles: 'user'
Create a controller
// Provide the controller with an object containing the user state and the role/permissionsvar ctrl = user roles;
Create a command
// A command can be assigned to a local variable// command = ctrl.command(...);ctrl;
Calling the command
// the user cannot execute the command without the correct role// eg. :-// user.roles = ['user'];// user.roles = ['admin'];// The command can be called like a regular function using the variable assignment;// - or using the controller's execute methodctrl;
Copyright and license
Copyright (c) 2015, Any Code email@example.com
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.