sendFiles method

Future<MessageModel> sendFiles({
  1. required String roomId,
  2. required Uint8List bytesFile,
  3. required String name,
  4. required String type,
})

Implementation

Future<MessageModel> sendFiles({
  required String roomId,
  required Uint8List bytesFile,
  required String name,
  required String type,
}) async {
  final message = MessageModel(
    roomId: roomId,
    fileTime: DateFormat('hh:mm a').format(DateTime.now()),
    file: MediaFile(
      dataSend: bytesFile,
      type: type, //    'image'  'video'  'sound'  'record'  'file',
      name: name,
    ),
  );
  final completer = Completer<void>();
  SocketService().socket.emitWithAck(
    'uploadFiles',
    message.toJson(),
    ack: (data) {
      message.messageId = data['messageId'];
      message.senderId = data['senderId'];
      completer.complete();
    },
  );
  await completer.future;
  return message;
}