use crate::database::universal_types::{UniversalTimestamp, UniversalUuid};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KeyTrustAcl {
pub id: UniversalUuid,
pub parent_org_id: UniversalUuid,
pub child_org_id: UniversalUuid,
pub granted_at: UniversalTimestamp,
pub revoked_at: Option<UniversalTimestamp>,
}
impl KeyTrustAcl {
pub fn is_active(&self) -> bool {
self.revoked_at.is_none()
}
pub fn is_revoked(&self) -> bool {
self.revoked_at.is_some()
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NewKeyTrustAcl {
pub parent_org_id: UniversalUuid,
pub child_org_id: UniversalUuid,
}
impl NewKeyTrustAcl {
pub fn new(parent_org_id: UniversalUuid, child_org_id: UniversalUuid) -> Self {
Self {
parent_org_id,
child_org_id,
}
}
}