frindlymap/lib/modules/platform_android/src/android_database.dart

13 lines
695 B
Dart

import 'package:friendly_map/modules/core/core.dart';
import 'package:friendly_map/modules/storage/storage.dart';
import 'package:friendly_map/modules/storage/storage_sqlite.dart';
import 'package:sqflite_common/sqlite_api.dart' show Database;
import 'package:sqflite_sqlcipher/sqflite.dart' as cipher;
/// 암호화된 SQLite(SQLCipher)를 열어 저장소를 만든다. 암호는 [KeyProvider] 가 내준다.
Future<Storage> openEncryptedStorage(KeyProvider keys, {String name = 'friendly_map.db'}) async {
final dir = await cipher.getDatabasesPath();
final Database db = await cipher.openDatabase('$dir/$name', password: await keys.databasePassword());
return openSqliteStorage(db);
}