summaryrefslogtreecommitdiff
path: root/src/token/repo/auth.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2025-08-24 15:35:39 -0400
committerOwen Jacobson <owen@grimoire.ca>2025-08-26 01:06:48 -0400
commit218d6dbb56727721d19019c8514f5e4395596e98 (patch)
tree9790c8433e169c7345717538ac7a54d187579b0b /src/token/repo/auth.rs
parentc52e24f17ed615b2e2dd55a285eb272014a2ccbf (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.rs28
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))
}
}