1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: com.atproto.server.confirmEmail
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 bon::Builder
17)]
18#[serde(rename_all = "camelCase")]
19#[builder(start_fn = new)]
20pub struct ConfirmEmail<'a> {
21 #[serde(borrow)]
22 #[builder(into)]
23 pub email: jacquard_common::CowStr<'a>,
24 #[serde(borrow)]
25 #[builder(into)]
26 pub token: jacquard_common::CowStr<'a>,
27 #[serde(flatten)]
28 #[serde(borrow)]
29 #[builder(default)]
30 pub extra_data: ::std::collections::BTreeMap<
31 ::jacquard_common::smol_str::SmolStr,
32 ::jacquard_common::types::value::Data<'a>,
33 >,
34}
35
36impl jacquard_common::IntoStatic for ConfirmEmail<'_> {
37 type Output = ConfirmEmail<'static>;
38 fn into_static(self) -> Self::Output {
39 ConfirmEmail {
40 email: self.email.into_static(),
41 token: self.token.into_static(),
42 extra_data: self.extra_data.into_static(),
43 }
44 }
45}
46
47#[jacquard_derive::open_union]
48#[derive(
49 serde::Serialize,
50 serde::Deserialize,
51 Debug,
52 Clone,
53 PartialEq,
54 Eq,
55 thiserror::Error,
56 miette::Diagnostic
57)]
58#[serde(tag = "error", content = "message")]
59#[serde(bound(deserialize = "'de: 'a"))]
60pub enum ConfirmEmailError<'a> {
61 #[serde(rename = "AccountNotFound")]
62 AccountNotFound(std::option::Option<String>),
63 #[serde(rename = "ExpiredToken")]
64 ExpiredToken(std::option::Option<String>),
65 #[serde(rename = "InvalidToken")]
66 InvalidToken(std::option::Option<String>),
67 #[serde(rename = "InvalidEmail")]
68 InvalidEmail(std::option::Option<String>),
69}
70
71impl std::fmt::Display for ConfirmEmailError<'_> {
72 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
73 match self {
74 Self::AccountNotFound(msg) => {
75 write!(f, "AccountNotFound")?;
76 if let Some(msg) = msg {
77 write!(f, ": {}", msg)?;
78 }
79 Ok(())
80 }
81 Self::ExpiredToken(msg) => {
82 write!(f, "ExpiredToken")?;
83 if let Some(msg) = msg {
84 write!(f, ": {}", msg)?;
85 }
86 Ok(())
87 }
88 Self::InvalidToken(msg) => {
89 write!(f, "InvalidToken")?;
90 if let Some(msg) = msg {
91 write!(f, ": {}", msg)?;
92 }
93 Ok(())
94 }
95 Self::InvalidEmail(msg) => {
96 write!(f, "InvalidEmail")?;
97 if let Some(msg) = msg {
98 write!(f, ": {}", msg)?;
99 }
100 Ok(())
101 }
102 Self::Unknown(err) => write!(f, "Unknown error: {:?}", err),
103 }
104 }
105}
106
107impl jacquard_common::IntoStatic for ConfirmEmailError<'_> {
108 type Output = ConfirmEmailError<'static>;
109 fn into_static(self) -> Self::Output {
110 match self {
111 ConfirmEmailError::AccountNotFound(v) => {
112 ConfirmEmailError::AccountNotFound(v.into_static())
113 }
114 ConfirmEmailError::ExpiredToken(v) => {
115 ConfirmEmailError::ExpiredToken(v.into_static())
116 }
117 ConfirmEmailError::InvalidToken(v) => {
118 ConfirmEmailError::InvalidToken(v.into_static())
119 }
120 ConfirmEmailError::InvalidEmail(v) => {
121 ConfirmEmailError::InvalidEmail(v.into_static())
122 }
123 ConfirmEmailError::Unknown(v) => ConfirmEmailError::Unknown(v.into_static()),
124 }
125 }
126}
127
128impl jacquard_common::types::xrpc::XrpcRequest for ConfirmEmail<'_> {
129 const NSID: &'static str = "com.atproto.server.confirmEmail";
130 const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
131 "application/json",
132 );
133 const OUTPUT_ENCODING: &'static str = "application/json";
134 type Output<'de> = ();
135 type Err<'de> = ConfirmEmailError<'de>;
136}