27 lines
923 B
Rust
27 lines
923 B
Rust
use crate::server::db::cmd::user_exists::*;
|
|
|
|
pub async fn get_user_hash(
|
|
sql_conn: &tokio_postgres::Client,
|
|
username: &str,
|
|
is_email: bool,
|
|
) -> Result<String, String> {
|
|
/* check that user exists*/
|
|
if user_exists(sql_conn, username).await {
|
|
if is_email {
|
|
for row in
|
|
&sql_conn.query("SELECT username, email_hash_phc FROM accounts_schema.accounts WHERE username LIKE $1",
|
|
&[&username]).await.unwrap() {
|
|
return Ok(row.get(1));
|
|
}
|
|
} else {
|
|
for row in
|
|
&sql_conn.query("SELECT username, pass_hash_phc FROM accounts_schema.accounts WHERE username LIKE $1",
|
|
&[&username]).await.unwrap() {
|
|
return Ok(row.get(1));
|
|
}
|
|
}
|
|
}
|
|
|
|
Err("Failed to get username hash of non-existing user.".to_string())
|
|
}
|