use crate::{Error, UserId};
use async_trait::async_trait;
#[async_trait]
pub trait PasswordRepository: Send + Sync + 'static {
async fn set_password_hash(&self, user_id: &UserId, hash: &str) -> Result<(), Error>;
async fn get_password_hash(&self, user_id: &UserId) -> Result<Option<String>, Error>;
async fn remove_password_hash(&self, user_id: &UserId) -> Result<(), Error>;
}