use crate::auth::error::AuthError;
use async_trait::async_trait;
#[async_trait]
pub trait CredentialStore: Send + Sync {
async fn save_credential(
&self,
user_id: &str,
cred_type: &str,
data: serde_json::Value,
) -> Result<(), AuthError>;
async fn get_credentials(
&self,
user_id: &str,
cred_type: &str,
) -> Result<Vec<serde_json::Value>, AuthError>;
async fn update_credential(
&self,
credential_id: &str,
data: serde_json::Value,
) -> Result<(), AuthError>;
}