pub trait UserStore: Send + Sync {
// Required methods
fn get_user(&self, username: &str) -> Option<UserRecord>;
fn store_user(&self, record: UserRecord) -> Result<(), SecurityError>;
fn update_user(&self, record: UserRecord) -> Result<(), SecurityError>;
fn delete_user(&self, username: &str) -> Result<(), SecurityError>;
fn list_users(&self) -> Vec<String>;
}Expand description
User store trait for database abstraction.
Required Methods§
Sourcefn get_user(&self, username: &str) -> Option<UserRecord>
fn get_user(&self, username: &str) -> Option<UserRecord>
Get a user by username.
Sourcefn store_user(&self, record: UserRecord) -> Result<(), SecurityError>
fn store_user(&self, record: UserRecord) -> Result<(), SecurityError>
Store a user record.
Sourcefn update_user(&self, record: UserRecord) -> Result<(), SecurityError>
fn update_user(&self, record: UserRecord) -> Result<(), SecurityError>
Update a user record.
Sourcefn delete_user(&self, username: &str) -> Result<(), SecurityError>
fn delete_user(&self, username: &str) -> Result<(), SecurityError>
Delete a user.
Sourcefn list_users(&self) -> Vec<String>
fn list_users(&self) -> Vec<String>
List all usernames.