iam icon indicating copy to clipboard operation
iam copied to clipboard

Events

Open coreybutler opened this issue 5 years ago • 0 comments

IAM would benefit from having an event emitter for the following actions:

Resources

  • [ ] create (new)
  • [ ] update (name, description, rights)
  • [ ] delete

Roles

  • [ ] create (new)
  • [ ] update (name, description, rights)
  • [ ] delete
  • [ ] right.allow
  • [ ] right.deny (Removing a right is the same as denying it)

Groups

  • [ ] create (new)
  • [ ] update (name, description, rights)
  • [ ] delete
  • [ ] member.join
  • [ ] member.leave

Users

  • [ ] create
  • [ ] update (name, description)
  • [ ] delete
  • [ ] group.join
  • [ ] group.leave
  • [ ] role.assign
  • [ ] role.revoke
  • [ ] resource.access.change (this should be triggered when a permission changes).

Rights do not need events because the actions performed with rights are always within the context of a parent role or resource.

Major Caveat

Event emitting is not the core purpose of this library. It is a usability feature. As such, it may be better to leave this as an exercise for the developer. IAM could be extended as an NGNX component, which could leverage the NGN.EventEmitter as well as other features of the library.

coreybutler avatar Aug 10 '19 17:08 coreybutler