atproto blogging
1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: tools.ozone.server.getConfig
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[jacquard_derive::lexicon]
9#[derive(
10 serde::Serialize,
11 serde::Deserialize,
12 Debug,
13 Clone,
14 PartialEq,
15 Eq,
16 jacquard_derive::IntoStatic,
17 Default
18)]
19#[serde(rename_all = "camelCase")]
20pub struct GetConfigOutput<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23 pub appview: std::option::Option<
24 crate::tools_ozone::server::get_config::ServiceConfig<'a>,
25 >,
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28 pub blob_divert: std::option::Option<
29 crate::tools_ozone::server::get_config::ServiceConfig<'a>,
30 >,
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33 pub chat: std::option::Option<
34 crate::tools_ozone::server::get_config::ServiceConfig<'a>,
35 >,
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38 pub pds: std::option::Option<
39 crate::tools_ozone::server::get_config::ServiceConfig<'a>,
40 >,
41 /// The did of the verifier used for verification.
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44 pub verifier_did: std::option::Option<jacquard_common::types::string::Did<'a>>,
45 #[serde(skip_serializing_if = "std::option::Option::is_none")]
46 #[serde(borrow)]
47 pub viewer: std::option::Option<
48 crate::tools_ozone::server::get_config::ViewerConfig<'a>,
49 >,
50}
51
52/// XRPC request marker type
53#[derive(
54 Debug,
55 Clone,
56 Copy,
57 PartialEq,
58 Eq,
59 serde::Serialize,
60 serde::Deserialize,
61 jacquard_derive::IntoStatic
62)]
63pub struct GetConfig;
64/// Response type for
65///tools.ozone.server.getConfig
66pub struct GetConfigResponse;
67impl jacquard_common::xrpc::XrpcResp for GetConfigResponse {
68 const NSID: &'static str = "tools.ozone.server.getConfig";
69 const ENCODING: &'static str = "application/json";
70 type Output<'de> = GetConfigOutput<'de>;
71 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
72}
73
74impl jacquard_common::xrpc::XrpcRequest for GetConfig {
75 const NSID: &'static str = "tools.ozone.server.getConfig";
76 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
77 type Response = GetConfigResponse;
78}
79
80/// Endpoint type for
81///tools.ozone.server.getConfig
82pub struct GetConfigRequest;
83impl jacquard_common::xrpc::XrpcEndpoint for GetConfigRequest {
84 const PATH: &'static str = "/xrpc/tools.ozone.server.getConfig";
85 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
86 type Request<'de> = GetConfig;
87 type Response = GetConfigResponse;
88}
89
90#[jacquard_derive::lexicon]
91#[derive(
92 serde::Serialize,
93 serde::Deserialize,
94 Debug,
95 Clone,
96 PartialEq,
97 Eq,
98 jacquard_derive::IntoStatic,
99 Default
100)]
101#[serde(rename_all = "camelCase")]
102pub struct ServiceConfig<'a> {
103 #[serde(skip_serializing_if = "std::option::Option::is_none")]
104 #[serde(borrow)]
105 pub url: std::option::Option<jacquard_common::types::string::Uri<'a>>,
106}
107
108fn lexicon_doc_tools_ozone_server_getConfig() -> ::jacquard_lexicon::lexicon::LexiconDoc<
109 'static,
110> {
111 ::jacquard_lexicon::lexicon::LexiconDoc {
112 lexicon: ::jacquard_lexicon::lexicon::Lexicon::Lexicon1,
113 id: ::jacquard_common::CowStr::new_static("tools.ozone.server.getConfig"),
114 revision: None,
115 description: None,
116 defs: {
117 let mut map = ::alloc::collections::BTreeMap::new();
118 map.insert(
119 ::jacquard_common::smol_str::SmolStr::new_static("main"),
120 ::jacquard_lexicon::lexicon::LexUserType::XrpcQuery(::jacquard_lexicon::lexicon::LexXrpcQuery {
121 description: None,
122 parameters: None,
123 output: None,
124 errors: None,
125 }),
126 );
127 map.insert(
128 ::jacquard_common::smol_str::SmolStr::new_static("serviceConfig"),
129 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
130 description: None,
131 required: None,
132 nullable: None,
133 properties: {
134 #[allow(unused_mut)]
135 let mut map = ::alloc::collections::BTreeMap::new();
136 map.insert(
137 ::jacquard_common::smol_str::SmolStr::new_static("url"),
138 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
139 description: None,
140 format: Some(
141 ::jacquard_lexicon::lexicon::LexStringFormat::Uri,
142 ),
143 default: None,
144 min_length: None,
145 max_length: None,
146 min_graphemes: None,
147 max_graphemes: None,
148 r#enum: None,
149 r#const: None,
150 known_values: None,
151 }),
152 );
153 map
154 },
155 }),
156 );
157 map.insert(
158 ::jacquard_common::smol_str::SmolStr::new_static("viewerConfig"),
159 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
160 description: None,
161 required: None,
162 nullable: None,
163 properties: {
164 #[allow(unused_mut)]
165 let mut map = ::alloc::collections::BTreeMap::new();
166 map.insert(
167 ::jacquard_common::smol_str::SmolStr::new_static("role"),
168 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
169 description: None,
170 format: None,
171 default: None,
172 min_length: None,
173 max_length: None,
174 min_graphemes: None,
175 max_graphemes: None,
176 r#enum: None,
177 r#const: None,
178 known_values: None,
179 }),
180 );
181 map
182 },
183 }),
184 );
185 map
186 },
187 }
188}
189
190impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ServiceConfig<'a> {
191 fn nsid() -> &'static str {
192 "tools.ozone.server.getConfig"
193 }
194 fn def_name() -> &'static str {
195 "serviceConfig"
196 }
197 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
198 lexicon_doc_tools_ozone_server_getConfig()
199 }
200 fn validate(
201 &self,
202 ) -> ::core::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
203 Ok(())
204 }
205}
206
207#[jacquard_derive::lexicon]
208#[derive(
209 serde::Serialize,
210 serde::Deserialize,
211 Debug,
212 Clone,
213 PartialEq,
214 Eq,
215 jacquard_derive::IntoStatic,
216 Default
217)]
218#[serde(rename_all = "camelCase")]
219pub struct ViewerConfig<'a> {
220 #[serde(skip_serializing_if = "std::option::Option::is_none")]
221 #[serde(borrow)]
222 pub role: std::option::Option<ViewerConfigRole<'a>>,
223}
224
225#[derive(Debug, Clone, PartialEq, Eq, Hash)]
226pub enum ViewerConfigRole<'a> {
227 RoleAdmin,
228 RoleModerator,
229 RoleTriage,
230 RoleVerifier,
231 Other(jacquard_common::CowStr<'a>),
232}
233
234impl<'a> ViewerConfigRole<'a> {
235 pub fn as_str(&self) -> &str {
236 match self {
237 Self::RoleAdmin => "tools.ozone.team.defs#roleAdmin",
238 Self::RoleModerator => "tools.ozone.team.defs#roleModerator",
239 Self::RoleTriage => "tools.ozone.team.defs#roleTriage",
240 Self::RoleVerifier => "tools.ozone.team.defs#roleVerifier",
241 Self::Other(s) => s.as_ref(),
242 }
243 }
244}
245
246impl<'a> From<&'a str> for ViewerConfigRole<'a> {
247 fn from(s: &'a str) -> Self {
248 match s {
249 "tools.ozone.team.defs#roleAdmin" => Self::RoleAdmin,
250 "tools.ozone.team.defs#roleModerator" => Self::RoleModerator,
251 "tools.ozone.team.defs#roleTriage" => Self::RoleTriage,
252 "tools.ozone.team.defs#roleVerifier" => Self::RoleVerifier,
253 _ => Self::Other(jacquard_common::CowStr::from(s)),
254 }
255 }
256}
257
258impl<'a> From<String> for ViewerConfigRole<'a> {
259 fn from(s: String) -> Self {
260 match s.as_str() {
261 "tools.ozone.team.defs#roleAdmin" => Self::RoleAdmin,
262 "tools.ozone.team.defs#roleModerator" => Self::RoleModerator,
263 "tools.ozone.team.defs#roleTriage" => Self::RoleTriage,
264 "tools.ozone.team.defs#roleVerifier" => Self::RoleVerifier,
265 _ => Self::Other(jacquard_common::CowStr::from(s)),
266 }
267 }
268}
269
270impl<'a> core::fmt::Display for ViewerConfigRole<'a> {
271 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
272 write!(f, "{}", self.as_str())
273 }
274}
275
276impl<'a> AsRef<str> for ViewerConfigRole<'a> {
277 fn as_ref(&self) -> &str {
278 self.as_str()
279 }
280}
281
282impl<'a> serde::Serialize for ViewerConfigRole<'a> {
283 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
284 where
285 S: serde::Serializer,
286 {
287 serializer.serialize_str(self.as_str())
288 }
289}
290
291impl<'de, 'a> serde::Deserialize<'de> for ViewerConfigRole<'a>
292where
293 'de: 'a,
294{
295 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
296 where
297 D: serde::Deserializer<'de>,
298 {
299 let s = <&'de str>::deserialize(deserializer)?;
300 Ok(Self::from(s))
301 }
302}
303
304impl<'a> Default for ViewerConfigRole<'a> {
305 fn default() -> Self {
306 Self::Other(Default::default())
307 }
308}
309
310impl jacquard_common::IntoStatic for ViewerConfigRole<'_> {
311 type Output = ViewerConfigRole<'static>;
312 fn into_static(self) -> Self::Output {
313 match self {
314 ViewerConfigRole::RoleAdmin => ViewerConfigRole::RoleAdmin,
315 ViewerConfigRole::RoleModerator => ViewerConfigRole::RoleModerator,
316 ViewerConfigRole::RoleTriage => ViewerConfigRole::RoleTriage,
317 ViewerConfigRole::RoleVerifier => ViewerConfigRole::RoleVerifier,
318 ViewerConfigRole::Other(v) => ViewerConfigRole::Other(v.into_static()),
319 }
320 }
321}
322
323impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ViewerConfig<'a> {
324 fn nsid() -> &'static str {
325 "tools.ozone.server.getConfig"
326 }
327 fn def_name() -> &'static str {
328 "viewerConfig"
329 }
330 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
331 lexicon_doc_tools_ozone_server_getConfig()
332 }
333 fn validate(
334 &self,
335 ) -> ::core::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
336 Ok(())
337 }
338}