listTransactions method
Implementation
Future<List<Map<String, dynamic>>> listTransactions() async {
await ensureReady();
final files = await _directory!
.list()
.where((entity) => entity is File && entity.path.endsWith('.json'))
.cast<File>()
.toList();
files.sort((a, b) => b.path.compareTo(a.path));
final results = <Map<String, dynamic>>[];
for (final file in files) {
try {
final raw = await file.readAsString();
final decoded = jsonDecode(raw);
results.add({
'filename': path.basename(file.path),
'path': file.path,
'data': decoded,
});
} catch (_) {
results.add({
'filename': path.basename(file.path),
'path': file.path,
'data': null,
'error': 'Failed to parse transaction file',
});
}
}
return results;
}