#[cfg(feature = "diesel")]
pub(in crate::biome) mod diesel;
pub mod error;
pub(in crate::biome) mod memory;
use super::Key;
pub use error::KeyStoreError;
pub trait KeyStore: Sync + Send {
fn add_key(&self, key: Key) -> Result<(), KeyStoreError>;
fn update_key(
&self,
public_key: &str,
user_id: &str,
new_display_name: &str,
) -> Result<(), KeyStoreError>;
fn remove_key(&self, public_key: &str, user_id: &str) -> Result<Key, KeyStoreError>;
fn fetch_key(&self, public_key: &str, user_id: &str) -> Result<Key, KeyStoreError>;
fn list_keys(&self, user_id: Option<&str>) -> Result<Vec<Key>, KeyStoreError>;
#[cfg(feature = "biome-credentials")]
fn update_keys_and_password(
&self,
user_id: &str,
updated_password: &str,
keys: &[Key],
) -> Result<(), KeyStoreError>;
}