A better Rust ATProto crate
at oauth 1.7 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: com.atproto.repo.uploadBlob 4// 5// This file was automatically generated from Lexicon schemas. 6// Any manual changes will be overwritten on the next regeneration. 7 8#[derive( 9 serde::Serialize, 10 serde::Deserialize, 11 Debug, 12 Clone, 13 PartialEq, 14 Eq, 15 bon::Builder 16)] 17#[builder(start_fn = new)] 18#[serde(rename_all = "camelCase")] 19pub struct UploadBlob { 20 pub body: bytes::Bytes, 21} 22 23impl jacquard_common::IntoStatic for UploadBlob { 24 type Output = UploadBlob; 25 fn into_static(self) -> Self::Output { 26 self 27 } 28} 29 30#[jacquard_derive::lexicon] 31#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] 32#[serde(rename_all = "camelCase")] 33pub struct UploadBlobOutput<'a> { 34 #[serde(borrow)] 35 pub blob: jacquard_common::types::blob::Blob<'a>, 36} 37 38impl jacquard_common::IntoStatic for UploadBlobOutput<'_> { 39 type Output = UploadBlobOutput<'static>; 40 fn into_static(self) -> Self::Output { 41 UploadBlobOutput { 42 blob: self.blob.into_static(), 43 extra_data: self.extra_data.into_static(), 44 } 45 } 46} 47 48impl jacquard_common::types::xrpc::XrpcRequest for UploadBlob { 49 const NSID: &'static str = "com.atproto.repo.uploadBlob"; 50 const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure( 51 "*/*", 52 ); 53 const OUTPUT_ENCODING: &'static str = "application/json"; 54 type Output<'de> = UploadBlobOutput<'de>; 55 type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>; 56 fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::types::xrpc::EncodeError> { 57 Ok(self.body.to_vec()) 58 } 59}