Skip to main content

ErasedPolicy

Trait ErasedPolicy 

Source
pub(crate) trait ErasedPolicy {
    // Required methods
    fn get_enforced_erased(
        &self,
        organization_id: OrganizationId,
        policy_views: &[PolicyView],
        organization_user_policy_contexts: &[OrganizationUserPolicyContext],
    ) -> EnforcedPolicyErased;
    fn get_all_enforced_erased(
        &self,
        policy_views: &[PolicyView],
        organization_user_policy_contexts: &[OrganizationUserPolicyContext],
    ) -> Vec<EnforcedPolicyErased>;
}
Expand description

Object-safe erasure of Policy.

Policy cannot be used as a trait object because it has an associated Data type. This trait hides that type behind the serializable PolicyDataType, allowing evaluation of a dyn Policy.

Required Methods§

Source

fn get_enforced_erased( &self, organization_id: OrganizationId, policy_views: &[PolicyView], organization_user_policy_contexts: &[OrganizationUserPolicyContext], ) -> EnforcedPolicyErased

Type erased variant of EnforceablePolicy::get_enforced.

Source

fn get_all_enforced_erased( &self, policy_views: &[PolicyView], organization_user_policy_contexts: &[OrganizationUserPolicyContext], ) -> Vec<EnforcedPolicyErased>

Type erased variant of EnforceablePolicy::get_all_enforced.

Implementors§