diff options
Diffstat (limited to 'src/token/app.rs')
| -rw-r--r-- | src/token/app.rs | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/token/app.rs b/src/token/app.rs index 3f054ff..46b2d73 100644 --- a/src/token/app.rs +++ b/src/token/app.rs @@ -12,8 +12,8 @@ use super::{ use crate::{ clock::DateTime, db::NotFound as _, - login::{Login, Password, repo::Provider as _}, name::{self, Name}, + user::{Password, User, repo::Provider as _}, }; pub struct Tokens<'a> { @@ -31,9 +31,9 @@ impl<'a> Tokens<'a> { name: &Name, password: &Password, login_at: &DateTime, - ) -> Result<(Login, Secret), LoginError> { + ) -> 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: &Login, + user: &User, password: &Password, to: &Password, changed_at: &DateTime, - ) -> Result<(Login, Secret), LoginError> { + ) -> 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.logins().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) { @@ -105,18 +105,18 @@ impl<'a> Tokens<'a> { &self, secret: &Secret, used_at: &DateTime, - ) -> Result<(Id, Login), ValidateError> { + ) -> 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>( @@ -226,7 +226,7 @@ impl From<repo::auth::LoadError> for LoginError { pub enum ValidateError { #[error("invalid token")] InvalidToken, - #[error("login deleted")] + #[error("user deleted")] LoginDeleted, #[error(transparent)] Database(#[from] sqlx::Error), |
