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