use crate::{Secret, SecretKey};
use async_trait::async_trait;
use origin_domain::Result;
use std::fmt::Debug;
#[async_trait]
pub trait SecretStore: Debug + Send + Sync + 'static {
async fn get(&self, key: &SecretKey) -> Result<Option<Secret>>;
async fn set(&self, key: &SecretKey, value: Secret) -> Result<()>;
async fn delete(&self, key: &SecretKey) -> Result<()>;
}