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§
Sourcefn get_enforced_erased(
&self,
organization_id: OrganizationId,
policy_views: &[PolicyView],
organization_user_policy_contexts: &[OrganizationUserPolicyContext],
) -> EnforcedPolicyErased
fn get_enforced_erased( &self, organization_id: OrganizationId, policy_views: &[PolicyView], organization_user_policy_contexts: &[OrganizationUserPolicyContext], ) -> EnforcedPolicyErased
Type erased variant of EnforceablePolicy::get_enforced.
Sourcefn get_all_enforced_erased(
&self,
policy_views: &[PolicyView],
organization_user_policy_contexts: &[OrganizationUserPolicyContext],
) -> Vec<EnforcedPolicyErased>
fn get_all_enforced_erased( &self, policy_views: &[PolicyView], organization_user_policy_contexts: &[OrganizationUserPolicyContext], ) -> Vec<EnforcedPolicyErased>
Type erased variant of EnforceablePolicy::get_all_enforced.