use crate::credentials::{ClearTokenError, Credentials, GetTokenError};
use async_trait::async_trait;
pub struct StaticCredentials<T: Clone> {
token: T,
}
impl<T: Clone> StaticCredentials<T> {
pub fn new(token: T) -> Self {
Self { token }
}
}
#[async_trait]
impl<T: Clone + Send + Sync + 'static> Credentials for StaticCredentials<T> {
type Token = T;
async fn get_token(&self) -> Result<Self::Token, GetTokenError> {
Ok(self.token.clone())
}
async fn clear_token(&self) -> Result<(), ClearTokenError> {
Ok(())
}
}