Skip to main content

SendClient

Struct SendClient 

Source
pub struct SendClient {
    pub(crate) client: Client,
}

Fields§

§client: Client

Implementations§

Source§

impl SendClient

Source

pub async fn access_send_v1( &self, send_id: String, password: Option<String>, ) -> Result<SendAccessResponse, AccessSendError>

Accesses a send using the V1 (legacy) API endpoint. The password is the SHA256 hash of the user-entered password, if the send is password-protected. The returned SendAccessResponse contains encrypted fields that must be decrypted client-side using the key derived from the URL fragment.

Source

pub async fn access_send( &self, access_token: String, ) -> Result<SendAccessResponse, AccessSendError>

Accesses a send using the V2 API endpoint, authenticated with a send access token. The returned SendAccessResponse contains encrypted fields that must be decrypted client-side using the key derived from the URL fragment.

Source

pub async fn get_file_download_data_v1( &self, send_id: String, file_id: String, password: Option<String>, ) -> Result<SendFileDownloadData, GetFileDownloadDataError>

Gets file download data for a file send using the V1 (legacy) API endpoint. The password is the SHA256 hash of the user-entered password, if the send is password-protected.

Source

pub async fn get_file_download_data( &self, access_token: String, file_id: String, ) -> Result<SendFileDownloadData, GetFileDownloadDataError>

Gets file download data for a file send using the V2 API endpoint, authenticated with a send access token.

Source§

impl SendClient

Source

fn new(client: Client) -> Self

Source

pub fn decrypt(&self, send: Send) -> Result<SendView, SendDecryptError>

Source

pub fn decrypt_list( &self, sends: Vec<Send>, ) -> Result<Vec<SendListView>, SendDecryptError>

Source

pub fn decrypt_file( &self, send: Send, encrypted_file_path: &Path, decrypted_file_path: &Path, ) -> Result<(), SendDecryptFileError>

Source

pub fn decrypt_buffer( &self, send: Send, encrypted_buffer: &[u8], ) -> Result<Vec<u8>, SendDecryptError>

Source

pub fn encrypt(&self, send_view: SendView) -> Result<Send, SendEncryptError>

Source

pub fn encrypt_file( &self, send: Send, decrypted_file_path: &Path, encrypted_file_path: &Path, ) -> Result<(), SendEncryptFileError>

Source

pub fn encrypt_buffer( &self, send: Send, buffer: &[u8], ) -> Result<Vec<u8>, SendEncryptError>

Source§

impl SendClient

Source

pub(crate) fn get_repository( &self, ) -> Result<Arc<dyn Repository<Send>>, RepositoryError>

Source§

impl SendClient

Source

pub async fn create( &self, request: SendAddRequest, ) -> Result<SendView, CreateSendError>

Create a new Send and save it to the server.

Source§

impl SendClient

Source

pub async fn create_file_send( &self, request: SendAddRequest, ) -> Result<CreateFileSendResponse, CreateFileSendError>

Create a new file Send and save it to the server.

Returns the created send along with metadata needed to upload the file data. After calling this, use SendClient::upload_send_file to upload the encrypted file.

Source

pub async fn upload_send_file( &self, send_id: SendId, file_id: String, encrypted_file_name: String, data: Vec<u8>, ) -> Result<(), UploadSendFileError>

Upload the encrypted file data for a file Send.

data must be the encrypted file content (encrypted with the send key). encrypted_file_name is the encrypted file name string from CreateFileSendResponse.

Source

pub async fn renew_file_upload_url( &self, send_id: SendId, file_id: String, ) -> Result<String, RenewFileUploadUrlError>

Renew the upload URL for a file Send.

Returns a fresh upload URL if the previous one has expired.

Source§

impl SendClient

Source

pub async fn delete(&self, send_id: SendId) -> Result<(), DeleteSendError>

Delete a Send from the server and remove it from local state.

Source§

impl SendClient

Source

