getStats method

Future<Map<String, dynamic>> getStats()

Implementation

Future<Map<String, dynamic>> getStats() async {
  final secureKeys = await secure.getKeys();
  final prefsKeys = prefs.getKeys();
  final cacheInfo = await images.getCacheInfo();
  final authData = await auth.get();

  return {
    'auth': {
      'isAuthenticated': auth.isAuthenticated.value,
      'hasMfaCode': auth.isMfaCodeValid.value,
      'hasRole': auth.role.value != null,
    },
    'secure': {
      'count': secureKeys.length,
      'keys': secureKeys,
    },
    'prefs': {
      'count': prefsKeys.length,
      'keys': prefsKeys,
    },
    'images': {
      'count': cacheInfo.fileCount,
      'size': cacheInfo.totalSize,
      'formattedSize': cacheInfo.formattedSize,
      'metadata': images.getImagesMetadata(),
    },
    'total': {
      'items': secureKeys.length + prefsKeys.length + cacheInfo.fileCount + (authData != null ? 1 : 0),
    },
  };
}