alibi-sqlx 0.10.0

SQLx integration for Alibi
Documentation
use crate::SqlxModel;
use chrono::{DateTime, Utc};
#[derive(Clone, Debug, serde::Serialize, serde::Deserialize, sqlx::FromRow, SqlxModel)]
#[auth(table = "scimConnectionBinding")]
pub struct Model {
    pub id: String,
    #[sqlx(rename = "connectionId")]
    #[serde(rename = "connectionId")]
    pub connection_id: String,
    #[sqlx(rename = "connectionKey")]
    #[serde(rename = "connectionKey")]
    pub connection_key: String,
    #[sqlx(rename = "provisioningDomainId")]
    #[serde(rename = "provisioningDomainId")]
    pub provisioning_domain_id: String,
    #[sqlx(rename = "createdAt")]
    #[serde(rename = "createdAt")]
    pub created_at: DateTime<Utc>,
    #[sqlx(rename = "decommissionStatus")]
    #[serde(rename = "decommissionStatus")]
    pub decommission_status: String,
    #[sqlx(rename = "decommissionCursorUserId")]
    #[serde(rename = "decommissionCursorUserId")]
    pub decommission_cursor_user_id: Option<String>,
    #[sqlx(rename = "decommissionReconciledUserCount")]
    #[serde(rename = "decommissionReconciledUserCount")]
    pub decommission_reconciled_user_count: i64,
    #[sqlx(rename = "decommissionBatchCount")]
    #[serde(rename = "decommissionBatchCount")]
    pub decommission_batch_count: i64,
    #[sqlx(rename = "decommissionRevision")]
    #[serde(rename = "decommissionRevision")]
    pub decommission_revision: i64,
    #[sqlx(rename = "decommissionedAt")]
    #[serde(rename = "decommissionedAt")]
    pub decommissioned_at: Option<DateTime<Utc>>,
    #[sqlx(rename = "decommissionCompletedAt")]
    #[serde(rename = "decommissionCompletedAt")]
    pub decommission_completed_at: Option<DateTime<Utc>>,
    #[sqlx(rename = "decommissionLeaseId")]
    #[serde(rename = "decommissionLeaseId")]
    pub decommission_lease_id: Option<String>,
    #[sqlx(rename = "decommissionLeaseExpiresAt")]
    #[serde(rename = "decommissionLeaseExpiresAt")]
    pub decommission_lease_expires_at: Option<DateTime<Utc>>,
}
impl From<Model> for alibi_core::store::ScimConnectionBinding {
    fn from(row: Model) -> Self {
        Self {
            id: row.id,
            connection_id: row.connection_id,
            connection_key: row.connection_key,
            provisioning_domain_id: row.provisioning_domain_id,
            created_at: row.created_at,
            decommission_status: row.decommission_status,
            decommission_cursor_user_id: row.decommission_cursor_user_id,
            decommission_reconciled_user_count: row.decommission_reconciled_user_count,
            decommission_batch_count: row.decommission_batch_count,
            decommission_revision: row.decommission_revision,
            decommissioned_at: row.decommissioned_at,
            decommission_completed_at: row.decommission_completed_at,
            decommission_lease_id: row.decommission_lease_id,
            decommission_lease_expires_at: row.decommission_lease_expires_at,
        }
    }
}