1#![warn(missing_docs)]
2pub mod algebra;
5pub mod calculation;
6pub mod permission;
7pub mod policy;
8pub mod resource;
9pub mod subject;
10pub mod sync;
11
12pub use resource::Resource;
13pub use subject::{BuilderError, Subject};
14
15pub mod prelude {
17 pub use crate::algebra::{
18 JoinSemilattice, Lattice, MeetSemilattice, Monoid, MonoidAction, Semigroup,
19 };
20 pub use crate::calculation::{
21 HasPermissions, PermissionEffect, PermissionEffectBuilder, PermissionPreview,
22 };
23 pub use crate::permission::{
24 AtomicPermission, DenialSet, GrantDenialPair, PermissionDelta, PermissionMapping,
25 PermissionSet, TemporalPermission, TemporalPermissionSet,
26 };
27 pub use crate::policy::{
28 AbacPolicy, AttributeContext, AttributePermission, AttributeRule, ConflictResolver,
29 JoinResolver, MeetResolver, PriorityResolver, RbacError, RbacPolicy, Role,
30 };
31 pub use crate::resource::Resource;
32 pub use crate::subject::Subject;
33}