shield_oidc/
connection.rs1use 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}