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