// @generated by jacquard-lexicon. DO NOT EDIT. // // Lexicon: com.atproto.repo.uploadBlob // // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder, jacquard_derive::IntoStatic )] #[builder(start_fn = new)] #[serde(rename_all = "camelCase")] pub struct UploadBlob { pub body: bytes::Bytes, } #[jacquard_derive::lexicon] #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic )] #[serde(rename_all = "camelCase")] pub struct UploadBlobOutput<'a> { #[serde(borrow)] pub blob: jacquard_common::types::blob::Blob<'a>, } ///Response type for ///com.atproto.repo.uploadBlob pub struct UploadBlobResponse; impl jacquard_common::xrpc::XrpcResp for UploadBlobResponse { const NSID: &'static str = "com.atproto.repo.uploadBlob"; const ENCODING: &'static str = "application/json"; type Output<'de> = UploadBlobOutput<'de>; type Err<'de> = jacquard_common::xrpc::GenericError<'de>; } impl jacquard_common::xrpc::XrpcRequest for UploadBlob { const NSID: &'static str = "com.atproto.repo.uploadBlob"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( "*/*", ); type Response = UploadBlobResponse; fn encode_body(&self) -> Result, jacquard_common::xrpc::EncodeError> { Ok(self.body.to_vec()) } fn decode_body<'de>( body: &'de [u8], ) -> Result, jacquard_common::error::DecodeError> where Self: serde::Deserialize<'de>, { Ok( Box::new(Self { body: bytes::Bytes::copy_from_slice(body), }), ) } } ///Endpoint type for ///com.atproto.repo.uploadBlob pub struct UploadBlobRequest; impl jacquard_common::xrpc::XrpcEndpoint for UploadBlobRequest { const PATH: &'static str = "/xrpc/com.atproto.repo.uploadBlob"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( "*/*", ); type Request<'de> = UploadBlob; type Response = UploadBlobResponse; }