listMailboxDeliveries method
Implementation
Future<MailboxDeliveriesPage> listMailboxDeliveries({
required String projectId,
required String address,
int count = 100,
int offset = 0,
String? status,
String? recipient,
String? messageId,
}) async {
final encodedProjectId = Uri.encodeComponent(projectId);
final encodedAddress = Uri.encodeComponent(address);
final query = <String, String>{'count': '$count', 'offset': '$offset'};
if (status != null && status.trim().isNotEmpty) query['status'] = status;
if (recipient != null && recipient.trim().isNotEmpty) query['recipient'] = recipient;
if (messageId != null && messageId.trim().isNotEmpty) query['message_id'] = messageId;
final uri = Uri.parse(
'$baseUrl/accounts/projects/$encodedProjectId/mailboxes/$encodedAddress/deliveries',
).replace(queryParameters: query);
final response = await httpClient.get(uri);
if (response.statusCode >= 400) {
throw MeshagentException(
'Failed to list mailbox deliveries. '
'Status code: ${response.statusCode}, body: ${response.body}',
);
}
return MailboxDeliveriesPage.fromJson(jsonDecode(response.body) as Map<String, dynamic>);
}