shield_oidc/
connection.rs

1use chrono::{DateTime, FixedOffset};
2use secrecy::SecretString;
3
4#[derive(Clone, Debug)]
5pub struct OidcConnection {
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 id_token: Option<SecretString>,
12    pub expired_at: Option<DateTime<FixedOffset>>,
13    pub scopes: Option<Vec<String>>,
14    pub provider_id: String,
15    pub user_id: String,
16}
17
18#[derive(Clone, Debug)]
19pub struct CreateOidcConnection {
20    pub identifier: String,
21    pub token_type: String,
22    pub access_token: SecretString,
23    pub refresh_token: Option<SecretString>,
24    pub id_token: Option<SecretString>,
25    pub expired_at: Option<DateTime<FixedOffset>>,
26    pub scopes: Option<Vec<String>>,
27    pub provider_id: String,
28    pub user_id: String,
29}
30
31#[derive(Clone, Debug)]
32pub struct UpdateOidcConnection {
33    pub id: String,
34    pub token_type: Option<String>,
35    pub access_token: Option<SecretString>,
36    pub refresh_token: Option<Option<SecretString>>,
37    pub id_token: Option<Option<SecretString>>,
38    pub expired_at: Option<Option<DateTime<FixedOffset>>>,
39    pub scopes: Option<Option<Vec<String>>>,
40}