Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Events #1

Open
21 tasks
coreybutler opened this issue Aug 10, 2019 · 0 comments
Open
21 tasks

Events #1

coreybutler opened this issue Aug 10, 2019 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@coreybutler
Copy link
Owner

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 coreybutler self-assigned this Aug 10, 2019
@coreybutler coreybutler added the enhancement New feature or request label Aug 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant