Skip to main content

alibi_sqlx/store/entities/
scim_connection_binding.rs

1use crate::SqlxModel;
2use chrono::{DateTime, Utc};
3#[derive(Clone, Debug, serde::Serialize, serde::Deserialize, sqlx::FromRow, SqlxModel)]
4#[auth(table = "scimConnectionBinding")]
5pub struct Model {
6    pub id: String,
7    #[sqlx(rename = "connectionId")]
8    #[serde(rename = "connectionId")]
9    pub connection_id: String,
10    #[sqlx(rename = "connectionKey")]
11    #[serde(rename = "connectionKey")]
12    pub connection_key: String,
13    #[sqlx(rename = "provisioningDomainId")]
14    #[serde(rename = "provisioningDomainId")]
15    pub provisioning_domain_id: String,
16    #[sqlx(rename = "createdAt")]
17    #[serde(rename = "createdAt")]
18    pub created_at: DateTime<Utc>,
19    #[sqlx(rename = "decommissionStatus")]
20    #[serde(rename = "decommissionStatus")]
21    pub decommission_status: String,
22    #[sqlx(rename = "decommissionCursorUserId")]
23    #[serde(rename = "decommissionCursorUserId")]
24    pub decommission_cursor_user_id: Option<String>,
25    #[sqlx(rename = "decommissionReconciledUserCount")]
26    #[serde(rename = "decommissionReconciledUserCount")]
27    pub decommission_reconciled_user_count: i64,
28    #[sqlx(rename = "decommissionBatchCount")]
29    #[serde(rename = "decommissionBatchCount")]
30    pub decommission_batch_count: i64,
31    #[sqlx(rename = "decommissionRevision")]
32    #[serde(rename = "decommissionRevision")]
33    pub decommission_revision: i64,
34    #[sqlx(rename = "decommissionedAt")]
35    #[serde(rename = "decommissionedAt")]
36    pub decommissioned_at: Option<DateTime<Utc>>,
37    #[sqlx(rename = "decommissionCompletedAt")]
38    #[serde(rename = "decommissionCompletedAt")]
39    pub decommission_completed_at: Option<DateTime<Utc>>,
40    #[sqlx(rename = "decommissionLeaseId")]
41    #[serde(rename = "decommissionLeaseId")]
42    pub decommission_lease_id: Option<String>,
43    #[sqlx(rename = "decommissionLeaseExpiresAt")]
44    #[serde(rename = "decommissionLeaseExpiresAt")]
45    pub decommission_lease_expires_at: Option<DateTime<Utc>>,
46}
47impl From<Model> for alibi_core::store::ScimConnectionBinding {
48    fn from(row: Model) -> Self {
49        Self {
50            id: row.id,
51            connection_id: row.connection_id,
52            connection_key: row.connection_key,
53            provisioning_domain_id: row.provisioning_domain_id,
54            created_at: row.created_at,
55            decommission_status: row.decommission_status,
56            decommission_cursor_user_id: row.decommission_cursor_user_id,
57            decommission_reconciled_user_count: row.decommission_reconciled_user_count,
58            decommission_batch_count: row.decommission_batch_count,
59            decommission_revision: row.decommission_revision,
60            decommissioned_at: row.decommissioned_at,
61            decommission_completed_at: row.decommission_completed_at,
62            decommission_lease_id: row.decommission_lease_id,
63            decommission_lease_expires_at: row.decommission_lease_expires_at,
64        }
65    }
66}