From 79cc28bfd8388593081ba51b3e1a7215ebaf8e66 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Wed, 11 May 2022 13:09:37 +0530 Subject: [PATCH] feat: implement username exists for postgres via sqlx --- db/db-sqlx-postgres/src/lib.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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 {