Scope sync outbox to authenticated account
This commit is contained in:
parent
a6e732179e
commit
10a435ebad
|
|
@ -16,7 +16,16 @@ import 'sync_outbox.dart';
|
|||
|
||||
final r2UploadServiceProvider = Provider<R2UploadService>((ref) => R2UploadService());
|
||||
final syncBundleWorkerProvider = Provider<SyncBundleWorker>((ref) => SyncBundleWorker(ref.watch(databaseProvider)));
|
||||
final syncOutboxProvider = Provider<SyncOutbox>((ref) => SyncOutbox(ref.watch(sharedPreferencesProvider)));
|
||||
|
||||
/// Cloud sync state is account-scoped. The Firebase UID is intentionally part
|
||||
/// of the persisted namespace so signing out and into another account cannot
|
||||
/// inherit the previous account's synced/pending/failed ride state.
|
||||
final syncOutboxProvider = Provider<SyncOutbox>((ref) {
|
||||
final prefs = ref.watch(sharedPreferencesProvider);
|
||||
final user = ref.watch(currentUserProvider);
|
||||
final namespace = user?.uid ?? 'local';
|
||||
return SyncOutbox(prefs, storageNamespace: namespace);
|
||||
});
|
||||
|
||||
final firebaseSyncProvider = Provider<FirebaseSyncProvider>((ref) => FirebaseSyncProvider(
|
||||
db: ref.watch(databaseProvider),
|
||||
|
|
|
|||
Loading…
Reference in New Issue