Skip to main content

jacquard_api/chat_bsky/actor/
export_account_data.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: chat.bsky.actor.exportAccountData
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[allow(unused_imports)]
9use alloc::collections::BTreeMap;
10
11#[allow(unused_imports)]
12use core::marker::PhantomData;
13use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
14use jacquard_common::deps::bytes::Bytes;
15use jacquard_common::deps::smol_str::SmolStr;
16use jacquard_common::types::value::Data;
17use jacquard_derive::IntoStatic;
18use serde::{Serialize, Deserialize};
19
20#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
21#[serde(rename_all = "camelCase")]
22pub struct ExportAccountDataOutput {
23    pub body: Bytes,
24}
25
26/** Request marker for the `chat.bsky.actor.exportAccountData` query.
27
28This endpoint has no request parameters or input body; send this marker with `jacquard::Client`.*/
29
30#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Copy)]
31pub struct ExportAccountData;
32/** Response marker for the `chat.bsky.actor.exportAccountData` query.
33
34Implements `jacquard_common::xrpc::XrpcResp`; successful bodies decode as `Self::Output<S>`, which is `ExportAccountDataOutput` for this endpoint.*/
35pub struct ExportAccountDataResponse;
36impl jacquard_common::xrpc::XrpcResp for ExportAccountDataResponse {
37    const NSID: &'static str = "chat.bsky.actor.exportAccountData";
38    const ENCODING: &'static str = "application/jsonl";
39    type Output<S: BosStr> = ExportAccountDataOutput;
40    type Err = jacquard_common::xrpc::GenericError;
41    fn encode_output<S: BosStr>(
42        output: &Self::Output<S>,
43    ) -> Result<Vec<u8>, jacquard_common::xrpc::EncodeError>
44    where
45        Self::Output<S>: Serialize,
46    {
47        Ok(output.body.to_vec())
48    }
49    fn decode_output<'de, S>(
50        body: &'de [u8],
51    ) -> Result<Self::Output<S>, jacquard_common::error::DecodeError>
52    where
53        S: BosStr + Deserialize<'de>,
54        Self::Output<S>: Deserialize<'de>,
55    {
56        Ok(ExportAccountDataOutput {
57            body: jacquard_common::deps::bytes::Bytes::copy_from_slice(body),
58        })
59    }
60}
61
62impl jacquard_common::xrpc::XrpcRequest for ExportAccountData {
63    const NSID: &'static str = "chat.bsky.actor.exportAccountData";
64    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
65    type Response = ExportAccountDataResponse;
66}
67
68/** Endpoint marker for the `chat.bsky.actor.exportAccountData` query.
69
70Path: `/xrpc/chat.bsky.actor.exportAccountData`. The request payload type is `ExportAccountData`; use this marker with lower-level `XrpcEndpoint` APIs when you need endpoint metadata.*/
71pub struct ExportAccountDataRequest;
72impl jacquard_common::xrpc::XrpcEndpoint for ExportAccountDataRequest {
73    const PATH: &'static str = "/xrpc/chat.bsky.actor.exportAccountData";
74    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
75    type Request<S: BosStr> = ExportAccountData;
76    type Response = ExportAccountDataResponse;
77}