summaryrefslogtreecommitdiffstats
path: root/src/models/user.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/models/user.rs')
-rw-r--r--src/models/user.rs30
1 files changed, 30 insertions, 0 deletions
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<bool, AppError> {
+ 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<bool, AppError> {
+ 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)
+ }
}