mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +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