use crate::cloud::enroll::auth0::UserInfo;
use ockam_core::async_trait;
use ockam_core::Result;
#[async_trait]
pub trait UsersRepository: Send + Sync + 'static {
async fn store_user(&self, user: &UserInfo) -> Result<()>;
async fn get_default_user(&self) -> Result<Option<UserInfo>>;
async fn set_default_user(&self, email: &str) -> Result<()>;
async fn get_user(&self, email: &str) -> Result<Option<UserInfo>>;
async fn get_users(&self) -> Result<Vec<UserInfo>>;
async fn delete_user(&self, email: &str) -> Result<()>;
}