tauri_plugin_google_auth/
models.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Deserialize, Serialize)]
4#[serde(rename_all = "camelCase")]
5pub struct SignInRequest {
6 pub client_id: String,
7 #[serde(skip_serializing_if = "Option::is_none")]
8 pub client_secret: Option<String>,
9 #[serde(skip_serializing_if = "Option::is_none")]
10 pub scopes: Option<Vec<String>>,
11 #[serde(skip_serializing_if = "Option::is_none")]
12 pub hosted_domain: Option<String>,
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub login_hint: Option<String>,
15 #[serde(skip_serializing_if = "Option::is_none")]
16 pub redirect_uri: Option<String>,
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub success_html_response: Option<String>,
19}
20
21#[derive(Debug, Clone, Deserialize, Serialize)]
22#[serde(rename_all = "camelCase")]
23pub struct TokenResponse {
24 pub id_token: Option<String>,
25 pub access_token: String,
26 pub scopes: Vec<String>,
27 pub refresh_token: Option<String>,
28 pub expires_at: Option<i64>,
29}
30
31#[derive(Debug, Deserialize, Serialize)]
32#[serde(rename_all = "camelCase")]
33pub struct SignOutRequest {
34 #[serde(skip_serializing_if = "Option::is_none")]
35 pub access_token: Option<String>,
36}
37
38#[derive(Debug, Clone, Deserialize, Serialize)]
39#[serde(rename_all = "camelCase")]
40pub struct SignOutResponse {
41 pub success: bool,
42}
43
44#[derive(Debug, Deserialize, Serialize)]
45#[serde(rename_all = "camelCase")]
46pub struct RefreshTokenRequest {
47 pub refresh_token: String,
48 pub client_id: String,
49 #[serde(skip_serializing_if = "Option::is_none")]
50 pub client_secret: Option<String>,
51}