diff options
Diffstat (limited to 'src/token')
| -rw-r--r-- | src/token/app.rs | 26 | ||||
| -rw-r--r-- | src/token/repo/auth.rs | 8 | ||||
| -rw-r--r-- | src/token/repo/token.rs | 20 |
3 files changed, 27 insertions, 27 deletions
diff --git a/src/token/app.rs b/src/token/app.rs index 211df81..46b2d73 100644 --- a/src/token/app.rs +++ b/src/token/app.rs @@ -33,7 +33,7 @@ impl<'a> Tokens<'a> { login_at: &DateTime, ) -> Result<(User, Secret), LoginError> { let mut tx = self.db.begin().await?; - let (login, stored_hash) = tx + let (user, stored_hash) = tx .auth() .for_name(name) .await @@ -46,11 +46,11 @@ impl<'a> Tokens<'a> { // if the account is deleted during that time. tx.commit().await?; - let snapshot = login.as_snapshot().ok_or(LoginError::Rejected)?; + let snapshot = user.as_snapshot().ok_or(LoginError::Rejected)?; let token = if stored_hash.verify(password)? { let mut tx = self.db.begin().await?; - let token = tx.tokens().issue(&login, login_at).await?; + let token = tx.tokens().issue(&user, login_at).await?; tx.commit().await?; token } else { @@ -62,15 +62,15 @@ impl<'a> Tokens<'a> { pub async fn change_password( &self, - login: &User, + user: &User, password: &Password, to: &Password, changed_at: &DateTime, ) -> Result<(User, Secret), LoginError> { let mut tx = self.db.begin().await?; - let (login, stored_hash) = tx + let (user, stored_hash) = tx .auth() - .for_login(login) + .for_user(user) .await .optional()? .ok_or(LoginError::Rejected)?; @@ -85,13 +85,13 @@ impl<'a> Tokens<'a> { return Err(LoginError::Rejected); } - let snapshot = login.as_snapshot().ok_or(LoginError::Rejected)?; + let snapshot = user.as_snapshot().ok_or(LoginError::Rejected)?; let to_hash = to.hash()?; let mut tx = self.db.begin().await?; - let tokens = tx.tokens().revoke_all(&login).await?; - tx.users().set_password(&login, &to_hash).await?; - let secret = tx.tokens().issue(&login, changed_at).await?; + let tokens = tx.tokens().revoke_all(&user).await?; + tx.users().set_password(&user, &to_hash).await?; + let secret = tx.tokens().issue(&user, changed_at).await?; tx.commit().await?; for event in tokens.into_iter().map(TokenEvent::Revoked) { @@ -107,16 +107,16 @@ impl<'a> Tokens<'a> { used_at: &DateTime, ) -> Result<(Id, User), ValidateError> { let mut tx = self.db.begin().await?; - let (token, login) = tx + let (token, user) = tx .tokens() .validate(secret, used_at) .await .not_found(|| ValidateError::InvalidToken)?; tx.commit().await?; - let login = login.as_snapshot().ok_or(ValidateError::LoginDeleted)?; + let user = user.as_snapshot().ok_or(ValidateError::LoginDeleted)?; - Ok((token, login)) + Ok((token, user)) } pub async fn limit_stream<S, E>( diff --git a/src/token/repo/auth.rs b/src/token/repo/auth.rs index a1f4aad..68a81c7 100644 --- a/src/token/repo/auth.rs +++ b/src/token/repo/auth.rs @@ -51,7 +51,7 @@ impl Auth<'_> { Ok((login, row.password_hash)) } - pub async fn for_login(&mut self, login: &User) -> Result<(History, StoredHash), LoadError> { + pub async fn for_user(&mut self, user: &User) -> Result<(History, StoredHash), LoadError> { let row = sqlx::query!( r#" select @@ -64,12 +64,12 @@ impl Auth<'_> { from user where id = $1 "#, - login.id, + user.id, ) .fetch_one(&mut *self.0) .await?; - let login = History { + let user = History { user: User { id: row.id, name: Name::new(row.display_name, row.canonical_name)?, @@ -77,7 +77,7 @@ impl Auth<'_> { 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 145ba2d..e49c2d4 100644 --- a/src/token/repo/token.rs +++ b/src/token/repo/token.rs @@ -27,12 +27,12 @@ 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#" @@ -43,7 +43,7 @@ impl Tokens<'_> { "#, id, secret, - login, + user, issued_at, ) .fetch_one(&mut *self.0) @@ -85,8 +85,8 @@ impl Tokens<'_> { } // Revoke tokens for a login - pub async fn revoke_all(&mut self, login: &user::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 @@ -94,7 +94,7 @@ impl Tokens<'_> { where user = $1 returning id as "id: Id" "#, - login, + user, ) .fetch_all(&mut *self.0) .await?; @@ -132,7 +132,7 @@ 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 @@ -148,7 +148,7 @@ impl Tokens<'_> { .fetch_one(&mut *self.0) .await?; - let login = sqlx::query!( + let user = sqlx::query!( r#" select id as "id: user::Id", @@ -159,7 +159,7 @@ impl Tokens<'_> { from user where id = $1 "#, - login, + user, ) .map(|row| { Ok::<_, name::Error>(History { @@ -173,7 +173,7 @@ impl Tokens<'_> { .fetch_one(&mut *self.0) .await??; - Ok((token, login)) + Ok((token, user)) } } |
