summaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
authormrw1593 <botahamec@outlook.com>2023-05-13 12:22:11 -0400
committermrw1593 <botahamec@outlook.com>2023-05-29 10:45:54 -0400
commit0b55587443103b20491139d54670474a35286be8 (patch)
tree7aed93ba53a71ce245208afb6593e7726e8b0026 /src/services
parentefe24b616f91121512cb6b2c61cd9b850f943e2d (diff)
Add a login endpoint that does nothing
Diffstat (limited to 'src/services')
-rw-r--r--src/services/db.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/services/db.rs b/src/services/db.rs
index 3eee9ba..80335c4 100644
--- a/src/services/db.rs
+++ b/src/services/db.rs
@@ -84,6 +84,24 @@ pub async fn get_user<'c>(
Ok(Some(record.try_into()?))
}
+pub async fn get_user_by_username<'c>(
+ conn: impl Executor<'c, Database = MySql>,
+ username: &str,
+) -> Result<Option<User>, RawUnexpected> {
+ let record = query_as!(
+ UserRow,
+ r"SELECT user_id, username, password_hash, password_salt, password_version
+ FROM users WHERE username = ?",
+ username
+ )
+ .fetch_optional(conn)
+ .await?;
+
+ let Some(record) = record else { return Ok(None) };
+
+ Ok(Some(record.try_into()?))
+}
+
pub async fn get_username<'c>(
conn: impl Executor<'c, Database = MySql>,
user_id: Uuid,