use secrecy::SecretString; #[derive(Clone)] pub struct Password(pub SecretString); #[derive(Clone)] pub struct UserToken(pub SecretString); pub struct Authenticator { // TODO } impl Authenticator { pub fn new(/* database credentials ? */) -> Self { Self {} } pub fn create_user_token(username: &str, password: &str) -> UserToken { todo!() } }