zkgroup/api/profiles/
expiring_profile_key_credential.rs1use partial_default::PartialDefault;
7use serde::{Deserialize, Serialize};
8
9use crate::common::serialization::ReservedByte;
10use crate::common::simple_types::*;
11use crate::crypto;
12
13#[derive(Copy, Clone, Serialize, Deserialize, PartialDefault)]
14pub struct ExpiringProfileKeyCredential {
15 pub(crate) reserved: ReservedByte,
16 pub(crate) credential: crypto::credentials::ExpiringProfileKeyCredential,
17 pub(crate) aci_bytes: UidBytes,
18 pub(crate) profile_key_bytes: ProfileKeyBytes,
19 pub(crate) credential_expiration_time: Timestamp,
20}
21
22impl ExpiringProfileKeyCredential {
23 pub fn aci(&self) -> libsignal_core::Aci {
24 uuid::Uuid::from_bytes(self.aci_bytes).into()
25 }
26
27 pub fn get_expiration_time(&self) -> Timestamp {
28 self.credential_expiration_time
29 }
30}