pub struct PolicyClient;Expand description
Client for policy domain operations.
Obtained via PoliciesClientExt::policies on a Client.
Implementations§
Source§impl PolicyClient
impl PolicyClient
Sourcepub fn new() -> PolicyClient
pub fn new() -> PolicyClient
Creates a new PolicyClient.
Source§impl PolicyClient
FFI client using type erasure to cross the boundary.
Native rust callers should use the non-erased interfaces instead.
impl PolicyClient
FFI client using type erasure to cross the boundary. Native rust callers should use the non-erased interfaces instead.
Sourcepub fn get_all_enforced_erased(
&self,
policy_type: PolicyType,
policy_views: Vec<PolicyView>,
organization_user_policy_contexts: Vec<OrganizationUserPolicyContext>,
) -> Vec<EnforcedPolicyErased>
pub fn get_all_enforced_erased( &self, policy_type: PolicyType, policy_views: Vec<PolicyView>, organization_user_policy_contexts: Vec<OrganizationUserPolicyContext>, ) -> Vec<EnforcedPolicyErased>
Evaluate enforcement of the given policy type across all organizations, returning type-erased decisions for the FFI boundary.
Not yet intended for consumer use: exposed across the FFI boundary for
testing and iteration only. Use filter_by_type for now.
Sourcepub fn get_enforced_erased(
&self,
policy_type: PolicyType,
organization_id: OrganizationId,
policy_views: Vec<PolicyView>,
organization_user_policy_contexts: Vec<OrganizationUserPolicyContext>,
) -> EnforcedPolicyErased
pub fn get_enforced_erased( &self, policy_type: PolicyType, organization_id: OrganizationId, policy_views: Vec<PolicyView>, organization_user_policy_contexts: Vec<OrganizationUserPolicyContext>, ) -> EnforcedPolicyErased
Evaluate enforcement of the given policy type for a single organization, returning a type-erased decision for the FFI boundary.
Not yet intended for consumer use: exposed across the FFI boundary for
testing only. Use filter_by_type for now.
Sourcepub fn filter_by_type(
&self,
policies: Vec<PolicyView>,
organization_user_policy_contexts: Vec<OrganizationUserPolicyContext>,
policy_type: PolicyType,
) -> Vec<PolicyView>
pub fn filter_by_type( &self, policies: Vec<PolicyView>, organization_user_policy_contexts: Vec<OrganizationUserPolicyContext>, policy_type: PolicyType, ) -> Vec<PolicyView>
Filter policies of the given type for the current user.
Trait Implementations§
Source§impl Default for PolicyClient
impl Default for PolicyClient
Source§fn default() -> PolicyClient
fn default() -> PolicyClient
Source§impl From<PolicyClient> for JsValue
impl From<PolicyClient> for JsValue
Source§fn from(value: PolicyClient) -> JsValue
fn from(value: PolicyClient) -> JsValue
Source§impl FromWasmAbi for PolicyClient
impl FromWasmAbi for PolicyClient
Source§impl IntoWasmAbi for PolicyClient
impl IntoWasmAbi for PolicyClient
Source§impl LongRefFromWasmAbi for PolicyClient
impl LongRefFromWasmAbi for PolicyClient
Source§type Anchor = RcRef<PolicyClient>
type Anchor = RcRef<PolicyClient>
RefFromWasmAbi::AnchorSource§unsafe fn long_ref_from_abi(
js: <PolicyClient as LongRefFromWasmAbi>::Abi,
) -> <PolicyClient as LongRefFromWasmAbi>::Anchor
unsafe fn long_ref_from_abi( js: <PolicyClient as LongRefFromWasmAbi>::Abi, ) -> <PolicyClient as LongRefFromWasmAbi>::Anchor
RefFromWasmAbi::ref_from_abiSource§impl OptionFromWasmAbi for PolicyClient
impl OptionFromWasmAbi for PolicyClient
Source§fn is_none(abi: &<PolicyClient as FromWasmAbi>::Abi) -> bool
fn is_none(abi: &<PolicyClient as FromWasmAbi>::Abi) -> bool
None, and otherwise it will be passed to
FromWasmAbi.Source§impl OptionIntoWasmAbi for PolicyClient
impl OptionIntoWasmAbi for PolicyClient
Source§fn none() -> <PolicyClient as IntoWasmAbi>::Abi
fn none() -> <PolicyClient as IntoWasmAbi>::Abi
None branch of this option. Read moreSource§impl RefFromWasmAbi for PolicyClient
impl RefFromWasmAbi for PolicyClient
Source§type Anchor = RcRef<PolicyClient>
type Anchor = RcRef<PolicyClient>
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.Source§unsafe fn ref_from_abi(
js: <PolicyClient as RefFromWasmAbi>::Abi,
) -> <PolicyClient as RefFromWasmAbi>::Anchor
unsafe fn ref_from_abi( js: <PolicyClient as RefFromWasmAbi>::Abi, ) -> <PolicyClient as RefFromWasmAbi>::Anchor
Source§impl RefMutFromWasmAbi for PolicyClient
impl RefMutFromWasmAbi for PolicyClient
Source§type Anchor = RcRefMut<PolicyClient>
type Anchor = RcRefMut<PolicyClient>
RefFromWasmAbi::AnchorSource§unsafe fn ref_mut_from_abi(
js: <PolicyClient as RefMutFromWasmAbi>::Abi,
) -> <PolicyClient as RefMutFromWasmAbi>::Anchor
unsafe fn ref_mut_from_abi( js: <PolicyClient as RefMutFromWasmAbi>::Abi, ) -> <PolicyClient as RefMutFromWasmAbi>::Anchor
RefFromWasmAbi::ref_from_abiSource§impl TryFromJsValue for PolicyClient
impl TryFromJsValue for PolicyClient
Source§fn try_from_js_value(value: JsValue) -> Result<PolicyClient, JsValue>
fn try_from_js_value(value: JsValue) -> Result<PolicyClient, JsValue>
Source§fn try_from_js_value_ref(value: &JsValue) -> Option<PolicyClient>
fn try_from_js_value_ref(value: &JsValue) -> Option<PolicyClient>
Source§impl VectorFromWasmAbi for PolicyClient
impl VectorFromWasmAbi for PolicyClient
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi( js: <PolicyClient as VectorFromWasmAbi>::Abi, ) -> Box<[PolicyClient]>
Source§impl VectorIntoWasmAbi for PolicyClient
impl VectorIntoWasmAbi for PolicyClient
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi( vector: Box<[PolicyClient]>, ) -> <PolicyClient as VectorIntoWasmAbi>::Abi
Auto Trait Implementations§
impl Freeze for PolicyClient
impl RefUnwindSafe for PolicyClient
impl Send for PolicyClient
impl Sync for PolicyClient
impl Unpin for PolicyClient
impl UnsafeUnpin for PolicyClient
impl UnwindSafe for PolicyClient
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.