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: String,
25    pub access_token: String,
26    pub refresh_token: Option<String>,
27    pub expires_at: Option<i64>,
28}
29
30#[derive(Debug, Clone, Deserialize, Serialize)]
31#[serde(rename_all = "camelCase")]
32pub struct SignInResponse {
33    pub id_token: String,
34    pub access_token: String,
35    pub refresh_token: Option<String>,
36    pub expires_at: Option<i64>,
37}
38
39#[derive(Debug, Deserialize, Serialize)]
40#[serde(rename_all = "camelCase")]
41pub struct SignOutRequest {
42    #[serde(skip_serializing_if = "Option::is_none")]
43    pub access_token: Option<String>,
44}
45
46#[derive(Debug, Clone, Deserialize, Serialize)]
47#[serde(rename_all = "camelCase")]
48pub struct SignOutResponse {
49    pub success: bool,
50}
51
52#[derive(Debug, Deserialize, Serialize)]
53#[serde(rename_all = "camelCase")]
54pub struct RefreshTokenRequest {}
55
56#[derive(Debug, Clone, Deserialize, Serialize)]
57#[serde(rename_all = "camelCase")]
58pub struct RefreshTokenResponse {
59    pub id_token: String,
60    pub access_token: String,
61    pub refresh_token: Option<String>,
62    pub expires_at: Option<i64>,
63}