gestalt-sdk 0.0.1-alpha.19

Rust SDK scaffolding and generated protocol bindings for Gestalt executable providers
Documentation
// Code generated by sdkgen. DO NOT EDIT.

//! Generated wire conversions for s3.proto.

use crate::codec::support::{from_wire_timestamp, to_wire_timestamp};
use crate::generated::v1;
use crate::s3::{
    ByteRange, CopyObjectRequest, CopyObjectResponse, CreateObjectAccessURLRequest,
    CreateObjectAccessURLResponse, DeleteObjectRequest, HeadObjectRequest, HeadObjectResponse,
    ListObjectsRequest, ListObjectsResponse, PresignObjectRequest, PresignObjectResponse,
    ReadObjectChunk, ReadObjectChunkResult, ReadObjectRequest, S3ObjectMeta, S3ObjectRef,
    WriteObjectOpen, WriteObjectRequest, WriteObjectRequestMsg, WriteObjectResponse,
};

/// Converts a native `ByteRange` to its wire message.
pub(crate) fn to_wire_byte_range(value: ByteRange) -> v1::ByteRange {
    v1::ByteRange {
        start: value.start,
        end: value.end,
    }
}

/// Converts a native `CopyObjectRequest` to its wire message.
pub(crate) fn to_wire_copy_object_request(value: CopyObjectRequest) -> v1::CopyObjectRequest {
    v1::CopyObjectRequest {
        source: value.source.map(to_wire_s3_object_ref),
        destination: value.destination.map(to_wire_s3_object_ref),
        if_match: value.if_match,
        if_none_match: value.if_none_match,
    }
}

/// Converts a wire `CopyObjectResponse` to its native message.
pub(crate) fn from_wire_copy_object_response(value: v1::CopyObjectResponse) -> CopyObjectResponse {
    CopyObjectResponse {
        meta: value.meta.map(from_wire_s3_object_meta),
    }
}

/// Converts a native `CreateObjectAccessURLRequest` to its wire message.
pub(crate) fn to_wire_create_object_access_url_request(
    value: CreateObjectAccessURLRequest,
) -> v1::CreateObjectAccessUrlRequest {
    v1::CreateObjectAccessUrlRequest {
        r#ref: value.r#ref.map(to_wire_s3_object_ref),
        method: value.method,
        expires_seconds: value.expires_seconds,
        content_type: value.content_type,
        content_disposition: value.content_disposition,
        headers: value.headers,
    }
}

/// Converts a wire `CreateObjectAccessURLResponse` to its native message.
pub(crate) fn from_wire_create_object_access_url_response(
    value: v1::CreateObjectAccessUrlResponse,
) -> CreateObjectAccessURLResponse {
    CreateObjectAccessURLResponse {
        url: value.url,
        method: value.method,
        expires_at: value.expires_at.map(from_wire_timestamp),
        headers: value.headers,
    }
}

/// Converts a native `DeleteObjectRequest` to its wire message.
pub(crate) fn to_wire_delete_object_request(value: DeleteObjectRequest) -> v1::DeleteObjectRequest {
    v1::DeleteObjectRequest {
        r#ref: value.r#ref.map(to_wire_s3_object_ref),
    }
}

/// Converts a native `HeadObjectRequest` to its wire message.
pub(crate) fn to_wire_head_object_request(value: HeadObjectRequest) -> v1::HeadObjectRequest {
    v1::HeadObjectRequest {
        r#ref: value.r#ref.map(to_wire_s3_object_ref),
    }
}

/// Converts a wire `HeadObjectResponse` to its native message.
pub(crate) fn from_wire_head_object_response(value: v1::HeadObjectResponse) -> HeadObjectResponse {
    HeadObjectResponse {
        meta: value.meta.map(from_wire_s3_object_meta),
    }
}

/// Converts a native `ListObjectsRequest` to its wire message.
pub(crate) fn to_wire_list_objects_request(value: ListObjectsRequest) -> v1::ListObjectsRequest {
    v1::ListObjectsRequest {
        prefix: value.prefix,
        delimiter: value.delimiter,
        continuation_token: value.continuation_token,
        start_after: value.start_after,
        max_keys: value.max_keys,
    }
}

/// Converts a wire `ListObjectsResponse` to its native message.
pub(crate) fn from_wire_list_objects_response(
    value: v1::ListObjectsResponse,
) -> ListObjectsResponse {
    ListObjectsResponse {
        objects: value
            .objects
            .into_iter()
            .map(from_wire_s3_object_meta)
            .collect(),
        common_prefixes: value.common_prefixes,
        next_continuation_token: value.next_continuation_token,
        has_more: value.has_more,
    }
}

