pub use crate::internal::app_storage::BackendKind;
pub use crate::internal::core::types::{AccessPolicy, KeyType, PresenceMode};
#[derive(Debug, Clone)]
pub struct KeyInfo {
pub label: String,
pub key_type: KeyType,
pub access_policy: Option<AccessPolicy>,
pub public_key: Vec<u8>,
}
#[derive(Debug, Clone)]
pub struct PresenceOptions {
pub mode: PresenceMode,
pub cache_ttl_secs: u64,
pub reason: String,
}
impl PresenceOptions {
pub fn strict(reason: impl Into<String>) -> Self {
Self {
mode: PresenceMode::Strict,
cache_ttl_secs: 0,
reason: reason.into(),
}
}
pub fn cached(reason: impl Into<String>, ttl_secs: u64) -> Self {
Self {
mode: PresenceMode::Cached,
cache_ttl_secs: ttl_secs,
reason: reason.into(),
}
}
}