// @generated by jacquard-lexicon. DO NOT EDIT. // // Lexicon: com.atproto.server.describeServer // // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. #[jacquard_derive::lexicon] #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct Contact<'a> { #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub email: std::option::Option>, } impl jacquard_common::IntoStatic for Contact<'_> { type Output = Contact<'static>; fn into_static(self) -> Self::Output { Contact { email: self.email.into_static(), extra_data: self.extra_data.into_static(), } } } #[jacquard_derive::lexicon] #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct Links<'a> { #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub privacy_policy: std::option::Option>, #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub terms_of_service: std::option::Option>, } impl jacquard_common::IntoStatic for Links<'_> { type Output = Links<'static>; fn into_static(self) -> Self::Output { Links { privacy_policy: self.privacy_policy.into_static(), terms_of_service: self.terms_of_service.into_static(), extra_data: self.extra_data.into_static(), } } } #[jacquard_derive::lexicon] #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct DescribeServerOutput<'a> { ///List of domain suffixes that can be used in account handles. #[serde(borrow)] pub available_user_domains: Vec>, ///Contact information #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub contact: std::option::Option>, #[serde(borrow)] pub did: jacquard_common::types::string::Did<'a>, ///If true, an invite code must be supplied to create an account on this instance. #[serde(skip_serializing_if = "std::option::Option::is_none")] pub invite_code_required: std::option::Option, ///URLs of service policy documents. #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub links: std::option::Option>, ///If true, a phone verification token must be supplied to create an account on this instance. #[serde(skip_serializing_if = "std::option::Option::is_none")] pub phone_verification_required: std::option::Option, } impl jacquard_common::IntoStatic for DescribeServerOutput<'_> { type Output = DescribeServerOutput<'static>; fn into_static(self) -> Self::Output { DescribeServerOutput { available_user_domains: self.available_user_domains.into_static(), contact: self.contact.into_static(), did: self.did.into_static(), invite_code_required: self.invite_code_required.into_static(), links: self.links.into_static(), phone_verification_required: self.phone_verification_required.into_static(), extra_data: self.extra_data.into_static(), } } } /// XRPC request marker type #[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)] pub struct DescribeServer; impl jacquard_common::types::xrpc::XrpcRequest for DescribeServer { const NSID: &'static str = "com.atproto.server.describeServer"; const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query; const OUTPUT_ENCODING: &'static str = "application/json"; type Output<'de> = DescribeServerOutput<'de>; type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>; }