shield_oauth/
connection.rs

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