tauri_plugin_google_auth/
models.rs

1use 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}