Skip to main content

sova_scope/
lib.rs

1//! Scoped RBAC: membership, role matrix, ownership hooks.
2
3mod audit;
4mod cache;
5mod engine;
6mod entity;
7mod ext;
8mod invites;
9mod matrix;
10mod membership;
11mod migration;
12mod owner;
13mod plugin;
14mod types;
15
16pub use audit::{
17    AuditEntry, AuditStore, AUDIT_ADDED, AUDIT_REMOVED, AUDIT_ROLE_CHANGED,
18};
19pub use cache::{MembershipCache, MutateOpts};
20pub use engine::{AuthorizeEngine, SharedEngine};
21pub use entity::{
22    scope_membership, scope_membership_audit, ScopeMembership, ScopeMembershipAudit,
23};
24#[cfg(feature = "invites")]
25pub use entity::{scope_invitation, ScopeInvitation};
26pub use ext::ScopeExt;
27pub use invites::InviteStore;
28pub use matrix::{Condition, MatrixBuilder, ResourcePattern, RoleMatrix};
29pub use membership::MembershipStore;
30pub use migration::ScopeMigrator;
31pub use owner::{callback_owner, FnOwnerResolver, OwnerRegistry, OwnerResolver};
32pub use plugin::{ScopeAuth, ScopeAuthState};
33pub use types::{
34    is_privileged_role, normalize_role, Ability, Capabilities, Membership, ResourceRef, ScopeRef,
35    INVITE_ACCEPTED, INVITE_PENDING, INVITE_REVOKED, ROLE_ADMIN, ROLE_EDITOR, ROLE_OWNER,
36    ROLE_VIEWER,
37};