pub async fn edit( &self, send_id: SendId, request: SendEditRequest, ) -> Result<SendView, EditSendError>

Edit the Send and save it to the server.

Source§

impl SendClient

Source

pub async fn list(&self) -> Result<Vec<SendView>, GetSendError>

Get all sends from state and decrypt them to a list of SendView.

Source

pub async fn get(&self, send_id: SendId) -> Result<SendView, GetSendError>

Get a specific Send by its ID from state and decrypt it to a SendView.

Source§

impl SendClient

Source

pub async fn remove_password( &self, send_id: SendId, ) -> Result<SendView, RemoveSendPasswordError>

Remove the password from a Send, saving the updated state to the server and local state.

Trait Implementations§

Source§

impl From<SendClient> for JsValue

Source§

fn from(value: SendClient) -> Self

Converts to this type from the input type.
Source§

impl FromWasmAbi for SendClient

Source§

type Abi = u32

The Wasm ABI type that this converts from when coming back out from the ABI boundary.
Source§

unsafe fn from_abi(js: u32) -> Self

Recover a Self from Self::Abi. Read more
Source§

impl IntoWasmAbi for SendClient

Source§

type Abi = u32

The Wasm ABI type that this converts into when crossing the ABI boundary.
Source§

fn into_abi(self) -> u32

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
Source§

impl LongRefFromWasmAbi for SendClient

Source§

type Abi = u32

Same as RefFromWasmAbi::Abi
Source§

type Anchor = RcRef<SendClient>

Same as RefFromWasmAbi::Anchor
Source§

unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor

Same as RefFromWasmAbi::ref_from_abi
Source§

impl OptionFromWasmAbi for SendClient

Source§

fn is_none(abi: &Self::Abi) -> bool

Tests whether the argument is a “none” instance. If so it will be deserialized as None, and otherwise it will be passed to FromWasmAbi.
Source§

impl OptionIntoWasmAbi for SendClient

Source§

fn none() -> Self::Abi

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
Source§

impl RefFromWasmAbi for SendClient

Source§

type Abi = u32

The Wasm ABI type references to Self are recovered from.
Source§

type Anchor = RcRef<SendClient>

The type that holds the reference to 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: Self::Abi) -> Self::Anchor

Recover a Self::Anchor from Self::Abi. Read more
Source§

impl RefMutFromWasmAbi for SendClient

Source§

type Abi = u32

Same as RefFromWasmAbi::Abi
Source§

type Anchor = RcRefMut<SendClient>

Same as RefFromWasmAbi::Anchor
Source§

unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor

Same as RefFromWasmAbi::ref_from_abi
Source§

impl TryFromJsValue for SendClient

Source§

fn try_from_js_value(value: JsValue) -> Result<Self, JsValue>

Performs the conversion.
Source§

fn try_from_js_value_ref(value: &JsValue) -> Option<Self>

Performs the conversion.
Source§

impl VectorFromWasmAbi for SendClient

Source§

type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi

Source§

unsafe fn vector_from_abi(js: Self::Abi) -> Box<[SendClient]>

Source§

impl VectorIntoWasmAbi for SendClient

Source§

impl WasmDescribe for SendClient

Source§

impl WasmDescribeVector for SendClient

Source§

impl SupportsConstructor for SendClient

Source§

impl SupportsInstanceProperty for SendClient

Source§

impl SupportsStaticProperty for SendClient

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CompatExt for T

§

fn compat(self) -> Compat<T>

Applies the [Compat] adapter by value. Read more
§

fn compat_ref(&self) -> Compat<&T>

Applies the [Compat] adapter by shared reference. Read more
§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the [Compat] adapter by mutable reference. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

unsafe fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<> Read more
§

unsafe fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> ReturnWasmAbi for T
where T: IntoWasmAbi,

Source§

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi
Source§

fn return_abi(self) -> <T as ReturnWasmAbi>::Abi

Same as IntoWasmAbi::into_abi, except that it may throw and never return in the case of Err.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,