miniruler
Manage roles in contexts asynchronously.
Installation
npm install miniruler
Example
const ruler = /* - action with level - */ ruler ruler ruler // => trueruler // => falseruler // => false /* - action with extra roles - */ ruler ruler // trueruler // trueruler // false rulerruler // false
Context API
setRoles(roles)
Add or update role level in context
Parameters:
- roles Object: roles list of roles (keynames) and their levels (values)
- Return Object: context methods
Example:
context
addRole(roleName, level)
Add a role with its level to the context
Parameters:
- roleName String
- level Number
Example:
context
removeRole(roleName)
Remove a role level from a context
Parameters:
- roleName String
Example:
context
createAction(actionName, rules)
Create an action inside a context and assign rules
Parameters:
- actionName String
- rules Object: (optional) can contain
level
and allowedroles
- level Number: minimum level of the roles allowed to perform the action
- include Array: list of role names (strings) allowed to perform the action (even if their levels are not enough)
Example:
context
setLevel(actionName, level)
Set minimum level of the roles allowed to perform an action
Parameters:
- actionName String
- level Number
Example:
context
allow(roleName, actionName)
Allow a role to perform an action (even if the level of the role is under the action minimum level)
Parameters:
- roleName String
- actionName String
Example:
context
revoke(roleName, actionName)
Revoke permission of a role to perform a action (the role will still perform the action if its level is allowed)
Parameters:
- roleName String
- actionName String
Example:
context
can(roleName, actionName)
Check if user can perform an action in context
Parameters:
- roleName String
- actionName String
- Return Boolean: permission
Example:
contextcontextcontext // false
createContext(contextName)
Create a new context
Parameters:
- contextName String
- Return Object: new context
Example:
const subContext = context
getContext(contextName)
Retrieve a child context of the actual context
Parameters:
- contextName String
- Return Object: context
Example:
const subContext = context
Node.js tests
npm test
© 2014 jacoborus - Released under MIT License