Skip to content

Commit d370db8

Browse files
committed
Fix weird sqlcipher factor inheritance
1 parent ad65733 commit d370db8

File tree

4 files changed

+21
-12
lines changed

4 files changed

+21
-12
lines changed

packages/powersync_core/lib/web.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ library;
44
export 'src/web/worker_utils.dart' show PowerSyncAdditionalOpenOptions;
55
export 'package:sqlite_async/sqlite3_web.dart';
66
export 'package:sqlite_async/web.dart';
7+
8+
import 'src/open_factory/web/web_open_factory.dart';
9+
10+
typedef PowerSyncWebOpenFactory = PowerSyncOpenFactory;

packages/powersync_sqlcipher/lib/powersync.dart

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,14 @@ import 'src/stub.dart'
1414

1515
/// A factory for opening a database with SQLCipher encryption.
1616
/// An encryption [key] is required to open the database.
17-
abstract base class PowerSyncSQLCipherOpenFactory extends PowerSyncOpenFactory {
18-
PowerSyncSQLCipherOpenFactory.internal(
19-
{required super.path, required this.key, super.sqliteOptions});
20-
17+
abstract interface class PowerSyncSQLCipherOpenFactory
18+
extends PowerSyncOpenFactory {
2119
factory PowerSyncSQLCipherOpenFactory(
2220
{required String path,
2321
required String key,
2422
SqliteOptions sqliteOptions = powerSyncDefaultSqliteOptions}) {
2523
return cipherFactory(path: path, key: key, options: sqliteOptions);
2624
}
2725

28-
final String key;
26+
String get key;
2927
}

packages/powersync_sqlcipher/lib/src/sqlcipher.dart

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,16 @@ import 'package:sqlcipher_flutter_libs/sqlcipher_flutter_libs.dart';
55

66
import '../powersync.dart';
77

8-
final class _NativeCipherOpenFactory extends PowerSyncSQLCipherOpenFactory {
8+
final class _NativeCipherOpenFactory extends PowerSyncOpenFactory
9+
implements PowerSyncSQLCipherOpenFactory {
10+
@override
11+
final String key;
12+
913
_NativeCipherOpenFactory({
1014
required super.path,
11-
required super.key,
15+
required this.key,
1216
super.sqliteOptions,
13-
}) : super.internal();
17+
});
1418

1519
@override
1620
List<String> pragmaStatements(SqliteOpenOptions options) {

packages/powersync_sqlcipher/lib/src/web_encryption.dart

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ import 'package:powersync_core/web.dart';
33

44
import '../powersync.dart';
55

6-
final class _WebEncryptionFactory extends PowerSyncSQLCipherOpenFactory
7-
with WebSqliteOpenFactory {
6+
final class _WebEncryptionFactory extends PowerSyncWebOpenFactory
7+
implements PowerSyncSQLCipherOpenFactory {
8+
@override
9+
final String key;
10+
811
_WebEncryptionFactory({
912
required super.path,
10-
required super.key,
13+
required this.key,
1114
super.sqliteOptions,
12-
}) : super.internal();
15+
});
1316

1417
@override
1518
List<String> pragmaStatements(SqliteOpenOptions options) {

0 commit comments

Comments
 (0)