sendMessage method

Future<MessageModel> sendMessage({
  1. required String mess,
  2. required String roomId,
})

Implementation

Future<MessageModel> sendMessage({
  required String mess,
  required String roomId,
}) async {
  MessageModel message = MessageModel(roomId: roomId, text: mess);
  final completer = Completer<void>();
  SocketService().socket.emitWithAck(
    'sendMessage',
    message.toJson(),
    ack: (data) {
      message.messageId = data['messageId'];
      message.senderId = data['senderId'];
      completer.complete();
    },
  );
  await completer.future;
  return message;
}