list method

Future<MessageListResult> list(
  1. String server, {
  2. int? page,
  3. int? itemsPerPage,
  4. int? receivedAfter,
  5. String? dir,
})

Implementation

Future<MessageListResult> list(String server, {int? page, int? itemsPerPage, int? receivedAfter, String? dir}) async {
  final url = Uri.parse('${baseUrl}api/messages');

  final params = {
    'server': server,
    'page': page?.toString(),
    'itemsPerPage': itemsPerPage?.toString(),
    'receivedAfter': receivedAfter?.toString(),
    'dir': dir
  }..removeWhere((key, value) => value == null);

  final response = await client.get(url.replace(queryParameters: params));

  if (response.statusCode != 200) {
    throw MailosaurError(response);
  }

  return MessageListResult.fromJson(jsonDecode(response.body));
}