jacquard_api/com_atproto/sync/
get_record.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: com.atproto.sync.getRecord
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 GetRecord<'a> {
21    #[serde(borrow)]
22    pub collection: jacquard_common::types::string::Nsid<'a>,
23    #[serde(borrow)]
24    pub did: jacquard_common::types::string::Did<'a>,
25    #[serde(borrow)]
26    pub rkey: jacquard_common::types::string::RecordKey<
27        jacquard_common::types::string::Rkey<'a>,
28    >,
29}
30
31#[jacquard_derive::lexicon]
32#[derive(
33    serde::Serialize,
34    serde::Deserialize,
35    Debug,
36    Clone,
37    PartialEq,
38    Eq,
39    jacquard_derive::IntoStatic
40)]
41#[serde(rename_all = "camelCase")]
42pub struct GetRecordOutput<'a> {}
43#[jacquard_derive::open_union]
44#[derive(
45    serde::Serialize,
46    serde::Deserialize,
47    Debug,
48    Clone,
49    PartialEq,
50    Eq,
51    thiserror::Error,
52    miette::Diagnostic
53)]
54#[serde(tag = "error", content = "message")]
55#[serde(bound(deserialize = "'de: 'a"))]
56pub enum GetRecordError<'a> {
57    #[serde(rename = "RecordNotFound")]
58    RecordNotFound(std::option::Option<String>),
59    #[serde(rename = "RepoNotFound")]
60    RepoNotFound(std::option::Option<String>),
61    #[serde(rename = "RepoTakendown")]
62    RepoTakendown(std::option::Option<String>),
63    #[serde(rename = "RepoSuspended")]
64    RepoSuspended(std::option::Option<String>),
65    #[serde(rename = "RepoDeactivated")]
66    RepoDeactivated(std::option::Option<String>),
67}
68
69impl std::fmt::Display for GetRecordError<'_> {
70    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
71        match self {
72            Self::RecordNotFound(msg) => {
73                write!(f, "RecordNotFound")?;
74                if let Some(msg) = msg {
75                    write!(f, ": {}", msg)?;
76                }
77                Ok(())
78            }
79            Self::RepoNotFound(msg) => {
80                write!(f, "RepoNotFound")?;
81                if let Some(msg) = msg {
82                    write!(f, ": {}", msg)?;
83                }
84                Ok(())
85            }
86            Self::RepoTakendown(msg) => {
87                write!(f, "RepoTakendown")?;
88                if let Some(msg) = msg {
89                    write!(f, ": {}", msg)?;
90                }
91                Ok(())
92            }
93            Self::RepoSuspended(msg) => {
94                write!(f, "RepoSuspended")?;
95                if let Some(msg) = msg {
96                    write!(f, ": {}", msg)?;
97                }
98                Ok(())
99            }
100            Self::RepoDeactivated(msg) => {
101                write!(f, "RepoDeactivated")?;
102                if let Some(msg) = msg {
103                    write!(f, ": {}", msg)?;
104                }
105                Ok(())
106            }
107            Self::Unknown(err) => write!(f, "Unknown error: {:?}", err),
108        }
109    }
110}
111
112impl jacquard_common::IntoStatic for GetRecordError<'_> {
113    type Output = GetRecordError<'static>;
114    fn into_static(self) -> Self::Output {
115        match self {
116            GetRecordError::RecordNotFound(v) => {
117                GetRecordError::RecordNotFound(v.into_static())
118            }
119            GetRecordError::RepoNotFound(v) => {
120                GetRecordError::RepoNotFound(v.into_static())
121            }
122            GetRecordError::RepoTakendown(v) => {
123                GetRecordError::RepoTakendown(v.into_static())
124            }
125            GetRecordError::RepoSuspended(v) => {
126                GetRecordError::RepoSuspended(v.into_static())
127            }
128            GetRecordError::RepoDeactivated(v) => {
129                GetRecordError::RepoDeactivated(v.into_static())
130            }
131            GetRecordError::Unknown(v) => GetRecordError::Unknown(v.into_static()),
132        }
133    }
134}
135
136///Response type for
137///com.atproto.sync.getRecord
138pub struct GetRecordResponse;
139impl jacquard_common::xrpc::XrpcResp for GetRecordResponse {
140    const NSID: &'static str = "com.atproto.sync.getRecord";
141    const ENCODING: &'static str = "application/vnd.ipld.car";
142    type Output<'de> = GetRecordOutput<'de>;
143    type Err<'de> = GetRecordError<'de>;
144}
145
146impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetRecord<'de> {
147    const NSID: &'static str = "com.atproto.sync.getRecord";
148    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
149    type Response = GetRecordResponse;
150}
151
152///Endpoint type for
153///com.atproto.sync.getRecord
154pub struct GetRecordRequest;
155impl jacquard_common::xrpc::XrpcEndpoint for GetRecordRequest {
156    const PATH: &'static str = "/xrpc/com.atproto.sync.getRecord";
157    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
158    type Request<'de> = GetRecord<'de>;
159    type Response = GetRecordResponse;
160}