mirror of
https://github.com/immich-app/immich.git
synced 2026-07-28 14:47:30 -07:00
44 lines
1.8 KiB
Dart
44 lines
1.8 KiB
Dart
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
import 'package:immich_mobile/domain/services/asset.service.dart';
|
|
import 'package:immich_mobile/infrastructure/repositories/local_asset.repository.dart';
|
|
import 'package:immich_mobile/infrastructure/repositories/remote_asset.repository.dart';
|
|
import 'package:immich_mobile/infrastructure/repositories/remote_exif.repository.dart';
|
|
import 'package:immich_mobile/infrastructure/repositories/trashed_local_asset.repository.dart';
|
|
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
|
import 'package:immich_mobile/providers/user.provider.dart';
|
|
import 'package:immich_mobile/repositories/asset_api.repository.dart';
|
|
|
|
final localAssetRepository = Provider<DriftLocalAssetRepository>(
|
|
(ref) => DriftLocalAssetRepository(ref.watch(driftProvider)),
|
|
);
|
|
|
|
final remoteAssetRepositoryProvider = Provider<RemoteAssetRepository>(
|
|
(ref) => RemoteAssetRepository(ref.watch(driftProvider)),
|
|
);
|
|
|
|
final remoteExifRepositoryProvider = Provider((ref) => RemoteExifRepository(ref.watch(driftProvider)));
|
|
|
|
final trashedLocalAssetRepository = Provider<DriftTrashedLocalAssetRepository>(
|
|
(ref) => DriftTrashedLocalAssetRepository(ref.watch(driftProvider)),
|
|
);
|
|
|
|
final assetServiceProvider = Provider(
|
|
(ref) => AssetService(
|
|
remoteRepository: ref.watch(remoteAssetRepositoryProvider),
|
|
exifRepository: ref.watch(remoteExifRepositoryProvider),
|
|
localRepository: ref.watch(localAssetRepository),
|
|
apiRepository: ref.watch(assetApiRepositoryProvider),
|
|
),
|
|
);
|
|
|
|
final placesProvider = FutureProvider<List<(String, String)>>((ref) {
|
|
final assetService = ref.watch(assetServiceProvider);
|
|
final auth = ref.watch(currentUserProvider);
|
|
|
|
if (auth == null) {
|
|
return Future.value(const []);
|
|
}
|
|
|
|
return assetService.getPlaces(auth.id);
|
|
});
|