Skip to main content

xmtp_api_backend/endpoints/backend/
create_upload.rs

1use prost::{Message, bytes::Bytes};
2use std::borrow::Cow;
3use xmtp_proto::{
4    api::{BodyError, Endpoint},
5    backend_v1,
6};
7
8/// Ask the backend for a signed request to store one ciphertext.
9#[derive(Clone, Debug, Default)]
10pub struct CreateUpload(pub backend_v1::CreateUploadRequest);
11
12pub const CREATE_UPLOAD_PATH: &str = "/xmtp.backend.v1.AttachmentService/CreateUpload";
13
14impl Endpoint for CreateUpload {
15    type Output = backend_v1::CreateUploadResponse;
16
17    fn grpc_endpoint(&self) -> Cow<'static, str> {
18        CREATE_UPLOAD_PATH.into()
19    }
20
21    fn body(&self) -> Result<Bytes, BodyError> {
22        Ok(self.0.encode_to_vec().into())
23    }
24}