diff --git a/db/db-sqlx-postgres/src/lib.rs b/db/db-sqlx-postgres/src/lib.rs index 0688db26..b29114d7 100644 --- a/db/db-sqlx-postgres/src/lib.rs +++ b/db/db-sqlx-postgres/src/lib.rs @@ -138,6 +138,24 @@ impl MCDatabase for Database { .map_err(map_register_err)?; Ok(()) } + + /// check if username exists + async fn username_exists(&self, username: &str) -> DBResult { + let res = sqlx::query!( + "SELECT EXISTS (SELECT 1 from mcaptcha_users WHERE name = $1)", + username, + ) + .fetch_one(&self.pool) + .await + .map_err(map_register_err)?; + + let mut resp = false; + if let Some(x) = res.exists { + resp = x; + } + + Ok(resp) + } } fn now_unix_time_stamp() -> i64 {