use crate::error::Result;
use crate::wami::credentials::LoginProfile;
use async_trait::async_trait;
#[async_trait]
pub trait LoginProfileStore: Send + Sync {
async fn create_login_profile(&mut self, profile: LoginProfile) -> Result<LoginProfile>;
async fn get_login_profile(&self, user_name: &str) -> Result<Option<LoginProfile>>;
async fn update_login_profile(&mut self, profile: LoginProfile) -> Result<LoginProfile>;
async fn delete_login_profile(&mut self, user_name: &str) -> Result<()>;
}