loadDB function

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

Implementation

Future<Map<String, dynamic>> loadDB() async {
  if (_dbCache != null) return _dbCache!;
  if (!await dbFile.exists()) {
    await dbFile.writeAsString('{}');
    _dbCache = {};
    return _dbCache!;
  }
  final raw = jsonDecode(await dbFile.readAsString());

  final db = <String, dynamic>{};
  raw.forEach((key, value) {
    if (value is String) {
      db[key] = {'path': value, 'last_scanned': '', 'last_opened': ''};
    } else {
      db[key] = value;
    }
  });

  _dbCache = db;
  return _dbCache!;
}