// @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, jacquard_derive::IntoStatic, Default )] #[serde(rename_all = "camelCase")] pub struct Contact<'a> { #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub email: std::option::Option>, } #[jacquard_derive::lexicon] #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic, Default )] #[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>, } #[jacquard_derive::lexicon] #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic )] #[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, } /// XRPC request marker type #[derive( Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize, jacquard_derive::IntoStatic )] pub struct DescribeServer; ///Response type for ///com.atproto.server.describeServer pub struct DescribeServerResponse; impl jacquard_common::xrpc::XrpcResp for DescribeServerResponse { const NSID: &'static str = "com.atproto.server.describeServer"; const ENCODING: &'static str = "application/json"; type Output<'de> = DescribeServerOutput<'de>; type Err<'de> = jacquard_common::xrpc::GenericError<'de>; } impl jacquard_common::xrpc::XrpcRequest for DescribeServer { const NSID: &'static str = "com.atproto.server.describeServer"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Response = DescribeServerResponse; } ///Endpoint type for ///com.atproto.server.describeServer pub struct DescribeServerRequest; impl jacquard_common::xrpc::XrpcEndpoint for DescribeServerRequest { const PATH: &'static str = "/xrpc/com.atproto.server.describeServer"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; type Request<'de> = DescribeServer; type Response = DescribeServerResponse; }