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}