pub trait AsyncAttachmentService<O> {
type GetContentBody: AsyncWriteBody<O> + 'static + Send;
// Required methods
fn create(
&self,
auth_: BearerToken,
request: CreateAttachmentRequest,
) -> impl Future<Output = Result<Attachment, Error>> + Send;
fn get(
&self,
auth_: BearerToken,
rid: AttachmentRid,
) -> impl Future<Output = Result<Attachment, Error>> + Send;
fn get_batch(
&self,
auth_: BearerToken,
request: GetAttachmentsRequest,
) -> impl Future<Output = Result<GetAttachmentsResponse, Error>> + Send;
fn get_content(
&self,
auth_: BearerToken,
rid: AttachmentRid,
) -> impl Future<Output = Result<Self::GetContentBody, Error>> + Send;
fn get_uri(
&self,
auth_: BearerToken,
rid: AttachmentRid,
) -> impl Future<Output = Result<AttachmentUri, Error>> + Send;
fn update(
&self,
auth_: BearerToken,
rid: AttachmentRid,
request: UpdateAttachmentRequest,
) -> impl Future<Output = Result<Attachment, Error>> + Send;
fn archive(
&self,
auth_: BearerToken,
rid: AttachmentRid,
) -> impl Future<Output = Result<(), Error>> + Send;
fn unarchive(
&self,
auth_: BearerToken,
rid: AttachmentRid,
) -> impl Future<Output = Result<(), Error>> + Send;
}
Expand description
The attachment service provides functionality for creating, updating, and archiving attachments uploaded to S3.
Required Associated Types§
Sourcetype GetContentBody: AsyncWriteBody<O> + 'static + Send
type GetContentBody: AsyncWriteBody<O> + 'static + Send
The body type returned by the get_content
method.
Required Methods§
Sourcefn create(
&self,
auth_: BearerToken,
request: CreateAttachmentRequest,
) -> impl Future<Output = Result<Attachment, Error>> + Send
fn create( &self, auth_: BearerToken, request: CreateAttachmentRequest, ) -> impl Future<Output = Result<Attachment, Error>> + Send
Create a new attachment. Assumes the file is already uploaded to S3 through the upload service.
Sourcefn get(
&self,
auth_: BearerToken,
rid: AttachmentRid,
) -> impl Future<Output = Result<Attachment, Error>> + Send
fn get( &self, auth_: BearerToken, rid: AttachmentRid, ) -> impl Future<Output = Result<Attachment, Error>> + Send
Get an attachment by its RID.
Sourcefn get_batch(
&self,
auth_: BearerToken,
request: GetAttachmentsRequest,
) -> impl Future<Output = Result<GetAttachmentsResponse, Error>> + Send
fn get_batch( &self, auth_: BearerToken, request: GetAttachmentsRequest, ) -> impl Future<Output = Result<GetAttachmentsResponse, Error>> + Send
Get a set of attachments by their RIDs.
Sourcefn get_content(
&self,
auth_: BearerToken,
rid: AttachmentRid,
) -> impl Future<Output = Result<Self::GetContentBody, Error>> + Send
fn get_content( &self, auth_: BearerToken, rid: AttachmentRid, ) -> impl Future<Output = Result<Self::GetContentBody, Error>> + Send
Get the binary content of an attachment.
Sourcefn get_uri(
&self,
auth_: BearerToken,
rid: AttachmentRid,
) -> impl Future<Output = Result<AttachmentUri, Error>> + Send
fn get_uri( &self, auth_: BearerToken, rid: AttachmentRid, ) -> impl Future<Output = Result<AttachmentUri, Error>> + Send
Get a pre-signed URI to download an attachment. The link expires in 1 minute.
Sourcefn update(
&self,
auth_: BearerToken,
rid: AttachmentRid,
request: UpdateAttachmentRequest,
) -> impl Future<Output = Result<Attachment, Error>> + Send
fn update( &self, auth_: BearerToken, rid: AttachmentRid, request: UpdateAttachmentRequest, ) -> impl Future<Output = Result<Attachment, Error>> + Send
Update an attachment. Only the fields that are set in the request will be updated.
Sourcefn archive(
&self,
auth_: BearerToken,
rid: AttachmentRid,
) -> impl Future<Output = Result<(), Error>> + Send
fn archive( &self, auth_: BearerToken, rid: AttachmentRid, ) -> impl Future<Output = Result<(), Error>> + Send
Archive an attachment.
Sourcefn unarchive(
&self,
auth_: BearerToken,
rid: AttachmentRid,
) -> impl Future<Output = Result<(), Error>> + Send
fn unarchive( &self, auth_: BearerToken, rid: AttachmentRid, ) -> impl Future<Output = Result<(), Error>> + Send
Unarchive an attachment.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.