Trait AsyncAttachmentService

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

Source

type GetContentBody: AsyncWriteBody<O> + 'static + Send

The body type returned by the get_content method.

Required Methods§

Source

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.

Source

fn get( &self, auth_: BearerToken, rid: AttachmentRid, ) -> impl Future<Output = Result<Attachment, Error>> + Send

Get an attachment by its RID.

Source

fn get_batch( &self, auth_: BearerToken, request: GetAttachmentsRequest, ) -> impl Future<Output = Result<GetAttachmentsResponse, Error>> + Send

Get a set of attachments by their RIDs.

Source

fn get_content( &self, auth_: BearerToken, rid: AttachmentRid, ) -> impl Future<Output = Result<Self::GetContentBody, Error>> + Send

Get the binary content of an attachment.

Source

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.

Source

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.

Source

fn archive( &self, auth_: BearerToken, rid: AttachmentRid, ) -> impl Future<Output = Result<(), Error>> + Send

Archive an attachment.

Source

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.

Implementors§