pub struct InviteLinkAdminClient {
pub(crate) key_store: KeyStore<KeySlotIds>,
pub(crate) api_configurations: Arc<ApiConfigurations>,
}Expand description
Client for organization invite link administrative (organization-key) operations: creating, refreshing, updating, deleting, and inspecting invite links. Returned views carry the recovered invite secret in their URL fragment.
Fields§
§key_store: KeyStore<KeySlotIds>§api_configurations: Arc<ApiConfigurations>Implementations§
Source§impl InviteLinkAdminClient
impl InviteLinkAdminClient
Sourcepub async fn get(
&self,
organization_id: OrganizationId,
) -> Result<Option<OrganizationInviteLinkView>, InviteLinkError>
pub async fn get( &self, organization_id: OrganizationId, ) -> Result<Option<OrganizationInviteLinkView>, InviteLinkError>
Get an existing invite link.
Sourcepub async fn delete(
&self,
organization_id: OrganizationId,
) -> Result<(), InviteLinkError>
pub async fn delete( &self, organization_id: OrganizationId, ) -> Result<(), InviteLinkError>
Delete an existing invite link.
Sourcepub async fn create(
&self,
organization_id: OrganizationId,
allowed_domains: Vec<String>,
supports_confirmation: bool,
) -> Result<OrganizationInviteLinkView, InviteLinkError>
pub async fn create( &self, organization_id: OrganizationId, allowed_domains: Vec<String>, supports_confirmation: bool, ) -> Result<OrganizationInviteLinkView, InviteLinkError>
Creates a new organization invite link.
§Security
Only the sealed invite is posted to the server; the invite secret is never sent. It is only carried in the returned view’s URL fragment.
Sourcepub async fn refresh(
&self,
organization_id: OrganizationId,
supports_confirmation: bool,
) -> Result<OrganizationInviteLinkView, InviteLinkError>
pub async fn refresh( &self, organization_id: OrganizationId, supports_confirmation: bool, ) -> Result<OrganizationInviteLinkView, InviteLinkError>
Refreshes an existing invite link. This generates a new code and secret, invalidating any links already handed out.
§Security
Only the sealed invite is posted to the server; the invite secret is never sent. It is only carried in the returned view’s URL fragment.
Sourcepub async fn update_allowed_domains(
&self,
organization_id: OrganizationId,
allowed_domains: Vec<String>,
) -> Result<OrganizationInviteLinkView, InviteLinkError>
pub async fn update_allowed_domains( &self, organization_id: OrganizationId, allowed_domains: Vec<String>, ) -> Result<OrganizationInviteLinkView, InviteLinkError>
Updates the allowed domains for an existing organization invite link.
Sourcepub async fn update_confirmation(
&self,
organization_id: OrganizationId,
supports_confirmation: bool,
) -> Result<OrganizationInviteLinkView, InviteLinkError>
pub async fn update_confirmation( &self, organization_id: OrganizationId, supports_confirmation: bool, ) -> Result<OrganizationInviteLinkView, InviteLinkError>
Updates whether an existing invite link supports confirmation.
If supports_confirmation is true, users gain immediate access to the organization. If supports_confirmation is false, admins need to confirm all new users.
Does not break the URL of the existing invite link: enabling confirmation re-seals the
organization key under the invite’s existing invite key; disabling it strips that envelope.
Either way the invite key, code, and secret are left untouched, so links already handed out
stay valid. Use InviteLinkAdminClient::refresh instead when the code and secret must be
rotated.
§Security
Only the re-sealed invite is posted to the server; the invite secret is never sent.
Sourceasync fn make_invite(
&self,
organization_id: OrganizationId,
supports_confirmation: bool,
) -> Result<Invite, InviteLinkError>
async fn make_invite( &self, organization_id: OrganizationId, supports_confirmation: bool, ) -> Result<Invite, InviteLinkError>
Helper function to make a new Invite to be included in a request model.
Trait Implementations§
Source§impl From<InviteLinkAdminClient> for JsValue
impl From<InviteLinkAdminClient> for JsValue
Source§fn from(value: InviteLinkAdminClient) -> Self
fn from(value: InviteLinkAdminClient) -> Self
Source§impl FromClient for InviteLinkAdminClient
impl FromClient for InviteLinkAdminClient
Source§fn from_client(client: &Client) -> Self
fn from_client(client: &Client) -> Self
Client] reference.Source§impl FromWasm for InviteLinkAdminClient
Available on crate feature wasm only.
impl FromWasm for InviteLinkAdminClient
wasm only.Source§impl FromWasmAbi for InviteLinkAdminClient
impl FromWasmAbi for InviteLinkAdminClient
Source§impl IntoWasmAbi for InviteLinkAdminClient
impl IntoWasmAbi for InviteLinkAdminClient
Source§type Abi = WasmPtr<WasmRefCell<InviteLinkAdminClient>>
type Abi = WasmPtr<WasmRefCell<InviteLinkAdminClient>>
Source§impl LongRefFromWasmAbi for InviteLinkAdminClient
impl LongRefFromWasmAbi for InviteLinkAdminClient
Source§type Abi = WasmPtr<WasmRefCell<InviteLinkAdminClient>>
type Abi = WasmPtr<WasmRefCell<InviteLinkAdminClient>>
RefFromWasmAbi::AbiSource§type Anchor = RcRef<InviteLinkAdminClient>
type Anchor = RcRef<InviteLinkAdminClient>
RefFromWasmAbi::AnchorSource§unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
RefFromWasmAbi::ref_from_abiSource§impl RefFromWasmAbi for InviteLinkAdminClient
impl RefFromWasmAbi for InviteLinkAdminClient
Source§type Abi = WasmPtr<WasmRefCell<InviteLinkAdminClient>>
type Abi = WasmPtr<WasmRefCell<InviteLinkAdminClient>>
Self are recovered from.Source§type Anchor = RcRef<InviteLinkAdminClient>
type Anchor = RcRef<InviteLinkAdminClient>
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§impl RefMutFromWasmAbi for InviteLinkAdminClient
impl RefMutFromWasmAbi for InviteLinkAdminClient
Source§type Abi = WasmPtr<WasmRefCell<InviteLinkAdminClient>>
type Abi = WasmPtr<WasmRefCell<InviteLinkAdminClient>>
RefFromWasmAbi::AbiSource§type Anchor = RcRefMut<InviteLinkAdminClient>
type Anchor = RcRefMut<InviteLinkAdminClient>
RefFromWasmAbi::AnchorSource§unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor
RefFromWasmAbi::ref_from_abiimpl SupportsConstructor for InviteLinkAdminClient
impl SupportsInstanceProperty for InviteLinkAdminClient
impl SupportsStaticProperty for InviteLinkAdminClient
Source§impl ToWasm for InviteLinkAdminClient
Available on crate feature wasm only.
impl ToWasm for InviteLinkAdminClient
wasm only.Source§impl TryFromJsValue for InviteLinkAdminClient
impl TryFromJsValue for InviteLinkAdminClient
Source§fn try_from_js_value_ref(value: &JsValue) -> Option<Self>
fn try_from_js_value_ref(value: &JsValue) -> Option<Self>
Source§const NULLABLE: bool = false
const NULLABLE: bool = false
Self accepts null as a distinct value space, as
Nullable<T> does. An enclosing Option then passes null through
instead of reading it as None, so Option<T> is itself nullable
exactly when T is not. JsValue does not set this: it accepts
null as one value among all of them, not as a distinct space, and
Option<JsValue> reads it as None like the ABI does. This is the
JS-value side of NullableFromWasmAbi, which claims null at the
ABI.Source§impl VectorFromWasmAbi for InviteLinkAdminClient
impl VectorFromWasmAbi for InviteLinkAdminClient
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[InviteLinkAdminClient]>
Source§impl VectorIntoWasmAbi for InviteLinkAdminClient
impl VectorIntoWasmAbi for InviteLinkAdminClient
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[InviteLinkAdminClient]>) -> Self::Abi
Source§impl WasmDescribe for InviteLinkAdminClient
impl WasmDescribe for InviteLinkAdminClient
Auto Trait Implementations§
impl !RefUnwindSafe for InviteLinkAdminClient
impl !UnwindSafe for InviteLinkAdminClient
impl Freeze for InviteLinkAdminClient
impl Send for InviteLinkAdminClient
impl Sync for InviteLinkAdminClient
impl Unpin for InviteLinkAdminClient
impl UnsafeUnpin for InviteLinkAdminClient
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§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> ⓘ
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 moreSource§impl<T> MaybeFromWasmAbi for Twhere
T: OptionFromWasmAbi,
impl<T> MaybeFromWasmAbi for Twhere
T: OptionFromWasmAbi,
Source§type MaybeAbi = <T as FromWasmAbi>::Abi
type MaybeAbi = <T as FromWasmAbi>::Abi
Option<Self>.Source§unsafe fn from_maybe_abi(js: <T as FromWasmAbi>::Abi) -> T
unsafe fn from_maybe_abi(js: <T as FromWasmAbi>::Abi) -> T
unsafe fn try_from_maybe_abi( js: <T as FromWasmAbi>::Abi, ) -> Result<T, &'static str>
Source§impl<T> MaybeIntoWasmAbi for Twhere
T: OptionIntoWasmAbi,
impl<T> MaybeIntoWasmAbi for Twhere
T: OptionIntoWasmAbi,
Source§type MaybeAbi = <T as IntoWasmAbi>::Abi
type MaybeAbi = <T as IntoWasmAbi>::Abi
Option<Self>.Source§fn into_maybe_abi(self) -> <T as IntoWasmAbi>::Abi
fn into_maybe_abi(self) -> <T as IntoWasmAbi>::Abi
Option<Self> ABI.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> 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.