shield_oauth/
connection.rs1use chrono::{DateTime, FixedOffset};
2use secrecy::SecretString;
3
4#[derive(Clone, Debug)]
5pub struct OauthConnection {
6 pub id: String,
7 pub identifier: String,
8 pub token_type: String,
9 pub access_token: SecretString,
10 pub refresh_token: Option<SecretString>,
11 pub expired_at: Option<DateTime<FixedOffset>>,
12 pub scopes: Option<Vec<String>>,
13 pub provider_id: String,
14 pub user_id: String,
15}
16
17#[derive(Clone, Debug)]
18pub struct CreateOauthConnection {
19 pub identifier: String,
20 pub token_type: String,
21 pub access_token: SecretString,
22 pub refresh_token: Option<SecretString>,
23 pub expired_at: Option<DateTime<FixedOffset>>,
24 pub scopes: Option<Vec<String>>,
25 pub provider_id: String,
26 pub user_id: String,
27}
28
29#[derive(Clone, Debug)]
30pub struct UpdateOauthConnection {
31 pub id: String,
32 pub token_type: Option<String>,
33 pub access_token: Option<SecretString>,
34 pub refresh_token: Option<Option<SecretString>>,
35 pub expired_at: Option<Option<DateTime<FixedOffset>>>,
36 pub scopes: Option<Option<Vec<String>>>,
37}