[mobile] Remove unused db for public keys ()

## Description
To keep the changes simple, we are not deleting any existing database
instances. In case we need to store this information in the future, we
will reuse the existing database instead of creating a new one.
This commit is contained in:
Neeraj Gupta 2024-03-07 16:37:20 +05:30 committed by GitHub
parent a8922203bf
commit a9cb6f3077
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 1 additions and 105 deletions

View file

@ -14,7 +14,6 @@ import 'package:photos/db/collections_db.dart';
import "package:photos/db/embeddings_db.dart";
import 'package:photos/db/files_db.dart';
import 'package:photos/db/memories_db.dart';
import 'package:photos/db/public_keys_db.dart';
import 'package:photos/db/trash_db.dart';
import 'package:photos/db/upload_locks_db.dart';
import 'package:photos/events/signed_in_event.dart';
@ -165,7 +164,7 @@ class Configuration {
: null;
await CollectionsDB.instance.clearTable();
await MemoriesDB.instance.clearTable();
await PublicKeysDB.instance.clearTable();
await UploadLocksDB.instance.clearTable();
await IgnoredFilesService.instance.reset();
await TrashDB.instance.clearTable();

View file

@ -1,89 +0,0 @@
import 'dart:async';
import 'dart:io';
import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';
import 'package:photos/models/public_key.dart';
import 'package:sqflite/sqflite.dart';
class PublicKeysDB {
static const _databaseName = "ente.public_keys.db";
static const _databaseVersion = 1;
static const table = 'public_keys';
static const columnEmail = 'email';
static const columnPublicKey = 'public_key';
PublicKeysDB._privateConstructor();
static final PublicKeysDB instance = PublicKeysDB._privateConstructor();
static Future<Database>? _dbFuture;
Future<Database> get database async {
_dbFuture ??= _initDatabase();
return _dbFuture!;
}
Future<Database> _initDatabase() async {
final Directory documentsDirectory =
await getApplicationDocumentsDirectory();
final String path = join(documentsDirectory.path, _databaseName);
return await openDatabase(
path,
version: _databaseVersion,
onCreate: _onCreate,
);
}
Future _onCreate(Database db, int version) async {
await db.execute(
'''
CREATE TABLE $table (
$columnEmail TEXT PRIMARY KEY NOT NULL,
$columnPublicKey TEXT NOT NULL
)
''',
);
}
Future<void> clearTable() async {
final db = await instance.database;
await db.delete(table);
}
Future<int> setKey(PublicKey key) async {
final db = await instance.database;
return db.insert(
table,
_getRow(key),
conflictAlgorithm: ConflictAlgorithm.replace,
);
}
Future<List<PublicKey>> searchByEmail(String email) async {
final db = await instance.database;
return _convertRows(
await db.query(
table,
where: '$columnEmail LIKE ?',
whereArgs: ['%$email%'],
),
);
}
Map<String, dynamic> _getRow(PublicKey key) {
final row = <String, dynamic>{};
row[columnEmail] = key.email;
row[columnPublicKey] = key.publicKey;
return row;
}
List<PublicKey> _convertRows(List<Map<String, dynamic>> rows) {
final keys = <PublicKey>[];
for (final row in rows) {
keys.add(PublicKey(row[columnEmail], row[columnPublicKey]));
}
return keys;
}
}

View file

@ -1,6 +0,0 @@
class PublicKey {
final String email;
final String publicKey;
PublicKey(this.email, this.publicKey);
}

View file

@ -12,7 +12,6 @@ import 'package:photos/core/constants.dart';
import "package:photos/core/errors.dart";
import 'package:photos/core/event_bus.dart';
import 'package:photos/core/network/network.dart';
import 'package:photos/db/public_keys_db.dart';
import "package:photos/events/account_configured_event.dart";
import 'package:photos/events/two_factor_status_change_event.dart';
import 'package:photos/events/user_details_changed_event.dart';
@ -21,7 +20,6 @@ import "package:photos/models/api/user/srp.dart";
import 'package:photos/models/delete_account.dart';
import 'package:photos/models/key_attributes.dart';
import 'package:photos/models/key_gen_result.dart';
import 'package:photos/models/public_key.dart' as public_key;
import 'package:photos/models/sessions.dart';
import 'package:photos/models/set_keys_request.dart';
import 'package:photos/models/set_recovery_key_request.dart';
@ -160,12 +158,6 @@ class UserService {
queryParameters: {"email": email},
);
final publicKey = response.data["publicKey"];
await PublicKeysDB.instance.setKey(
public_key.PublicKey(
email,
publicKey,
),
);
return publicKey;
} on DioError catch (e) {
if (e.response != null && e.response?.statusCode == 404) {