Can delete account

This commit is contained in:
2023-06-06 10:19:54 +02:00
parent 85e5be0328
commit 2f3f61b159
3 changed files with 29 additions and 4 deletions
geneit_backend/src

@ -115,7 +115,7 @@ pub async fn request_delete_account(remote_ip: RemoteIP, token: LoginToken) -> H
}
#[derive(serde::Deserialize)]
pub struct DeleteTokenBody {
pub struct DeleteAccountTokenBody {
token: String,
}
@ -125,8 +125,17 @@ struct CheckDeleteTokenResponse {
}
/// Check delete account token
pub async fn check_delete_token(req: Json<DeleteTokenBody>) -> HttpResult {
let token = users_service::get_by_account_delete_token(&req.token).await?;
pub async fn check_delete_token(req: Json<DeleteAccountTokenBody>) -> HttpResult {
let user = users_service::get_by_account_delete_token(&req.token).await?;
Ok(HttpResponse::Ok().json(CheckDeleteTokenResponse { email: token.email }))
Ok(HttpResponse::Ok().json(CheckDeleteTokenResponse { email: user.email }))
}
/// Delete account
pub async fn delete_account(req: Json<DeleteAccountTokenBody>) -> HttpResult {
let user = users_service::get_by_account_delete_token(&req.token).await?;
users_service::delete_account(&user).await?;
Ok(HttpResponse::Accepted().finish())
}