pub struct SendClient {
pub(crate) client: Client,
}Fields§
§client: ClientImplementations§
Source§impl SendClient
impl SendClient
Sourcepub async fn access_send(
&self,
access_token: String,
) -> Result<SendAccessResponse, AccessSendError>
pub async fn access_send( &self, access_token: String, ) -> Result<SendAccessResponse, AccessSendError>
Accesses a send, 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.
Sourcepub async fn get_file_download_data(
&self,
access_token: String,
file_id: String,
) -> Result<SendFileDownloadData, GetFileDownloadDataError>
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, authenticated with a send access token.
Source§impl SendClient
impl SendClient
pub fn decrypt(&self, send: Send) -> Result<SendView, SendDecryptError>
pub fn decrypt_list( &self, sends: Vec<Send>, ) -> Result<Vec<SendListView>, SendDecryptError>
pub fn decrypt_file( &self, send: Send, encrypted_file_path: &Path, decrypted_file_path: &Path, ) -> Result<(), SendDecryptFileError>
pub fn decrypt_buffer( &self, send: Send, encrypted_buffer: &[u8], ) -> Result<Vec<u8>, SendDecryptError>
pub fn encrypt(&self, send_view: SendView) -> Result<Send, SendEncryptError>
pub fn encrypt_file( &self, send: Send, decrypted_file_path: &Path, encrypted_file_path: &Path, ) -> Result<(), SendEncryptFileError>
pub fn encrypt_buffer( &self, send: Send, buffer: &[u8], ) -> Result<Vec<u8>, SendEncryptError>
Source§impl SendClient
impl SendClient
Sourcepub async fn create(
&self,
request: SendAddRequest,
) -> Result<SendView, CreateSendError>
pub async fn create( &self, request: SendAddRequest, ) -> Result<SendView, CreateSendError>
Create a new Send and save it to the server.
Source§impl SendClient
impl SendClient
Sourcepub async fn create_file_send(
&self,
request: SendAddRequest,
file_buffer: Vec<u8>,
) -> Result<CreateFileSendResponse, CreateFileSendError>
pub async fn create_file_send( &self, request: SendAddRequest, file_buffer: Vec<u8>, ) -> Result<CreateFileSendResponse, CreateFileSendError>
Create a new file Send and save it to the server.
file_buffer is the plaintext file content. It is encrypted internally under the send key
derived for this send, and its ciphertext length is sent to the server as file_length so
the server can enforce storage quotas before the upload (matching the legacy client’s
encrypt-then-create ordering).
Returns the created send, the encrypted file bytes, and the metadata needed to upload them.
After calling this, hand CreateFileSendResponse::encrypted_file_buffer and the upload
metadata to SendClient::upload_send_file.
Sourcepub async fn upload_send_file(
&self,
send_id: SendId,
file_id: String,
encrypted_file_name: String,
file_upload_type: FileUploadType,
upload_url: String,
data: Vec<u8>,
) -> Result<(), UploadSendFileError>
pub async fn upload_send_file( &self, send_id: SendId, file_id: String, encrypted_file_name: String, file_upload_type: FileUploadType, upload_url: 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.
file_upload_type and upload_url come from CreateFileSendResponse and select the
upload backend:
FileUploadType::Directuploads directly to the Bitwarden server via a multipart POST. Theupload_urlis ignored in this case (the direct endpoint is derived from the send and file IDs).FileUploadType::AzurePUTs the ciphertext to the pre-signed Azure Blob Storageupload_url. If that URL has expired, it is renewed once viaSendClient::renew_file_upload_urland the upload is retried.
Sourcepub async fn renew_file_upload_url(
&self,
send_id: SendId,
file_id: String,
) -> Result<String, RenewFileUploadUrlError>
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
impl SendClient
Source§impl SendClient
impl SendClient
Sourcepub async fn edit(
&self,
send_id: SendId,
request: SendEditRequest,
) -> Result<SendView, EditSendError>
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
impl SendClient
Source§impl SendClient
impl SendClient
Sourcepub async fn remove_password(
&self,
send_id: SendId,
) -> Result<SendView, RemoveSendPasswordError>
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
impl From<SendClient> for JsValue
Source§fn from(value: SendClient) -> JsValue
fn from(value: SendClient) -> JsValue
Source§impl FromWasmAbi for SendClient
impl FromWasmAbi for SendClient
Source§impl IntoWasmAbi for SendClient
impl IntoWasmAbi for SendClient
Source§impl LongRefFromWasmAbi for SendClient
impl LongRefFromWasmAbi for SendClient
Source§type Anchor = RcRef<SendClient>
type Anchor = RcRef<SendClient>
RefFromWasmAbi::AnchorSource§unsafe fn long_ref_from_abi(
js: <SendClient as LongRefFromWasmAbi>::Abi,
) -> <SendClient as LongRefFromWasmAbi>::Anchor
unsafe fn long_ref_from_abi( js: <SendClient as LongRefFromWasmAbi>::Abi, ) -> <SendClient as LongRefFromWasmAbi>::Anchor
RefFromWasmAbi::ref_from_abiSource§impl OptionFromWasmAbi for SendClient
impl OptionFromWasmAbi for SendClient
Source§fn is_none(abi: &<SendClient as FromWasmAbi>::Abi) -> bool
fn is_none(abi: &<SendClient as FromWasmAbi>::Abi) -> bool
None, and otherwise it will be passed to
FromWasmAbi.Source§impl OptionIntoWasmAbi for SendClient
impl OptionIntoWasmAbi for SendClient
Source§fn none() -> <SendClient as IntoWasmAbi>::Abi
fn none() -> <SendClient as IntoWasmAbi>::Abi
None branch of this option. Read moreSource§impl RefFromWasmAbi for SendClient
impl RefFromWasmAbi for SendClient
Source§type Anchor = RcRef<SendClient>
type Anchor = RcRef<SendClient>
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: <SendClient as RefFromWasmAbi>::Abi,
) -> <SendClient as RefFromWasmAbi>::Anchor
unsafe fn ref_from_abi( js: <SendClient as RefFromWasmAbi>::Abi, ) -> <SendClient as RefFromWasmAbi>::Anchor
Source§impl RefMutFromWasmAbi for SendClient
impl RefMutFromWasmAbi for SendClient
Source§type Anchor = RcRefMut<SendClient>
type Anchor = RcRefMut<SendClient>
RefFromWasmAbi::AnchorSource§unsafe fn ref_mut_from_abi(
js: <SendClient as RefMutFromWasmAbi>::Abi,
) -> <SendClient as RefMutFromWasmAbi>::Anchor
unsafe fn ref_mut_from_abi( js: <SendClient as RefMutFromWasmAbi>::Abi, ) -> <SendClient as RefMutFromWasmAbi>::Anchor
RefFromWasmAbi::ref_from_abiSource§impl TryFromJsValue for SendClient
impl TryFromJsValue for SendClient
Source§fn try_from_js_value(value: JsValue) -> Result<SendClient, JsValue>
fn try_from_js_value(value: JsValue) -> Result<SendClient, JsValue>
Source§fn try_from_js_value_ref(value: &JsValue) -> Option<SendClient>
fn try_from_js_value_ref(value: &JsValue) -> Option<SendClient>
Source§impl VectorFromWasmAbi for SendClient
impl VectorFromWasmAbi for SendClient
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi( js: <SendClient as VectorFromWasmAbi>::Abi, ) -> Box<[SendClient]>
Source§impl VectorIntoWasmAbi for SendClient
impl VectorIntoWasmAbi for SendClient
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi( vector: Box<[SendClient]>, ) -> <SendClient as VectorIntoWasmAbi>::Abi
Auto Trait Implementations§
impl Freeze for SendClient
impl !RefUnwindSafe for SendClient
impl Send for SendClient
impl Sync for SendClient
impl Unpin for SendClient
impl UnsafeUnpin for SendClient
impl !UnwindSafe for SendClient
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.