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