getMessageHistory method

Future<List<LiveTalkMessageEntity>> getMessageHistory({
  1. required int page,
  2. int size = 15,
})

Implementation

Future<List<LiveTalkMessageEntity>> getMessageHistory({
  required int page,
  int size = 15,
}) 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/message/search_for_guest?page=$page&size=$size'),
  );
  request.body = json.encode({});
  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);
    }
    final items = jsonData["payload"]["items"] as List;
    return List.generate(
      items.length,
      (index) => LiveTalkMessageEntity.fromJson(items[index]),
    );
  }
  return [];
}