1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-09-25 14:19:45 +00:00

Make all HTTP routes asynchronous

This commit is contained in:
2022-03-11 21:56:08 +01:00
parent 13e73ede8b
commit b2514351a1
24 changed files with 161 additions and 156 deletions

View File

@@ -47,7 +47,7 @@ impl HttpRequestHandler {
}
/// Create a new account
pub fn create(r: &mut HttpRequestHandler) -> RequestResult {
pub async fn create(r: &mut HttpRequestHandler) -> RequestResult {
// Get & check email
let email = r.post_email("emailAddress")?;
@@ -68,7 +68,7 @@ pub fn create(r: &mut HttpRequestHandler) -> RequestResult {
}
/// Sign in user
pub fn login_user(request: &mut HttpRequestHandler) -> RequestResult {
pub async fn login_user(request: &mut HttpRequestHandler) -> RequestResult {
let email = request.post_email("mail")?;
let password = request.post_string("password")?;
@@ -92,7 +92,7 @@ pub fn login_user(request: &mut HttpRequestHandler) -> RequestResult {
}
/// Sign out user
pub fn logout_user(request: &mut HttpRequestHandler) -> RequestResult {
pub async fn logout_user(request: &mut HttpRequestHandler) -> RequestResult {
if let Some(token) = request.user_access_token() {
account_helper::destroy_login_tokens(token)?;
}
@@ -101,39 +101,39 @@ pub fn logout_user(request: &mut HttpRequestHandler) -> RequestResult {
}
/// Disconnect a user from all his devices
pub fn disconnect_all_devices(r: &mut HttpRequestHandler) -> RequestResult {
pub async fn disconnect_all_devices(r: &mut HttpRequestHandler) -> RequestResult {
account_helper::destroy_all_user_tokens(r.user_id_ref()?)?;
r.success("Successfully disconnected!")
}
/// Get current user ID
pub fn user_id(request: &mut HttpRequestHandler) -> RequestResult {
pub async fn user_id(request: &mut HttpRequestHandler) -> RequestResult {
request.set_response(CurrentUserID::new(&request.user_id()?))
}
/// Get current user email address
pub fn get_mail(r: &mut HttpRequestHandler) -> RequestResult {
pub async fn get_mail(r: &mut HttpRequestHandler) -> RequestResult {
let user = user_helper::find_user_by_id(r.user_id_ref()?)?;
r.set_response(UserMailAddressAPI::new(&user))
}
/// Check out whether an email address exists or not
pub fn exists_mail(r: &mut HttpRequestHandler) -> RequestResult {
pub async fn exists_mail(r: &mut HttpRequestHandler) -> RequestResult {
let email = r.post_email("email")?;
r.set_response(ResCheckEmailExists::new(account_helper::exists_mail(&email)?))
}
/// Check out whether a given user has set security questions or not
pub fn has_security_questions(r: &mut HttpRequestHandler) -> RequestResult {
pub async fn has_security_questions(r: &mut HttpRequestHandler) -> RequestResult {
let user = r.post_user_info_from_email("email")?;
r.set_response(ResCheckSecurityQuestionsExists::new(user.has_security_questions()))
}
/// Get the security questions of a user
pub fn get_security_questions(r: &mut HttpRequestHandler) -> RequestResult {
pub async fn get_security_questions(r: &mut HttpRequestHandler) -> RequestResult {
let user = r.post_user_info_from_email("email")?;
if !user.has_security_questions() {
@@ -144,7 +144,7 @@ pub fn get_security_questions(r: &mut HttpRequestHandler) -> RequestResult {
}
/// Check the security answers given by a user to reset a password
pub fn check_security_answers(r: &mut HttpRequestHandler) -> RequestResult {
pub async fn check_security_answers(r: &mut HttpRequestHandler) -> RequestResult {
let user = r.post_user_info_from_email("email")?;
if !user.has_security_questions() {
@@ -171,7 +171,7 @@ pub fn check_security_answers(r: &mut HttpRequestHandler) -> RequestResult {
}
/// Check the validity of a password reset token
pub fn check_password_reset_token(r: &mut HttpRequestHandler) -> RequestResult {
pub async fn check_password_reset_token(r: &mut HttpRequestHandler) -> RequestResult {
let user_id = r.post_user_id_from_password_reset_token("reset_token")?;
let user = user_helper::find_user_by_id(&user_id)?;
@@ -179,7 +179,7 @@ pub fn check_password_reset_token(r: &mut HttpRequestHandler) -> RequestResult {
}
/// Reset user password
pub fn reset_user_password(r: &mut HttpRequestHandler) -> RequestResult {
pub async fn reset_user_password(r: &mut HttpRequestHandler) -> RequestResult {
let user_id = r.post_user_id_from_password_reset_token("reset_token")?;
let new_password = r.post_string_opt("password", 3, true)?;
@@ -191,7 +191,7 @@ pub fn reset_user_password(r: &mut HttpRequestHandler) -> RequestResult {
}
/// Export account's data
pub fn export_data(r: &mut HttpRequestHandler) -> RequestResult {
pub async fn export_data(r: &mut HttpRequestHandler) -> RequestResult {
r.need_user_password("password")?;
let data = account_helper::export(r.user_id_ref()?)?;
@@ -200,7 +200,7 @@ pub fn export_data(r: &mut HttpRequestHandler) -> RequestResult {
}
/// Delete an account
pub fn delete_account(r: &mut HttpRequestHandler) -> RequestResult {
pub async fn delete_account(r: &mut HttpRequestHandler) -> RequestResult {
r.need_user_password("password")?;
if r.user_id()?.id() < 2 {