exportLogsToCSVAsBytes method
Implementation
Future<Uint8List> exportLogsToCSVAsBytes({
DateTime? startDate,
DateTime? endDate,
String? url,
String? method,
String? message,
}) async {
final logs = await fetchLogs(
startDate: startDate,
endDate: endDate,
url: url,
method: method,
message: message,
);
List<List<String>> csvData = [
[
"ID",
"URL",
"Method",
"Headers",
"Body",
"Status Code",
"Message",
"Timestamp"
],
];
for (var log in logs) {
csvData.add([
log['id'].toString(),
log['url'] ?? '',
log['method'] ?? '',
log['headers'] ?? '',
log['body'] ?? '',
log['statusCode']?.toString() ?? '',
log['message'] ?? '',
log['timestamp'] ?? '',
]);
}
String csv = const ListToCsvConverter().convert(csvData);
// Convert CSV to bytes
return Uint8List.fromList(utf8.encode(csv));
}