pub mod memory;
pub mod resource;
pub mod traits;
pub use traits::{SsoAdminStore, StsStore, TenantStore, WamiStore};
use crate::error::Result;
use async_trait::async_trait;
#[async_trait]
pub trait Store: Send + Sync {
type WamiStore: WamiStore;
type StsStore: StsStore;
type SsoAdminStore: SsoAdminStore;
type TenantStore: TenantStore;
async fn wami_store(&mut self) -> Result<&mut Self::WamiStore>;
async fn sts_store(&mut self) -> Result<&mut Self::StsStore>;
async fn sso_admin_store(&mut self) -> Result<&mut Self::SsoAdminStore>;
async fn tenant_store(&mut self) -> Result<&mut Self::TenantStore>;
}