atproto blogging
at main 338 lines 12 kB view raw
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}