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 r2UploadServiceProvider = Provider<R2UploadService>((ref) => R2UploadService());
|
||||||
final syncBundleWorkerProvider = Provider<SyncBundleWorker>((ref) => SyncBundleWorker(ref.watch(databaseProvider)));
|
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(
|
final firebaseSyncProvider = Provider<FirebaseSyncProvider>((ref) => FirebaseSyncProvider(
|
||||||
db: ref.watch(databaseProvider),
|
db: ref.watch(databaseProvider),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue