// @generated by jacquard-lexicon. DO NOT EDIT. // // Lexicon: com.atproto.server.confirmEmail // // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. #[allow(unused_imports)] use alloc::collections::BTreeMap; #[allow(unused_imports)] use core::marker::PhantomData; use jacquard_common::{CowStr, BosStr, DefaultStr, FromStaticStr}; use jacquard_common::deps::smol_str::SmolStr; use jacquard_common::types::value::Data; use jacquard_derive::{IntoStatic, open_union}; use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] #[serde(rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))] pub struct ConfirmEmail { pub email: S, pub token: S, #[serde(flatten, default, skip_serializing_if = "Option::is_none")] pub extra_data: Option>>, } #[derive( Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic )] #[serde(tag = "error", content = "message")] pub enum ConfirmEmailError { #[serde(rename = "AccountNotFound")] AccountNotFound(Option), #[serde(rename = "ExpiredToken")] ExpiredToken(Option), #[serde(rename = "InvalidToken")] InvalidToken(Option), #[serde(rename = "InvalidEmail")] InvalidEmail(Option), /// Catch-all for unknown error codes. #[serde(untagged)] Other { error: SmolStr, message: Option }, } impl core::fmt::Display for ConfirmEmailError { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { match self { Self::AccountNotFound(msg) => { write!(f, "AccountNotFound")?; if let Some(msg) = msg { write!(f, ": {}", msg)?; } Ok(()) } Self::ExpiredToken(msg) => { write!(f, "ExpiredToken")?; if let Some(msg) = msg { write!(f, ": {}", msg)?; } Ok(()) } Self::InvalidToken(msg) => { write!(f, "InvalidToken")?; if let Some(msg) = msg { write!(f, ": {}", msg)?; } Ok(()) } Self::InvalidEmail(msg) => { write!(f, "InvalidEmail")?; if let Some(msg) = msg { write!(f, ": {}", msg)?; } Ok(()) } Self::Other { error, message } => { write!(f, "{}", error)?; if let Some(msg) = message { write!(f, ": {}", msg)?; } Ok(()) } } } } /** Response marker for the `com.atproto.server.confirmEmail` procedure. Implements `jacquard_common::xrpc::XrpcResp`; successful bodies decode as `Self::Output`, which is `()` for this endpoint.*/ pub struct ConfirmEmailResponse; impl jacquard_common::xrpc::XrpcResp for ConfirmEmailResponse { const NSID: &'static str = "com.atproto.server.confirmEmail"; const ENCODING: &'static str = "application/json"; type Output = (); type Err = ConfirmEmailError; } impl jacquard_common::xrpc::XrpcRequest for ConfirmEmail { const NSID: &'static str = "com.atproto.server.confirmEmail"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( "application/json", ); type Response = ConfirmEmailResponse; } /** Endpoint marker for the `com.atproto.server.confirmEmail` procedure. Path: `/xrpc/com.atproto.server.confirmEmail`. The request payload type is `ConfirmEmail`; send that request with `jacquard::Client` or use this marker through lower-level `XrpcEndpoint` APIs.*/ pub struct ConfirmEmailRequest; impl jacquard_common::xrpc::XrpcEndpoint for ConfirmEmailRequest { const PATH: &'static str = "/xrpc/com.atproto.server.confirmEmail"; const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( "application/json", ); type Request = ConfirmEmail; type Response = ConfirmEmailResponse; }