diff options
Diffstat (limited to 'src/token/repo')
| -rw-r--r-- | src/token/repo/auth.rs | 22 | ||||
| -rw-r--r-- | src/token/repo/token.rs | 36 |
2 files changed, 29 insertions, 29 deletions
diff --git a/src/token/repo/auth.rs b/src/token/repo/auth.rs index 0deed10..68a81c7 100644 --- a/src/token/repo/auth.rs +++ b/src/token/repo/auth.rs @@ -4,8 +4,8 @@ use crate::{ clock::DateTime, db::NotFound, event::{Instant, Sequence}, - login::{self, History, Login, password::StoredHash}, name::{self, Name}, + user::{self, History, User, password::StoredHash}, }; pub trait Provider { @@ -26,13 +26,13 @@ impl Auth<'_> { let row = sqlx::query!( r#" select - id as "id: login::Id", + 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" - from login + from user where canonical_name = $1 "#, name, @@ -41,7 +41,7 @@ impl Auth<'_> { .await?; let login = History { - login: Login { + user: User { id: row.id, name: Name::new(row.display_name, row.canonical_name)?, }, @@ -51,33 +51,33 @@ impl Auth<'_> { Ok((login, row.password_hash)) } - pub async fn for_login(&mut self, login: &Login) -> Result<(History, StoredHash), LoadError> { + pub async fn for_user(&mut self, user: &User) -> Result<(History, StoredHash), LoadError> { let row = sqlx::query!( r#" select - id as "id: login::Id", + 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" - from login + from user where id = $1 "#, - login.id, + user.id, ) .fetch_one(&mut *self.0) .await?; - let login = History { - login: Login { + let user = History { + user: User { id: row.id, name: Name::new(row.display_name, row.canonical_name)?, }, created: Instant::new(row.created_at, row.created_sequence), }; - Ok((login, row.password_hash)) + Ok((user, row.password_hash)) } } diff --git a/src/token/repo/token.rs b/src/token/repo/token.rs index ff42fad..e49c2d4 100644 --- a/src/token/repo/token.rs +++ b/src/token/repo/token.rs @@ -5,9 +5,9 @@ use crate::{ clock::DateTime, db::NotFound, event::{Instant, Sequence}, - login::{self, History, Login}, name::{self, Name}, token::{Id, Secret}, + user::{self, History, User}, }; pub trait Provider { @@ -27,23 +27,23 @@ impl Tokens<'_> { // be used to control expiry, until the token is actually used. pub async fn issue( &mut self, - login: &History, + user: &History, issued_at: &DateTime, ) -> Result<Secret, sqlx::Error> { let id = Id::generate(); let secret = Uuid::new_v4().to_string(); - let login = login.id(); + let user = user.id(); let secret = sqlx::query_scalar!( r#" insert - into token (id, secret, login, issued_at, last_used_at) + into token (id, secret, user, issued_at, last_used_at) values ($1, $2, $3, $4, $4) returning secret as "secret!: Secret" "#, id, secret, - login, + user, issued_at, ) .fetch_one(&mut *self.0) @@ -85,16 +85,16 @@ impl Tokens<'_> { } // Revoke tokens for a login - pub async fn revoke_all(&mut self, login: &login::History) -> Result<Vec<Id>, sqlx::Error> { - let login = login.id(); + pub async fn revoke_all(&mut self, user: &user::History) -> Result<Vec<Id>, sqlx::Error> { + let user = user.id(); let tokens = sqlx::query_scalar!( r#" delete from token - where login = $1 + where user = $1 returning id as "id: Id" "#, - login, + user, ) .fetch_all(&mut *self.0) .await?; @@ -132,38 +132,38 @@ impl Tokens<'_> { // sqlite3, as of this writing, does not allow an update's `returning` // clause to reference columns from tables joined into the update. Two // queries is fine, but it feels untidy. - let (token, login) = sqlx::query!( + let (token, user) = sqlx::query!( r#" update token set last_used_at = $1 where secret = $2 returning id as "token: Id", - login as "login: login::Id" + user as "user: user::Id" "#, used_at, secret, ) - .map(|row| (row.token, row.login)) + .map(|row| (row.token, row.user)) .fetch_one(&mut *self.0) .await?; - let login = sqlx::query!( + let user = sqlx::query!( r#" select - id as "id: login::Id", + 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" - from login + from user where id = $1 "#, - login, + user, ) .map(|row| { Ok::<_, name::Error>(History { - login: Login { + user: User { id: row.id, name: Name::new(row.display_name, row.canonical_name)?, }, @@ -173,7 +173,7 @@ impl Tokens<'_> { .fetch_one(&mut *self.0) .await??; - Ok((token, login)) + Ok((token, user)) } } |
