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