Skip to main content

steel_core/permission/
mod.rs

1//! Steel's internal permission evaluation model.
2
3mod context;
4mod expression;
5mod groups;
6mod key;
7mod manager;
8mod metadata;
9mod rule_expression;
10mod set;
11mod subject;
12
13pub use context::{
14    PermissionContext, PermissionContextKey, PermissionContextKeyError, PermissionContextValue,
15    PermissionDomain, PermissionRuleContext, PermissionRuleContextError, PermissionRuleContexts,
16};
17pub use expression::PermissionExpr;
18pub(crate) use groups::OP_GROUP;
19pub use groups::{
20    PermissionConfigError, PermissionGroup, PermissionGroupConfig, PermissionGroups,
21    PermissionGroupsConfig, PermissionMetadataRuleConfig,
22};
23pub use key::{PermissionKey, PermissionKeyError, PermissionSegment};
24pub use manager::{
25    PermissionGroupManager, PermissionGroupManagerError, PermissionGroupStore,
26    PermissionGroupStoreError, PermissionGroupUpdateError,
27};
28pub use metadata::{
29    PermissionMetadataEntry, PermissionMetadataExpression, PermissionMetadataExpressionError,
30    PermissionMetadataKeyError, PermissionMetadataResolution, PermissionMetadataSet,
31    PermissionMetadataValue, parse_permission_metadata_key,
32};
33pub use rule_expression::{PermissionRuleExpression, PermissionRuleExpressionError};
34pub use set::{
35    PermissionEntry, PermissionResolution, PermissionResolutionSource, PermissionSet,
36    PermissionState,
37};
38pub use subject::{PermissionSubjectIndex, PermissionSubjectState};
39
40#[cfg(test)]
41mod tests;