alibi_sqlx/store/entities/
scim_managed_credential.rs1use crate::SqlxModel;
2use chrono::{DateTime, Utc};
3#[derive(
4 Clone, Debug, PartialEq, serde::Serialize, serde::Deserialize, sqlx::FromRow, SqlxModel,
5)]
6#[auth(table = "scimManagedCredential")]
7pub struct Model {
8 pub id: String,
9 #[sqlx(rename = "connectionRecordId")]
10 #[serde(rename = "connectionRecordId")]
11 pub connection_record_id: String,
12 #[sqlx(rename = "credentialId")]
13 #[serde(rename = "credentialId")]
14 pub credential_id: String,
15 #[sqlx(rename = "tokenDigest")]
16 #[serde(rename = "tokenDigest")]
17 pub token_digest: String,
18 #[sqlx(rename = "hashVersion")]
19 #[serde(rename = "hashVersion")]
20 pub hash_version: String,
21 #[sqlx(rename = "activeSlotKey")]
22 #[serde(rename = "activeSlotKey")]
23 pub active_slot_key: String,
24 pub status: String,
25 #[sqlx(rename = "serializedScopes")]
26 #[serde(rename = "serializedScopes")]
27 pub serialized_scopes: String,
28 #[sqlx(rename = "expiresAt")]
29 #[serde(rename = "expiresAt")]
30 pub expires_at: DateTime<Utc>,
31 #[sqlx(rename = "createdAt")]
32 #[serde(rename = "createdAt")]
33 pub created_at: DateTime<Utc>,
34 #[sqlx(rename = "createdBy")]
35 #[serde(rename = "createdBy")]
36 pub created_by: String,
37 #[sqlx(rename = "lastUsedAt")]
38 #[serde(rename = "lastUsedAt")]
39 pub last_used_at: Option<DateTime<Utc>>,
40 #[sqlx(rename = "revokedAt")]
41 #[serde(rename = "revokedAt")]
42 pub revoked_at: Option<DateTime<Utc>>,
43 #[sqlx(rename = "revokedBy")]
44 #[serde(rename = "revokedBy")]
45 pub revoked_by: Option<String>,
46 #[sqlx(rename = "decommissionedAt")]
47 #[serde(rename = "decommissionedAt")]
48 pub decommissioned_at: Option<DateTime<Utc>>,
49}
50
51impl From<Model> for alibi_core::store::ScimManagedCredential {
52 fn from(row: Model) -> Self {
53 Self {
54 id: row.id,
55 connection_record_id: row.connection_record_id,
56 credential_id: row.credential_id,
57 token_digest: row.token_digest,
58 hash_version: row.hash_version,
59 active_slot_key: row.active_slot_key,
60 status: row.status,
61 serialized_scopes: row.serialized_scopes,
62 expires_at: row.expires_at,
63 created_at: row.created_at,
64 created_by: row.created_by,
65 last_used_at: row.last_used_at,
66 revoked_at: row.revoked_at,
67 revoked_by: row.revoked_by,
68 decommissioned_at: row.decommissioned_at,
69 }
70 }
71}