1 use {
2 serde::{Deserialize, Serialize},
3 tsync::tsync,
4 };
5
6 #[derive(Serialize, Deserialize, Debug, Clone)]
7 #[tsync]
8 pub struct TokenResponse {
9 pub access_token: String,
10 pub expires_in: i32,
11 pub refresh_token: Option<String>,
12 pub refresh_token_expires_in: Option<String>,
13 pub scope: String,
14 pub token_type: String,
15 }
16
17 #[derive(Serialize, Deserialize, Debug, Clone)]
18 #[tsync]
19 pub struct OauthRedirect {
20 pub code: Option<String>,
21 pub scope: Option<String>,
22 pub authuser: i32,
23 pub prompt: String,
24 }
25
26 #[derive(Serialize, Deserialize, Debug, Clone)]
27 #[tsync]
28 pub struct UserInfo {
29 pub id: String,
30 pub email: String,
31 pub verified_email: bool,
32 pub name: String,
33 pub given_name: String,
34 pub family_name: String,
35 pub picture: String,
36 }