PaperTrader/src/libtrader/server/db/cmd/get_user_hash.rs

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())
}