jacquard_api/com_atproto/sync/
get_head.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: com.atproto.sync.getHead
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    jacquard_derive::IntoStatic
17)]
18#[builder(start_fn = new)]
19#[serde(rename_all = "camelCase")]
20pub struct GetHead<'a> {
21    #[serde(borrow)]
22    pub did: jacquard_common::types::string::Did<'a>,
23}
24
25#[jacquard_derive::lexicon]
26#[derive(
27    serde::Serialize,
28    serde::Deserialize,
29    Debug,
30    Clone,
31    PartialEq,
32    Eq,
33    jacquard_derive::IntoStatic
34)]
35#[serde(rename_all = "camelCase")]
36pub struct GetHeadOutput<'a> {
37    #[serde(borrow)]
38    pub root: jacquard_common::types::string::Cid<'a>,
39}
40
41#[jacquard_derive::open_union]
42#[derive(
43    serde::Serialize,
44    serde::Deserialize,
45    Debug,
46    Clone,
47    PartialEq,
48    Eq,
49    thiserror::Error,
50    miette::Diagnostic,
51    jacquard_derive::IntoStatic
52)]
53#[serde(tag = "error", content = "message")]
54#[serde(bound(deserialize = "'de: 'a"))]
55pub enum GetHeadError<'a> {
56    #[serde(rename = "HeadNotFound")]
57    HeadNotFound(std::option::Option<String>),
58}
59
60impl std::fmt::Display for GetHeadError<'_> {
61    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
62        match self {
63            Self::HeadNotFound(msg) => {
64                write!(f, "HeadNotFound")?;
65                if let Some(msg) = msg {
66                    write!(f, ": {}", msg)?;
67                }
68                Ok(())
69            }
70            Self::Unknown(err) => write!(f, "Unknown error: {:?}", err),
71        }
72    }
73}
74
75///Response type for
76///com.atproto.sync.getHead
77pub struct GetHeadResponse;
78impl jacquard_common::xrpc::XrpcResp for GetHeadResponse {
79    const NSID: &'static str = "com.atproto.sync.getHead";
80    const ENCODING: &'static str = "application/json";
81    type Output<'de> = GetHeadOutput<'de>;
82    type Err<'de> = GetHeadError<'de>;
83}
84
85impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetHead<'de> {
86    const NSID: &'static str = "com.atproto.sync.getHead";
87    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
88    type Response = GetHeadResponse;
89}
90
91///Endpoint type for
92///com.atproto.sync.getHead
93pub struct GetHeadRequest;
94impl jacquard_common::xrpc::XrpcEndpoint for GetHeadRequest {
95    const PATH: &'static str = "/xrpc/com.atproto.sync.getHead";
96    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
97    type Request<'de> = GetHead<'de>;
98    type Response = GetHeadResponse;
99}