/// Converts a native `PresignObjectRequest` to its wire message.
pub(crate) fn to_wire_presign_object_request(
    value: PresignObjectRequest,
) -> v1::PresignObjectRequest {
    v1::PresignObjectRequest {
        r#ref: value.r#ref.map(to_wire_s3_object_ref),
        method: value.method,
        expires_seconds: value.expires_seconds,
        content_type: value.content_type,
        content_disposition: value.content_disposition,
        headers: value.headers,
    }
}

/// Converts a wire `PresignObjectResponse` to its native message.
pub(crate) fn from_wire_presign_object_response(
    value: v1::PresignObjectResponse,
) -> PresignObjectResponse {
    PresignObjectResponse {
        url: value.url,
        method: value.method,
        expires_at: value.expires_at.map(from_wire_timestamp),
        headers: value.headers,
    }
}

/// Converts a wire `ReadObjectChunk` to its native message.
pub(crate) fn from_wire_read_object_chunk(value: v1::ReadObjectChunk) -> ReadObjectChunk {
    ReadObjectChunk {
        result: value.result.map(from_wire_read_object_chunk_result),
    }
}

pub(crate) fn from_wire_read_object_chunk_result(
    value: v1::read_object_chunk::Result,
) -> ReadObjectChunkResult {
    match value {
        v1::read_object_chunk::Result::Meta(value) => {
            ReadObjectChunkResult::Meta(from_wire_s3_object_meta(value))
        }
        v1::read_object_chunk::Result::Data(value) => ReadObjectChunkResult::Data(value),
    }
}

/// Converts a native `ReadObjectRequest` to its wire message.
pub(crate) fn to_wire_read_object_request(value: ReadObjectRequest) -> v1::ReadObjectRequest {
    v1::ReadObjectRequest {
        r#ref: value.r#ref.map(to_wire_s3_object_ref),
        range: value.range.map(to_wire_byte_range),
        if_match: value.if_match,
        if_none_match: value.if_none_match,
        if_modified_since: value.if_modified_since.map(to_wire_timestamp),
        if_unmodified_since: value.if_unmodified_since.map(to_wire_timestamp),
    }
}

/// Converts a wire `S3ObjectMeta` to its native message.
pub(crate) fn from_wire_s3_object_meta(value: v1::S3ObjectMeta) -> S3ObjectMeta {
    S3ObjectMeta {
        r#ref: value.r#ref.map(from_wire_s3_object_ref),
        etag: value.etag,
        size: value.size,
        content_type: value.content_type,
        last_modified: value.last_modified.map(from_wire_timestamp),
        metadata: value.metadata,
        storage_class: value.storage_class,
    }
}

/// Converts a native `S3ObjectRef` to its wire message.
pub(crate) fn to_wire_s3_object_ref(value: S3ObjectRef) -> v1::S3ObjectRef {
    v1::S3ObjectRef {
        key: value.key,
        version_id: value.version_id,
    }
}

/// Converts a wire `S3ObjectRef` to its native message.
pub(crate) fn from_wire_s3_object_ref(value: v1::S3ObjectRef) -> S3ObjectRef {
    S3ObjectRef {
        key: value.key,
        version_id: value.version_id,
    }
}

/// Converts a native `WriteObjectOpen` to its wire message.
pub(crate) fn to_wire_write_object_open(value: WriteObjectOpen) -> v1::WriteObjectOpen {
    v1::WriteObjectOpen {
        r#ref: value.r#ref.map(to_wire_s3_object_ref),
        content_type: value.content_type,
        cache_control: value.cache_control,
        content_disposition: value.content_disposition,
        content_encoding: value.content_encoding,
        content_language: value.content_language,
        metadata: value.metadata,
        if_match: value.if_match,
        if_none_match: value.if_none_match,
    }
}

/// Converts a native `WriteObjectRequest` to its wire message.
pub(crate) fn to_wire_write_object_request(value: WriteObjectRequest) -> v1::WriteObjectRequest {
    v1::WriteObjectRequest {
        msg: value.msg.map(to_wire_write_object_request_msg),
    }
}

pub(crate) fn to_wire_write_object_request_msg(
    value: WriteObjectRequestMsg,
) -> v1::write_object_request::Msg {
    match value {
        WriteObjectRequestMsg::Open(value) => {
            v1::write_object_request::Msg::Open(to_wire_write_object_open(value))
        }
        WriteObjectRequestMsg::Data(value) => v1::write_object_request::Msg::Data(value),
    }
}

/// Converts a wire `WriteObjectResponse` to its native message.
pub(crate) fn from_wire_write_object_response(
    value: v1::WriteObjectResponse,
) -> WriteObjectResponse {
    WriteObjectResponse {
        meta: value.meta.map(from_wire_s3_object_meta),
    }
}