diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2025-08-24 15:35:39 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2025-08-26 01:06:48 -0400 |
| commit | 218d6dbb56727721d19019c8514f5e4395596e98 (patch) | |
| tree | 9790c8433e169c7345717538ac7a54d187579b0b /src/token/repo/auth.rs | |
| parent | c52e24f17ed615b2e2dd55a285eb272014a2ccbf (diff) | |
Split the `user` table into an authentication portion and a chat portion.
We'll be building separate entities around this in future commits, to better separate the authentication data (non-synchronized and indeed "not public") from the chat data (synchronized and public).
Diffstat (limited to 'src/token/repo/auth.rs')
| -rw-r--r-- | src/token/repo/auth.rs | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/token/repo/auth.rs b/src/token/repo/auth.rs index 600855d..a42fa1a 100644 --- a/src/token/repo/auth.rs +++ b/src/token/repo/auth.rs @@ -28,13 +28,14 @@ impl Auth<'_> { r#" select id as "id: user::Id", - display_name as "display_name: String", - canonical_name as "canonical_name: String", - created_sequence as "created_sequence: Sequence", - created_at as "created_at: DateTime", - password_hash as "password_hash: StoredHash" + login.display_name as "display_name: String", + login.canonical_name as "canonical_name: String", + user.created_sequence as "created_sequence: Sequence", + user.created_at as "created_at: DateTime", + login.password as "password: StoredHash" from user - where canonical_name = $1 + join login using (id) + where login.canonical_name = $1 "#, name, ) @@ -49,7 +50,7 @@ impl Auth<'_> { created: Instant::new(row.created_at, row.created_sequence), }; - Ok((login, row.password_hash)) + Ok((login, row.password)) } pub async fn for_user(&mut self, user: &User) -> Result<(History, StoredHash), LoadError> { @@ -57,12 +58,13 @@ impl Auth<'_> { r#" select id as "id: user::Id", - display_name as "display_name: String", - canonical_name as "canonical_name: String", - created_sequence as "created_sequence: Sequence", - created_at as "created_at: DateTime", - password_hash as "password_hash: StoredHash" + login.display_name as "display_name: String", + login.canonical_name as "canonical_name: String", + user.created_sequence as "created_sequence: Sequence", + user.created_at as "created_at: DateTime", + login.password as "password: StoredHash" from user + join login using (id) where id = $1 "#, user.id, @@ -78,7 +80,7 @@ impl Auth<'_> { created: Instant::new(row.created_at, row.created_sequence), }; - Ok((user, row.password_hash)) + Ok((user, row.password)) } } |
