1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2025-07-03 15:13:29 +00:00

Can update a conversation message

This commit is contained in:
2019-05-04 10:24:38 +02:00
parent c8b68e71aa
commit 62125d7c3d
5 changed files with 151 additions and 21 deletions

View File

@ -292,6 +292,13 @@ class ConversationsHelper {
lastMessageID: lastMessageID);
}
/// Get a single conversation message from the local database
///
/// Returns the message if found or null in case of failure
Future<ConversationMessage> getSingleMessageFromCache(int messageID) async {
return await _conversationMessagesDatabaseHelper.get(messageID);
}
/// Send a new message to the server
Future<SendMessageResult> sendMessage(NewConversationMessage message) async {
final request = APIRequest(
@ -320,27 +327,34 @@ class ConversationsHelper {
return SendMessageResult.SUCCESS;
}
/// Update a message content
Future<bool> updateMessage(int id, String newContent) async {
final response = await APIRequest(
uri: "conversations/updateMessage",
needLogin: true,
args: {"messageID": id.toString(), "content": newContent}).exec();
if (response.code != 200) return false;
// Update the message content locally
return await _conversationMessagesDatabaseHelper.updateMessageContent(
id: id, newContent: newContent);
}
/// Delete permanently a message specified by its [id]
Future<bool> deleteMessage(int id) async {
// Delete the message online
final response = await APIRequest(
uri: "conversations/deleteMessage",
needLogin: true,
args: {
"messageID": id.toString()
}
).exec();
if(response.code != 200) return false;
uri: "conversations/deleteMessage",
needLogin: true,
args: {"messageID": id.toString()}).exec();
if (response.code != 200) return false;
// Delete the message locally
return await _conversationMessagesDatabaseHelper.delete(id);
}
/// Turn an API response into a ConversationMessage object
ConversationMessage _apiToConversationMessage({
@required int conversationID,