exportAll method
Implementation
Future<Map<String, dynamic>> exportAll() async {
try {
final secureKeys = await secure.getKeys();
final prefsKeys = prefs.getKeys();
final cacheInfo = await images.getCacheInfo();
final Map<String, dynamic> exportData = {
'version': '1.0.0',
'exportedAt': DateTime.now().toIso8601String(),
'auth': auth.export(),
'secure': {},
'prefs': {},
'images': {
'count': cacheInfo.fileCount,
'size': cacheInfo.totalSize,
'metadata': images.getImagesMetadata().map(
(url, date) => MapEntry(url, date.toIso8601String()),
),
},
};
for (var key in secureKeys) {
exportData['secure'][key] = await secure.read(key);
}
for (var key in prefsKeys) {
exportData['prefs'][key] = await prefs.read(key);
}
return exportData;
} catch (e) {
throw StorageException(
'Error exportando datos',
details: e.toString(),
);
}
}