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