From 64d5f37d9e28363f27b49b9a5b421a19792d0165 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Tue, 13 Sep 2022 14:51:32 +0200 Subject: Signup route --- src/models/user.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/models/user.rs') diff --git a/src/models/user.rs b/src/models/user.rs index ba2df8f..56ae307 100644 --- a/src/models/user.rs +++ b/src/models/user.rs @@ -131,4 +131,34 @@ impl User { Ok(row.count.unwrap()) } + + /// Prevent the "uniquess" Postgres fields check. Check if username has been taken + pub async fn username_has_taken(username: &String) -> Result { + let pool = unsafe { get_client() }; + let row = sqlx::query!( + r#" + SELECT COUNT(id) as count FROM users WHERE username = $1 + "#, + username, + ) + .fetch_one(pool) + .await?; + + Ok(row.count.unwrap() > 0) + } + + /// Prevent the "uniquess" Postgres fields check. Check if email has been taken + pub async fn email_has_taken(email: &String) -> Result { + let pool = unsafe { get_client() }; + let row = sqlx::query!( + r#" + SELECT COUNT(id) as count FROM users WHERE email = $1 + "#, + email, + ) + .fetch_one(pool) + .await?; + + Ok(row.count.unwrap() > 0) + } } -- cgit v1.2.3-71-g8e6c