actionOnMessage method

Future<bool> actionOnMessage({
  1. required String content,
  2. required String id,
  3. required String action,
})

Implementation

Future<bool> actionOnMessage({
  required String content,
  required String id,
  required String action,
}) async {
  if (sdkInfo == null) {
    throw LiveTalkError(message: {"message": "empty_info"});
  }
  var headers = {
    'Content-Type': 'application/json',
    'Authorization': "Bearer ${_sdkInfo!["access_token"] as String}",
  };
  var request = http.Request(
    'POST',
    Uri.parse('$_baseUrl/guest/message/sender_action'),
  );
  request.body = json.encode({
    "content": content,
    "uuid": _uuid,
    "ref_id": id,
    "room_id": _sdkInfo!["room_id"],
    "action": action,
  });
  request.headers.addAll(headers);
  http.StreamedResponse response = await request.send();
  if ((response.statusCode ~/ 100) > 2) {
    throw LiveTalkError(message: {"message": response.reasonPhrase});
  }
  if (response.statusCode == 200) {
    final data = await response.stream.bytesToString();
    final jsonData = json.decode(data);
    if (jsonData["status_code"] == -9999) {
      throw LiveTalkError(message: jsonData);
    }
    return true;
  }
  return false;
}