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:
@@ -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 {
|
||||
|
Reference in New Issue
Block a user