getMessageHistory method
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 [];
}