Refactor login tokens management

This commit is contained in:
2023-06-16 18:40:21 +02:00
parent f54dfde7f7
commit 9dd3811136
3 changed files with 104 additions and 49 deletions

@@ -5,7 +5,7 @@ use crate::connections::db_connection;
use crate::constants::{ACCOUNT_DELETE_TOKEN_DURATION, PASSWORD_RESET_TOKEN_DURATION};
use crate::models::{NewUser, User, UserID};
use crate::schema::users;
use crate::services::mail_service;
use crate::services::{login_token_service, mail_service};
use crate::utils::string_utils::rand_str;
use crate::utils::time_utils::time;
use bcrypt::DEFAULT_COST;
@@ -173,6 +173,8 @@ pub async fn delete_account(user: &User) -> anyhow::Result<()> {
// TODO : remove families memberships
login_token_service::disconnect_user_from_all_devices(user.id()).await?;
db_connection::execute(|conn| {
diesel::delete(users::dsl::users.filter(users::dsl::id.eq(user.id))).execute(conn)?;
Ok(())