Skip to content

Commit 248d748

Browse files
committed
Reduce public interface
1 parent bd26d9e commit 248d748

22 files changed

+252
-297
lines changed

demos/supabase-todolist/lib/attachments/photo_widget.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ import 'dart:io';
33
import 'package:path_provider/path_provider.dart';
44
import 'package:path/path.dart' as p;
55
import 'package:flutter/material.dart';
6-
import 'package:powersync_core/attachments_stream/attachment.dart';
6+
import 'package:powersync_core/attachments.dart';
77
import 'package:powersync_flutter_demo/attachments/camera_helpers.dart';
88
import 'package:powersync_flutter_demo/attachments/photo_capture_widget.dart';
9-
import 'package:powersync_flutter_demo/attachments/queue.dart';
109

1110
import '../models/todo_item.dart';
11+
import '../powersync.dart';
1212

1313
class PhotoWidget extends StatefulWidget {
1414
final TodoItem todo;
@@ -44,7 +44,7 @@ class _PhotoWidgetState extends State<PhotoWidget> {
4444

4545
bool fileExists = await File(photoPath).exists();
4646

47-
final row = await attachmentQueue.db
47+
final row = await db
4848
.getOptional('SELECT * FROM attachments_queue WHERE id = ?', [photoId]);
4949

5050
if (row != null) {

demos/supabase-todolist/lib/attachments/queue.dart

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import 'dart:io';
44
import 'package:logging/logging.dart';
55
import 'package:path_provider/path_provider.dart';
66
import 'package:powersync/powersync.dart';
7-
import 'package:powersync_core/attachments_stream/attachment_queue_service.dart';
8-
import 'package:powersync_core/attachments_stream/storage/io_local_storage.dart';
9-
import 'package:powersync_core/attachments_stream/attachment.dart';
7+
import 'package:powersync_core/attachments.dart';
8+
import 'package:powersync_core/attachments/io.dart';
9+
1010
import 'package:powersync_flutter_demo/attachments/remote_storage_adapter.dart';
1111

1212
late AttachmentQueue attachmentQueue;
@@ -21,15 +21,18 @@ Future<void> initializeAttachmentQueue(PowerSyncDatabase db) async {
2121
db: db,
2222
remoteStorage: remoteStorage,
2323
logger: logger,
24-
localStorage: IOLocalStorage(appDocDir.path),
24+
localStorage: IOLocalStorage(appDocDir),
2525
watchAttachments: () => db.watch('''
2626
SELECT photo_id as id FROM todos WHERE photo_id IS NOT NULL
27-
''').map((results) => results
28-
.map((row) => WatchedAttachmentItem(
29-
id: row['id'] as String,
30-
fileExtension: 'jpg',
31-
))
32-
.toList()),
27+
''').map(
28+
(results) => [
29+
for (final row in results)
30+
WatchedAttachmentItem(
31+
id: row['id'] as String,
32+
fileExtension: 'jpg',
33+
)
34+
],
35+
),
3336
);
3437

3538
await attachmentQueue.startSync();

demos/supabase-todolist/lib/attachments/remote_storage_adapter.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import 'dart:io';
22
import 'dart:typed_data';
3-
import 'package:powersync_core/attachments_stream/attachment.dart';
4-
import 'package:powersync_core/attachments_stream/abstractions/remote_storage.dart';
3+
4+
import 'package:powersync_core/attachments.dart';
55
import 'package:powersync_flutter_demo/app_config.dart';
66
import 'package:supabase_flutter/supabase_flutter.dart';
77
import 'package:logging/logging.dart';
88

9-
class SupabaseStorageAdapter implements AbstractRemoteStorageAdapter {
9+
class SupabaseStorageAdapter implements RemoteAttachmentStorage {
1010
static final _log = Logger('SupabaseStorageAdapter');
1111

1212
@override

demos/supabase-todolist/lib/models/schema.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import 'package:powersync/powersync.dart';
2-
import 'package:powersync_core/attachments_stream/attachment.dart';
2+
import 'package:powersync_core/attachments.dart';
33

44
const todosTable = 'todos';
55

@@ -22,6 +22,5 @@ Schema schema = Schema(([
2222
Column.text('name'),
2323
Column.text('owner_id')
2424
]),
25-
AttachmentsQueueTable(
26-
attachmentsQueueTableName: defaultAttachmentsQueueTableName)
25+
AttachmentsQueueTable()
2726
]));

demos/supabase-todolist/pubspec.lock

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -300,10 +300,10 @@ packages:
300300
dependency: transitive
301301
description:
302302
name: http
303-
sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b"
303+
sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007
304304
url: "https://pub.dev"
305305
source: hosted
306-
version: "1.4.0"
306+
version: "1.5.0"
307307
http_multi_server:
308308
dependency: transitive
309309
description:
@@ -364,26 +364,26 @@ packages:
364364
dependency: transitive
365365
description:
366366
name: leak_tracker
367-
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
367+
sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0"
368368
url: "https://pub.dev"
369369
source: hosted
370-
version: "10.0.9"
370+
version: "11.0.1"
371371
leak_tracker_flutter_testing:
372372
dependency: transitive
373373
description:
374374
name: leak_tracker_flutter_testing
375-
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
375+
sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
376376
url: "https://pub.dev"
377377
source: hosted
378-
version: "3.0.9"
378+
version: "3.0.10"
379379
leak_tracker_testing:
380380
dependency: transitive
381381
description:
382382
name: leak_tracker_testing
383-
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
383+
sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
384384
url: "https://pub.dev"
385385
source: hosted
386-
version: "3.0.1"
386+
version: "3.0.2"
387387
lints:
388388
dependency: transitive
389389
description:
@@ -566,21 +566,28 @@ packages:
566566
path: "../../packages/powersync"
567567
relative: true
568568
source: path
569-
version: "1.15.0"
569+
version: "1.15.2"
570+
powersync_attachments_helper:
571+
dependency: "direct overridden"
572+
description:
573+
path: "../../packages/powersync_attachments_helper"
574+
relative: true
575+
source: path
576+
version: "0.6.19"
570577
powersync_core:
571578
dependency: "direct main"
572579
description:
573580
path: "../../packages/powersync_core"
574581
relative: true
575582
source: path
576-
version: "1.5.0"
583+
version: "1.5.2"
577584
powersync_flutter_libs:
578585
dependency: "direct overridden"
579586
description:
580587
path: "../../packages/powersync_flutter_libs"
581588
relative: true
582589
source: path
583-
version: "0.4.10"
590+
version: "0.4.11"
584591
pub_semver:
585592
dependency: transitive
586593
description:
@@ -766,18 +773,17 @@ packages:
766773
dependency: transitive
767774
description:
768775
name: sqlite3_web
769-
sha256: "967e076442f7e1233bd7241ca61f3efe4c7fc168dac0f38411bdb3bdf471eb3c"
776+
sha256: "0f6ebcb4992d1892ac5c8b5ecd22a458ab9c5eb6428b11ae5ecb5d63545844da"
770777
url: "https://pub.dev"
771778
source: hosted
772-
version: "0.3.1"
779+
version: "0.3.2"
773780
sqlite_async:
774781
dependency: "direct main"
775782
description:
776-
name: sqlite_async
777-
sha256: "9332aedd311a19dd215dcb55729bc68dc587dc7655b569ab8819b68ee0be0082"
778-
url: "https://pub.dev"
779-
source: hosted
780-
version: "0.11.7"
783+
path: "/Users/simon/src/sqlite_async.dart/packages/sqlite_async"
784+
relative: false
785+
source: path
786+
version: "0.12.1"
781787
stack_trace:
782788
dependency: transitive
783789
description:
@@ -846,26 +852,26 @@ packages:
846852
dependency: "direct dev"
847853
description:
848854
name: test
849-
sha256: "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e"
855+
sha256: "65e29d831719be0591f7b3b1a32a3cda258ec98c58c7b25f7b84241bc31215bb"
850856
url: "https://pub.dev"
851857
source: hosted
852-
version: "1.25.15"
858+
version: "1.26.2"
853859
test_api:
854860
dependency: transitive
855861
description:
856862
name: test_api
857-
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
863+
sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00"
858864
url: "https://pub.dev"
859865
source: hosted
860-
version: "0.7.4"
866+
version: "0.7.6"
861867
test_core:
862868
dependency: transitive
863869
description:
864870
name: test_core
865-
sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa"
871+
sha256: "80bf5a02b60af04b09e14f6fe68b921aad119493e26e490deaca5993fef1b05a"
866872
url: "https://pub.dev"
867873
source: hosted
868-
version: "0.6.8"
874+
version: "0.6.11"
869875
typed_data:
870876
dependency: transitive
871877
description:
@@ -958,10 +964,10 @@ packages:
958964
dependency: transitive
959965
description:
960966
name: vector_math
961-
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
967+
sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
962968
url: "https://pub.dev"
963969
source: hosted
964-
version: "2.1.4"
970+
version: "2.2.0"
965971
vm_service:
966972
dependency: transitive
967973
description:
@@ -1043,5 +1049,5 @@ packages:
10431049
source: hosted
10441050
version: "2.1.0"
10451051
sdks:
1046-
dart: ">=3.7.0 <4.0.0"
1052+
dart: ">=3.8.0-0 <4.0.0"
10471053
flutter: ">=3.27.0"

demos/supabase-todolist/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ environment:
1010
dependencies:
1111
flutter:
1212
sdk: flutter
13-
powersync_attachments_helper: ^0.6.19
1413
powersync: ^1.15.2
14+
powersync_core: ^1.5.2
1515
path_provider: ^2.1.1
1616
supabase_flutter: ^2.0.1
1717
path: ^1.8.3
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
dartdoc:
2+
categories:
3+
attachments:
4+
displayName: Attachments
5+
markdown: doc/attachments.md

packages/powersync_core/doc/attachments.md

Whitespace-only changes.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export 'src/attachments/attachment.dart';
2+
export 'src/attachments/attachment_queue_service.dart';
3+
export 'src/attachments/local_storage.dart';
4+
export 'src/attachments/remote_storage.dart';
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/// A platform-specific import supporting attachments on native platforms.
2+
///
3+
/// This library exports the [IOLocalStorage] class, implementing the
4+
/// [LocalStorageAdapter] interface by storing files under a root directory.
5+
///
6+
/// {@category attachments}
7+
library;
8+
9+
import '../src/attachments/io_local_storage.dart';
10+
import '../src/attachments/local_storage.dart';
11+
12+
export '../src/attachments/io_local_storage.dart';

0 commit comments

Comments
 (0)