Skip to main content

alibi_sqlx/store/entities/
sso_provider.rs

1#[derive(
2    Clone, Debug, PartialEq, serde::Serialize, serde::Deserialize, sqlx::FromRow, crate::SqlxModel,
3)]
4#[auth(table = "ssoProvider")]
5pub struct Model {
6    pub id: String,
7    pub issuer: String,
8    pub domain: String,
9    #[sqlx(rename = "providerId")]
10    #[serde(rename = "providerId")]
11    pub provider_id: String,
12    #[sqlx(rename = "userId")]
13    #[serde(rename = "userId")]
14    pub user_id: Option<String>,
15    #[sqlx(rename = "organizationId")]
16    #[serde(rename = "organizationId")]
17    pub organization_id: Option<String>,
18    #[sqlx(rename = "oidcConfig")]
19    #[serde(rename = "oidcConfig")]
20    pub oidc_config: Option<String>,
21    #[sqlx(rename = "samlConfig")]
22    #[serde(rename = "samlConfig")]
23    pub saml_config: Option<String>,
24    #[sqlx(rename = "domainVerified")]
25    #[serde(rename = "domainVerified")]
26    pub domain_verified: Option<bool>,
27}
28impl From<Model> for alibi_core::store::SsoProvider {
29    fn from(row: Model) -> Self {
30        Self {
31            id: row.id,
32            issuer: row.issuer,
33            domain: row.domain,
34            provider_id: row.provider_id,
35            user_id: row.user_id,
36            organization_id: row.organization_id,
37            oidc_config: row.oidc_config,
38            saml_config: row.saml_config,
39            domain_verified: row.domain_verified,
40            additional_fields: serde_json::Map::new(),
41        }
42    }
43}