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: 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}