getMessageList method

Future<MessagesData?> getMessageList({
  1. int pageSize = 10,
  2. String? toNumber,
  3. String? fromNumber,
})

Implementation

Future<MessagesData?> getMessageList({
  int pageSize = 10,
  String? toNumber,
  String? fromNumber,
}) async {
  var url = '${NetworkService.instance.url}?PageSize=$pageSize';
  if (fromNumber != null) {
    url += '&From=$fromNumber';
  }
  if (toNumber != null) {
    url += '&To=$toNumber';
  }
  final response = await NetworkService.instance.get(url);
  if (response != null) {
    final responseMap = json.decode(response.body) as Map<String, dynamic>;

    final status = int.tryParse(responseMap['status'].toString());
    if (status != null && statusInSuccess(status)) {
      throw MessageFailedException(status, responseMap['message'].toString());
    }

    final messagesData = MessagesData.fromJSON(responseMap);

    return messagesData;
  } else {
    throw Exception('Response is null');
  }
}