Skip to main content

edc_web_components/models/
verifiable_credential.rs

1use chrono::{DateTime, Utc};
2use edc_identity_hub_client::models::Credential;
3
4#[derive(Clone, Debug, PartialEq)]
5pub struct VerifiableCredential {
6  pub id: String,
7  pub created_at: u64,
8  pub timestamp: u64,
9  pub issuer_id: String,
10  pub holder_id: String,
11  pub issuance_date: DateTime<Utc>,
12  pub expiration_date: DateTime<Utc>,
13}
14
15impl From<Credential> for VerifiableCredential {
16  fn from(credential: Credential) -> Self {
17    VerifiableCredential {
18      id: credential.id,
19      created_at: credential.created_at.timestamp() as u64,
20      timestamp: credential.timestamp.timestamp() as u64,
21      issuer_id: credential.issuer_id,
22      holder_id: credential.holder_id,
23      issuance_date: credential.verifiable_credential.credential.issuance_date,
24      expiration_date: credential.verifiable_credential.credential.expiration_date,
25    }
26  }
27}