getSinaChatMessages method

Future<List<ChatMessage>> getSinaChatMessages({
  1. required String sessionId,
  2. int page = 1,
  3. int perPage = 20,
})

gets a list of chats based on sessions Id. Returns the chat messages list if the API call is successful.

Implementation

Future<List<ChatMessage>> getSinaChatMessages({
  required String sessionId,
  int page = 1,
  int perPage = 20
}) async {
  final response =
  await callApi(
      perPage: perPage,
      page: page,
      endpoint: 'chats/$sessionId/messages',
      method: 'get',
      isSinaAPI: true);

  if (response.statusCode == 200) {
    final dynamic responseData = json.decode(response.body);
    final List<dynamic> rawList = responseData['data'] as List<dynamic>;
     final List<ChatMessage> chatMessagesList = rawList
        .map<ChatMessage>((json) => ChatMessage.fromJson(json as Map<String, dynamic>))
        .toList();
    return chatMessagesList;
  } else {
    throw Exception(response);
  }
}