use std::path::PathBuf;
use chrono::{DateTime, Utc};
use crate::{error::Result, types::Owner};
pub trait VaultSecretProvider: Send + Sync {
fn ensure_agent_secret(&self, secret_name: &str) -> Result<()>;
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq, Eq)]
pub struct VaultListEntry {
pub(super) name: String,
pub(super) owner: Owner,
pub(super) cipher_dir: PathBuf,
pub(super) created_at: DateTime<Utc>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq, Eq)]
pub struct VaultStatusEntry {
pub(super) name: String,
pub(super) owner: Owner,
pub(super) mounted: bool,
pub(super) mountpoint: Option<PathBuf>,
pub(super) remaining_seconds: Option<i64>,
}