getMessageHistory method
Implementation
Future<List<LiveTalkMessageEntity>> getMessageHistory({
required int page,
int size = 15,
}) async {
if (_sdkInfo == null) throw _clientError(LiveTalkErrorCodes.emptyInfo);
final request = http.Request(
'POST',
Uri.parse('$_base${LiveTalkEndpoints.messageHistory}?page=$page&size=$size'),
)
..headers.addAll({
'Content-Type': 'application/json',
'Authorization': 'Bearer ${_sdkInfo!["access_token"]}',
})
..body = json.encode({});
final streamed = await request.send();
if (streamed.statusCode != 200) {
throw _httpError(streamed.statusCode, streamed.reasonPhrase);
}
final data = await streamed.stream.bytesToString();
final jsonData = json.decode(data) as Map<String, dynamic>;
if (jsonData['status_code'] == -9999) throw _apiBodyError(jsonData);
final items = jsonData['payload']['items'] as List;
return List.generate(
items.length,
(i) => LiveTalkMessageEntity.fromJson(items[i] as Map<String, dynamic>),
);
}