Expand description

Types for creating and validating permissions.


  • Types used for granting permissions within BonsaiDb.


  • A unique name of an action.
  • An action was denied.
  • A collection of allowed permissions. This is constructed from a Vec<Statement>. By default, no actions are allowed on any resources.
  • A unique name/identifier of a resource.
  • A statement of permissions. A statement describes whether one or more actions should be allowed to be taken against resources.



  • An action that can be allowed or disallowed.
  • Dispatches T to an appropriate handler. This trait is derivable.

Derive Macros

  • Derives the actionable::Action trait.
  • Derives a set of traits that can be used to implement a permissions-driven API. There are options that can be customized with the #[actionable] attribute at the enum level:
  • Derives the Dispatcher trait.