mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
31 lines
1.5 KiB
Dart
31 lines
1.5 KiB
Dart
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
import 'package:immich_mobile/domain/models/person.model.dart';
|
|
import 'package:immich_mobile/domain/services/people.service.dart';
|
|
import 'package:immich_mobile/domain/services/person_merge_tracker.service.dart';
|
|
import 'package:immich_mobile/infrastructure/repositories/people.repository.dart';
|
|
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
|
import 'package:immich_mobile/repositories/person_api.repository.dart';
|
|
|
|
final driftPeopleRepositoryProvider = Provider<DriftPeopleRepository>(
|
|
(ref) => DriftPeopleRepository(ref.watch(driftProvider)),
|
|
);
|
|
|
|
final driftPeopleServiceProvider = Provider<DriftPeopleService>(
|
|
(ref) => DriftPeopleService(ref.watch(driftPeopleRepositoryProvider), ref.watch(personApiRepositoryProvider)),
|
|
);
|
|
|
|
final driftPeopleAssetProvider = FutureProvider.family<List<DriftPerson>, String>((ref, assetId) async {
|
|
final service = ref.watch(driftPeopleServiceProvider);
|
|
return service.getAssetPeople(assetId);
|
|
});
|
|
|
|
final driftGetAllPeopleProvider = FutureProvider<List<DriftPerson>>((ref) async {
|
|
final service = ref.watch(driftPeopleServiceProvider);
|
|
return service.getAllPeople();
|
|
});
|
|
|
|
final driftGetPersonByIdProvider = StreamProvider.family<DriftPerson?, String>((ref, personId) {
|
|
return ref.watch(driftPeopleServiceProvider).watchPersonById(personId);
|
|
});
|
|
|
|
final personMergeTrackerProvider = Provider<PersonMergeTrackerService>((ref) => PersonMergeTrackerService());
|