A better Rust ATProto crate
at oauth 4.1 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(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] 10#[serde(rename_all = "camelCase")] 11pub struct Contact<'a> { 12 #[serde(skip_serializing_if = "std::option::Option::is_none")] 13 #[serde(borrow)] 14 pub email: std::option::Option<jacquard_common::CowStr<'a>>, 15} 16 17impl jacquard_common::IntoStatic for Contact<'_> { 18 type Output = Contact<'static>; 19 fn into_static(self) -> Self::Output { 20 Contact { 21 email: self.email.into_static(), 22 extra_data: self.extra_data.into_static(), 23 } 24 } 25} 26 27#[jacquard_derive::lexicon] 28#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] 29#[serde(rename_all = "camelCase")] 30pub struct Links<'a> { 31 #[serde(skip_serializing_if = "std::option::Option::is_none")] 32 #[serde(borrow)] 33 pub privacy_policy: std::option::Option<jacquard_common::types::string::Uri<'a>>, 34 #[serde(skip_serializing_if = "std::option::Option::is_none")] 35 #[serde(borrow)] 36 pub terms_of_service: std::option::Option<jacquard_common::types::string::Uri<'a>>, 37} 38 39impl jacquard_common::IntoStatic for Links<'_> { 40 type Output = Links<'static>; 41 fn into_static(self) -> Self::Output { 42 Links { 43 privacy_policy: self.privacy_policy.into_static(), 44 terms_of_service: self.terms_of_service.into_static(), 45 extra_data: self.extra_data.into_static(), 46 } 47 } 48} 49 50#[jacquard_derive::lexicon] 51#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] 52#[serde(rename_all = "camelCase")] 53pub struct DescribeServerOutput<'a> { 54 ///List of domain suffixes that can be used in account handles. 55 #[serde(borrow)] 56 pub available_user_domains: Vec<jacquard_common::CowStr<'a>>, 57 ///Contact information 58 #[serde(skip_serializing_if = "std::option::Option::is_none")] 59 #[serde(borrow)] 60 pub contact: std::option::Option<jacquard_common::types::value::Data<'a>>, 61 #[serde(borrow)] 62 pub did: jacquard_common::types::string::Did<'a>, 63 ///If true, an invite code must be supplied to create an account on this instance. 64 #[serde(skip_serializing_if = "std::option::Option::is_none")] 65 pub invite_code_required: std::option::Option<bool>, 66 ///URLs of service policy documents. 67 #[serde(skip_serializing_if = "std::option::Option::is_none")] 68 #[serde(borrow)] 69 pub links: std::option::Option<jacquard_common::types::value::Data<'a>>, 70 ///If true, a phone verification token must be supplied to create an account on this instance. 71 #[serde(skip_serializing_if = "std::option::Option::is_none")] 72 pub phone_verification_required: std::option::Option<bool>, 73} 74 75impl jacquard_common::IntoStatic for DescribeServerOutput<'_> { 76 type Output = DescribeServerOutput<'static>; 77 fn into_static(self) -> Self::Output { 78 DescribeServerOutput { 79 available_user_domains: self.available_user_domains.into_static(), 80 contact: self.contact.into_static(), 81 did: self.did.into_static(), 82 invite_code_required: self.invite_code_required.into_static(), 83 links: self.links.into_static(), 84 phone_verification_required: self.phone_verification_required.into_static(), 85 extra_data: self.extra_data.into_static(), 86 } 87 } 88} 89 90/// XRPC request marker type 91#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)] 92pub struct DescribeServer; 93impl jacquard_common::types::xrpc::XrpcRequest for DescribeServer { 94 const NSID: &'static str = "com.atproto.server.describeServer"; 95 const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query; 96 const OUTPUT_ENCODING: &'static str = "application/json"; 97 type Output<'de> = DescribeServerOutput<'de>; 98 type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>; 99}