use crate::error::Result;
pub trait CredentialProvider: Send + Sync {
fn get(&self, registry: &str) -> Result<Option<(String, String)>>;
fn store(&self, _registry: &str, _username: &str, _password: &str) -> Result<()> {
Err(crate::error::BoxError::ConfigError(
"This credential provider does not support storing credentials".to_string(),
))
}
fn remove(&self, _registry: &str) -> Result<bool> {
Err(crate::error::BoxError::ConfigError(
"This credential provider does not support removing credentials".to_string(),
))
}
}