mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-09-25 22:29:45 +00:00
Make all HTTP routes asynchronous
This commit is contained in:
@@ -31,7 +31,7 @@ use crate::utils::string_utils::remove_html_nodes;
|
||||
use crate::utils::user_data_utils::{delete_user_data_file_if_exists, user_data_path};
|
||||
|
||||
/// Create a new conversation
|
||||
pub fn create(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn create(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let mut members = r.post_users_id("users")?;
|
||||
|
||||
// Add current user ID if required
|
||||
@@ -55,14 +55,14 @@ pub fn create(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Get the list of conversations of a user
|
||||
pub fn get_list(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn get_list(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let list = conversations_helper::get_list_user(&r.user_id()?)?;
|
||||
|
||||
r.set_response(list.iter().map(|c| ConversationAPI::new(c)).collect::<Vec<ConversationAPI>>())
|
||||
}
|
||||
|
||||
/// Get information about a single conversation
|
||||
pub fn get_single(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn get_single(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let conv = r.post_conv("conversationID")?;
|
||||
let conv = conversations_helper::get_single(conv.conv_id)?;
|
||||
|
||||
@@ -70,7 +70,7 @@ pub fn get_single(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Update the settings of a conversation
|
||||
pub fn update_settings(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn update_settings(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let conv_membership = r.post_conv("conversationID")?;
|
||||
|
||||
// Update following state, if required
|
||||
@@ -105,7 +105,7 @@ pub fn update_settings(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Change conversation image
|
||||
pub fn change_image(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn change_image(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let conv_membership = r.post_conv_admin("convID")?;
|
||||
let conv = conversations_helper::get_single(conv_membership.conv_id)?;
|
||||
|
||||
@@ -119,7 +119,7 @@ pub fn change_image(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Delete conversation image
|
||||
pub fn delete_image(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn delete_image(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let conv_membership = r.post_conv_admin("convID")?;
|
||||
let conv = conversations_helper::get_single(conv_membership.conv_id)?;
|
||||
|
||||
@@ -129,7 +129,7 @@ pub fn delete_image(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Add a new member to a conversation
|
||||
pub fn add_member(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn add_member(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let conv_membership = r.post_conv("convID")?;
|
||||
let conv = conversations_helper::get_single(conv_membership.conv_id)?;
|
||||
|
||||
@@ -153,7 +153,7 @@ pub fn add_member(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Update admin status of a user
|
||||
pub fn set_admin(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn set_admin(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let conv_membership = r.post_conv_admin("convID")?;
|
||||
let conv = conversations_helper::get_single(conv_membership.conv_id)?;
|
||||
let user_to_update = r.post_user_id("userID")?;
|
||||
@@ -177,7 +177,7 @@ pub fn set_admin(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Remove a member from a conversation
|
||||
pub fn remove_member(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn remove_member(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let conv_membership = r.post_conv_admin("convID")?;
|
||||
let conv = conversations_helper::get_single(conv_membership.conv_id)?;
|
||||
|
||||
@@ -201,7 +201,7 @@ pub fn remove_member(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Find a private conversation
|
||||
pub fn find_private(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn find_private(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let other_user = r.post_user_id("otherUser")?;
|
||||
let allow_create = r.post_bool_opt("allowCreate", false);
|
||||
|
||||
@@ -236,7 +236,7 @@ pub fn find_private(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Refresh a single conversation
|
||||
pub fn refresh_single(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn refresh_single(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let conv = r.post_conv("conversationID")?;
|
||||
let last_message_id = r.post_u64("last_message_id")?;
|
||||
|
||||
@@ -262,7 +262,7 @@ pub fn refresh_single(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Get older messages of a conversation
|
||||
pub fn get_older_messages(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn get_older_messages(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let conv = r.post_conv("conversationID")?;
|
||||
let max_id = r.post_u64("oldest_message_id")? - 1;
|
||||
|
||||
@@ -280,7 +280,7 @@ pub fn get_older_messages(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Send a new message
|
||||
pub fn send_message(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn send_message(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let conv = r.post_conv("conversationID")?;
|
||||
|
||||
// Get associated file
|
||||
@@ -401,21 +401,21 @@ pub fn send_message(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Count the number of unread conversation of the user
|
||||
pub fn count_unread(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn count_unread(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let num = conversations_helper::count_unread_for_user(&r.user_id()?)?;
|
||||
|
||||
r.set_response(ResultCountUnreadConversations::new(num))
|
||||
}
|
||||
|
||||
/// Get the list of unread conversations of a user
|
||||
pub fn list_unread(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn list_unread(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let list = conversations_helper::get_list_unread(&r.user_id()?)?;
|
||||
|
||||
r.set_response(UnreadConversationAPI::for_list(&list)?)
|
||||
}
|
||||
|
||||
/// Delete a conversation
|
||||
pub fn delete_conversation(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn delete_conversation(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let conv_membership = r.post_conv("conversationID")?;
|
||||
let conv = conversations_helper::get_single(conv_membership.conv_id)?;
|
||||
|
||||
@@ -429,7 +429,7 @@ pub fn delete_conversation(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Update a single conversation message
|
||||
pub fn update_message(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn update_message(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let msg_id = r.post_u64("messageID")?;
|
||||
let new_content = r.post_string_opt("content", MIN_CONVERSATION_MESSAGE_LENGTH, true)?;
|
||||
|
||||
@@ -453,7 +453,7 @@ pub fn update_message(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Delete a conversation message
|
||||
pub fn delete_message(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub async fn delete_message(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let msg_id = r.post_u64("messageID")?;
|
||||
|
||||
if !conversations_helper::is_message_owner(&r.user_id()?, msg_id)? {
|
||||
|
Reference in New Issue
Block a user