cdp_protocol/
fed_cm.rs

1// Auto-generated from Chrome at version 143.0.7499.110 domain: FedCm
2#[allow(unused_imports)]
3use super::types::*;
4#[allow(unused_imports)]
5use serde::{Deserialize, Serialize};
6#[allow(unused_imports)]
7use serde_json::Value as Json;
8#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
9pub enum LoginState {
10    #[serde(rename = "SignIn")]
11    SignIn,
12    #[serde(rename = "SignUp")]
13    SignUp,
14}
15#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
16pub enum DialogType {
17    #[serde(rename = "AccountChooser")]
18    AccountChooser,
19    #[serde(rename = "AutoReauthn")]
20    AutoReauthn,
21    #[serde(rename = "ConfirmIdpLogin")]
22    ConfirmIdpLogin,
23    #[serde(rename = "Error")]
24    Error,
25}
26#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
27pub enum DialogButton {
28    #[serde(rename = "ConfirmIdpLoginContinue")]
29    ConfirmIdpLoginContinue,
30    #[serde(rename = "ErrorGotIt")]
31    ErrorGotIt,
32    #[serde(rename = "ErrorMoreDetails")]
33    ErrorMoreDetails,
34}
35#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
36pub enum AccountUrlType {
37    #[serde(rename = "TermsOfService")]
38    TermsOfService,
39    #[serde(rename = "PrivacyPolicy")]
40    PrivacyPolicy,
41}
42#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
43pub struct Account {
44    #[serde(default)]
45    #[serde(rename = "accountId")]
46    pub account_id: String,
47    #[serde(default)]
48    #[serde(rename = "email")]
49    pub email: String,
50    #[serde(default)]
51    #[serde(rename = "name")]
52    pub name: String,
53    #[serde(default)]
54    #[serde(rename = "givenName")]
55    pub given_name: String,
56    #[serde(default)]
57    #[serde(rename = "pictureUrl")]
58    pub picture_url: String,
59    #[serde(default)]
60    #[serde(rename = "idpConfigUrl")]
61    pub idp_config_url: String,
62    #[serde(default)]
63    #[serde(rename = "idpLoginUrl")]
64    pub idp_login_url: String,
65    #[serde(rename = "loginState")]
66    pub login_state: LoginState,
67    #[serde(skip_serializing_if = "Option::is_none")]
68    #[serde(default)]
69    #[serde(rename = "termsOfServiceUrl")]
70    pub terms_of_service_url: Option<String>,
71    #[serde(skip_serializing_if = "Option::is_none")]
72    #[serde(default)]
73    #[serde(rename = "privacyPolicyUrl")]
74    pub privacy_policy_url: Option<String>,
75}
76#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
77pub struct Enable {
78    #[serde(skip_serializing_if = "Option::is_none")]
79    #[serde(default)]
80    #[serde(rename = "disableRejectionDelay")]
81    pub disable_rejection_delay: Option<bool>,
82}
83#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
84#[serde(rename_all = "camelCase")]
85pub struct Disable(pub Option<serde_json::Value>);
86#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
87pub struct SelectAccount {
88    #[serde(default)]
89    #[serde(rename = "dialogId")]
90    pub dialog_id: String,
91    #[serde(default)]
92    #[serde(rename = "accountIndex")]
93    pub account_index: JsUInt,
94}
95#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
96pub struct ClickDialogButton {
97    #[serde(default)]
98    #[serde(rename = "dialogId")]
99    pub dialog_id: String,
100    #[serde(rename = "dialogButton")]
101    pub dialog_button: DialogButton,
102}
103#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
104pub struct OpenUrl {
105    #[serde(default)]
106    #[serde(rename = "dialogId")]
107    pub dialog_id: String,
108    #[serde(default)]
109    #[serde(rename = "accountIndex")]
110    pub account_index: JsUInt,
111    #[serde(rename = "accountUrlType")]
112    pub account_url_type: AccountUrlType,
113}
114#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
115pub struct DismissDialog {
116    #[serde(default)]
117    #[serde(rename = "dialogId")]
118    pub dialog_id: String,
119    #[serde(skip_serializing_if = "Option::is_none")]
120    #[serde(default)]
121    #[serde(rename = "triggerCooldown")]
122    pub trigger_cooldown: Option<bool>,
123}
124#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
125#[serde(rename_all = "camelCase")]
126pub struct ResetCooldown(pub Option<serde_json::Value>);
127#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
128#[serde(rename_all = "camelCase")]
129pub struct EnableReturnObject {}
130#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
131#[serde(rename_all = "camelCase")]
132pub struct DisableReturnObject {}
133#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
134#[serde(rename_all = "camelCase")]
135pub struct SelectAccountReturnObject {}
136#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
137#[serde(rename_all = "camelCase")]
138pub struct ClickDialogButtonReturnObject {}
139#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
140#[serde(rename_all = "camelCase")]
141pub struct OpenUrlReturnObject {}
142#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
143#[serde(rename_all = "camelCase")]
144pub struct DismissDialogReturnObject {}
145#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
146#[serde(rename_all = "camelCase")]
147pub struct ResetCooldownReturnObject {}
148impl Method for Enable {
149    const NAME: &'static str = "FedCm.enable";
150    type ReturnObject = EnableReturnObject;
151}
152impl Method for Disable {
153    const NAME: &'static str = "FedCm.disable";
154    type ReturnObject = DisableReturnObject;
155}
156impl Method for SelectAccount {
157    const NAME: &'static str = "FedCm.selectAccount";
158    type ReturnObject = SelectAccountReturnObject;
159}
160impl Method for ClickDialogButton {
161    const NAME: &'static str = "FedCm.clickDialogButton";
162    type ReturnObject = ClickDialogButtonReturnObject;
163}
164impl Method for OpenUrl {
165    const NAME: &'static str = "FedCm.openUrl";
166    type ReturnObject = OpenUrlReturnObject;
167}
168impl Method for DismissDialog {
169    const NAME: &'static str = "FedCm.dismissDialog";
170    type ReturnObject = DismissDialogReturnObject;
171}
172impl Method for ResetCooldown {
173    const NAME: &'static str = "FedCm.resetCooldown";
174    type ReturnObject = ResetCooldownReturnObject;
175}
176pub mod events {
177    #[allow(unused_imports)]
178    use super::super::types::*;
179    #[allow(unused_imports)]
180    use serde::{Deserialize, Serialize};
181    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
182    pub struct DialogShownEvent {
183        pub params: DialogShownEventParams,
184    }
185    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
186    pub struct DialogShownEventParams {
187        #[serde(default)]
188        #[serde(rename = "dialogId")]
189        pub dialog_id: String,
190        #[serde(rename = "dialogType")]
191        pub dialog_type: super::DialogType,
192        #[serde(rename = "accounts")]
193        pub accounts: Vec<super::Account>,
194        #[serde(default)]
195        #[serde(rename = "title")]
196        pub title: String,
197        #[serde(skip_serializing_if = "Option::is_none")]
198        #[serde(default)]
199        #[serde(rename = "subtitle")]
200        pub subtitle: Option<String>,
201    }
202    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
203    pub struct DialogClosedEvent {
204        pub params: DialogClosedEventParams,
205    }
206    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
207    pub struct DialogClosedEventParams {
208        #[serde(default)]
209        #[serde(rename = "dialogId")]
210        pub dialog_id: String,
211    }
212}