mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 08:15:16 +00:00
Handles messages update events
This commit is contained in:
@ -342,9 +342,7 @@ class ConversationsHelper {
|
||||
|
||||
if (response.code != 200) return false;
|
||||
|
||||
// Update the message content locally
|
||||
return await _conversationMessagesDatabaseHelper.updateMessageContent(
|
||||
id: id, newContent: newContent);
|
||||
return true;
|
||||
}
|
||||
|
||||
/// Delete permanently a message specified by its [id]
|
||||
|
@ -2,7 +2,6 @@ import 'package:comunic/helpers/database/database_contract.dart';
|
||||
import 'package:comunic/helpers/database/model_database_helper.dart';
|
||||
import 'package:comunic/lists/conversation_messages_list.dart';
|
||||
import 'package:comunic/models/conversation_message.dart';
|
||||
import 'package:meta/meta.dart';
|
||||
|
||||
/// Conversation messages database helper
|
||||
///
|
||||
@ -35,26 +34,4 @@ class ConversationMessagesDatabaseHelper
|
||||
finalList.addAll(list);
|
||||
return finalList;
|
||||
}
|
||||
|
||||
/// Update the content of a message
|
||||
Future<bool> updateMessageContent({
|
||||
@required int id,
|
||||
@required String newContent,
|
||||
}) async {
|
||||
assert(id != null);
|
||||
assert(newContent != null);
|
||||
|
||||
final message = await get(id);
|
||||
|
||||
if(message == null)
|
||||
return false;
|
||||
|
||||
// Update the conversation message using the map
|
||||
final map = message.toMap();
|
||||
map[ConversationsMessagesTableContract.C_MESSAGE] = newContent;
|
||||
|
||||
await insertOrUpdate(ConversationMessage.fromMap(map));
|
||||
|
||||
return true; // Success
|
||||
}
|
||||
}
|
||||
|
@ -53,6 +53,13 @@ class NewConversationMessageEvent {
|
||||
NewConversationMessageEvent(this.msg);
|
||||
}
|
||||
|
||||
/// Updated conversation message
|
||||
class UpdatedConversationMessageEvent {
|
||||
final ConversationMessage msg;
|
||||
|
||||
UpdatedConversationMessageEvent(this.msg);
|
||||
}
|
||||
|
||||
|
||||
class EventsHelper {
|
||||
static EventBus _mgr = EventBus();
|
||||
|
@ -144,6 +144,12 @@ class WebSocketHelper {
|
||||
ConversationsHelper.apiToConversationMessage(msg.data)));
|
||||
break;
|
||||
|
||||
// Update conversation message content
|
||||
case "updated_conv_message":
|
||||
EventsHelper.emit(UpdatedConversationMessageEvent(
|
||||
ConversationsHelper.apiToConversationMessage(msg.data)));
|
||||
break;
|
||||
|
||||
default:
|
||||
throw Exception("Unknown message type: ${msg.title}");
|
||||
}
|
||||
|
Reference in New Issue
Block a user