summaryrefslogtreecommitdiff
path: root/src/token/app.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/token/app.rs')
-rw-r--r--src/token/app.rs36
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),