immich/mobile/lib/providers/infrastructure/sync_stream.provider.dart
2025-04-10 02:32:53 +05:30

28 lines
981 B
Dart

import 'dart:async';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/domain/services/sync_stream.service.dart';
import 'package:immich_mobile/infrastructure/repositories/sync_api.repository.dart';
import 'package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart';
import 'package:immich_mobile/providers/api.provider.dart';
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
final syncStreamServiceProvider = Provider((ref) {
final instance = SyncStreamService(
syncApiRepository: ref.watch(syncApiRepositoryProvider),
syncStreamRepository: ref.watch(syncStreamRepositoryProvider),
);
ref.onDispose(() => unawaited(instance.dispose()));
return instance;
});
final syncApiRepositoryProvider = Provider(
(ref) => SyncApiRepository(ref.watch(apiServiceProvider)),
);
final syncStreamRepositoryProvider = Provider(
(ref) => DriftSyncStreamRepository(ref.watch(driftProvider)),
);