steam_user/types/
email.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7pub struct WizardPageParams {
8 pub session_id: String,
10 pub issue: WizardIssue,
12 pub default_params: WizardDefaultParams,
14}
15
16#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18pub struct WizardIssue {
19 pub s: String,
21 pub reset: String,
23 pub lost: String,
25 pub method: String,
27 pub issueid: String,
29}
30
31#[derive(Debug, Clone, Default, Serialize, Deserialize)]
33pub struct WizardDefaultParams {
34 #[serde(skip_serializing_if = "Option::is_none")]
36 pub account: Option<u32>,
37 #[serde(skip_serializing_if = "Option::is_none")]
39 pub wizard: Option<String>,
40 #[serde(flatten)]
42 pub extra: std::collections::HashMap<String, String>,
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(tag = "status", content = "message")]
48pub enum ChangeEmailResult {
49 Success,
51 Error(String),
53}
54
55impl ChangeEmailResult {
56 pub fn is_success(&self) -> bool {
58 matches!(self, ChangeEmailResult::Success)
59 }
60
61 pub fn error_message(&self) -> Option<&str> {
63 match self {
64 ChangeEmailResult::Error(msg) => Some(msg),
65 _ => None,
66 }
67 }
68}
69
70#[derive(Debug, Clone, Deserialize)]
72pub struct AccountRecoveryStatus {
73 #[serde(default)]
75 pub r#continue: bool,
76 #[serde(default)]
78 pub success: bool,
79 #[serde(default)]
81 pub error: Option<String>,
82}
83
84#[derive(Debug, Clone, Deserialize)]
86pub struct SubmitEmailResponse {
87 #[serde(default)]
89 pub hash: String,
90 #[serde(rename = "errorMsg", default)]
92 pub error_msg: String,
93 #[serde(default)]
95 pub show_confirmation: bool,
96}
97
98#[derive(Debug, Clone, Deserialize)]
100pub struct ConfirmEmailResponse {
101 #[serde(default)]
104 pub hash: String,
105 #[serde(rename = "errorMsg", default)]
107 pub error_msg: String,
108 #[serde(default)]
110 pub show_confirmation: bool,
111}
112
113#[derive(Debug, Clone, Deserialize)]
115pub struct SendRecoveryCodeResponse {
116 #[serde(default)]
118 pub success: bool,
119}