atproto blogging
at main 257 lines 9.6 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: com.atproto.server.describeServer 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 Contact<'a> { 21 #[serde(skip_serializing_if = "std::option::Option::is_none")] 22 #[serde(borrow)] 23 pub email: std::option::Option<jacquard_common::CowStr<'a>>, 24} 25 26fn lexicon_doc_com_atproto_server_describeServer() -> ::jacquard_lexicon::lexicon::LexiconDoc< 27 'static, 28> { 29 ::jacquard_lexicon::lexicon::LexiconDoc { 30 lexicon: ::jacquard_lexicon::lexicon::Lexicon::Lexicon1, 31 id: ::jacquard_common::CowStr::new_static("com.atproto.server.describeServer"), 32 revision: None, 33 description: None, 34 defs: { 35 let mut map = ::alloc::collections::BTreeMap::new(); 36 map.insert( 37 ::jacquard_common::smol_str::SmolStr::new_static("contact"), 38 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject { 39 description: None, 40 required: None, 41 nullable: None, 42 properties: { 43 #[allow(unused_mut)] 44 let mut map = ::alloc::collections::BTreeMap::new(); 45 map.insert( 46 ::jacquard_common::smol_str::SmolStr::new_static("email"), 47 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString { 48 description: None, 49 format: None, 50 default: None, 51 min_length: None, 52 max_length: None, 53 min_graphemes: None, 54 max_graphemes: None, 55 r#enum: None, 56 r#const: None, 57 known_values: None, 58 }), 59 ); 60 map 61 }, 62 }), 63 ); 64 map.insert( 65 ::jacquard_common::smol_str::SmolStr::new_static("links"), 66 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject { 67 description: None, 68 required: None, 69 nullable: None, 70 properties: { 71 #[allow(unused_mut)] 72 let mut map = ::alloc::collections::BTreeMap::new(); 73 map.insert( 74 ::jacquard_common::smol_str::SmolStr::new_static( 75 "privacyPolicy", 76 ), 77 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString { 78 description: None, 79 format: Some( 80 ::jacquard_lexicon::lexicon::LexStringFormat::Uri, 81 ), 82 default: None, 83 min_length: None, 84 max_length: None, 85 min_graphemes: None, 86 max_graphemes: None, 87 r#enum: None, 88 r#const: None, 89 known_values: None, 90 }), 91 ); 92 map.insert( 93 ::jacquard_common::smol_str::SmolStr::new_static( 94 "termsOfService", 95 ), 96 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString { 97 description: None, 98 format: Some( 99 ::jacquard_lexicon::lexicon::LexStringFormat::Uri, 100 ), 101 default: None, 102 min_length: None, 103 max_length: None, 104 min_graphemes: None, 105 max_graphemes: None, 106 r#enum: None, 107 r#const: None, 108 known_values: None, 109 }), 110 ); 111 map 112 }, 113 }), 114 ); 115 map.insert( 116 ::jacquard_common::smol_str::SmolStr::new_static("main"), 117 ::jacquard_lexicon::lexicon::LexUserType::XrpcQuery(::jacquard_lexicon::lexicon::LexXrpcQuery { 118 description: None, 119 parameters: None, 120 output: None, 121 errors: None, 122 }), 123 ); 124 map 125 }, 126 } 127} 128 129impl<'a> ::jacquard_lexicon::schema::LexiconSchema for Contact<'a> { 130 fn nsid() -> &'static str { 131 "com.atproto.server.describeServer" 132 } 133 fn def_name() -> &'static str { 134 "contact" 135 } 136 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> { 137 lexicon_doc_com_atproto_server_describeServer() 138 } 139 fn validate( 140 &self, 141 ) -> ::core::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> { 142 Ok(()) 143 } 144} 145 146#[jacquard_derive::lexicon] 147#[derive( 148 serde::Serialize, 149 serde::Deserialize, 150 Debug, 151 Clone, 152 PartialEq, 153 Eq, 154 jacquard_derive::IntoStatic, 155 Default 156)] 157#[serde(rename_all = "camelCase")] 158pub struct Links<'a> { 159 #[serde(skip_serializing_if = "std::option::Option::is_none")] 160 #[serde(borrow)] 161 pub privacy_policy: std::option::Option<jacquard_common::types::string::Uri<'a>>, 162 #[serde(skip_serializing_if = "std::option::Option::is_none")] 163 #[serde(borrow)] 164 pub terms_of_service: std::option::Option<jacquard_common::types::string::Uri<'a>>, 165} 166 167impl<'a> ::jacquard_lexicon::schema::LexiconSchema for Links<'a> { 168 fn nsid() -> &'static str { 169 "com.atproto.server.describeServer" 170 } 171 fn def_name() -> &'static str { 172 "links" 173 } 174 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> { 175 lexicon_doc_com_atproto_server_describeServer() 176 } 177 fn validate( 178 &self, 179 ) -> ::core::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> { 180 Ok(()) 181 } 182} 183 184#[jacquard_derive::lexicon] 185#[derive( 186 serde::Serialize, 187 serde::Deserialize, 188 Debug, 189 Clone, 190 PartialEq, 191 Eq, 192 jacquard_derive::IntoStatic 193)] 194#[serde(rename_all = "camelCase")] 195pub struct DescribeServerOutput<'a> { 196 /// List of domain suffixes that can be used in account handles. 197 #[serde(borrow)] 198 pub available_user_domains: Vec<jacquard_common::CowStr<'a>>, 199 /// Contact information 200 #[serde(skip_serializing_if = "std::option::Option::is_none")] 201 #[serde(borrow)] 202 pub contact: std::option::Option< 203 crate::com_atproto::server::describe_server::Contact<'a>, 204 >, 205 #[serde(borrow)] 206 pub did: jacquard_common::types::string::Did<'a>, 207 /// If true, an invite code must be supplied to create an account on this instance. 208 #[serde(skip_serializing_if = "std::option::Option::is_none")] 209 pub invite_code_required: std::option::Option<bool>, 210 /// URLs of service policy documents. 211 #[serde(skip_serializing_if = "std::option::Option::is_none")] 212 #[serde(borrow)] 213 pub links: std::option::Option< 214 crate::com_atproto::server::describe_server::Links<'a>, 215 >, 216 /// If true, a phone verification token must be supplied to create an account on this instance. 217 #[serde(skip_serializing_if = "std::option::Option::is_none")] 218 pub phone_verification_required: std::option::Option<bool>, 219} 220 221/// XRPC request marker type 222#[derive( 223 Debug, 224 Clone, 225 Copy, 226 PartialEq, 227 Eq, 228 serde::Serialize, 229 serde::Deserialize, 230 jacquard_derive::IntoStatic 231)] 232pub struct DescribeServer; 233/// Response type for 234///com.atproto.server.describeServer 235pub struct DescribeServerResponse; 236impl jacquard_common::xrpc::XrpcResp for DescribeServerResponse { 237 const NSID: &'static str = "com.atproto.server.describeServer"; 238 const ENCODING: &'static str = "application/json"; 239 type Output<'de> = DescribeServerOutput<'de>; 240 type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 241} 242 243impl jacquard_common::xrpc::XrpcRequest for DescribeServer { 244 const NSID: &'static str = "com.atproto.server.describeServer"; 245 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 246 type Response = DescribeServerResponse; 247} 248 249/// Endpoint type for 250///com.atproto.server.describeServer 251pub struct DescribeServerRequest; 252impl jacquard_common::xrpc::XrpcEndpoint for DescribeServerRequest { 253 const PATH: &'static str = "/xrpc/com.atproto.server.describeServer"; 254 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 255 type Request<'de> = DescribeServer; 256 type Response = DescribeServerResponse; 257}