feat: drift partners (#20051)

* feat: drift toggle partner in timeline

* partners operation

* fix: lint
This commit is contained in:
Alex 2025-07-21 16:58:53 -05:00 committed by GitHub
parent 99e5b33969
commit 737e768212
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 703 additions and 23 deletions

View file

@ -1,10 +1,15 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/domain/models/user.model.dart';
import 'package:immich_mobile/domain/services/partner.service.dart';
import 'package:immich_mobile/domain/services/user.service.dart';
import 'package:immich_mobile/infrastructure/repositories/partner.repository.dart';
import 'package:immich_mobile/infrastructure/repositories/user.repository.dart';
import 'package:immich_mobile/infrastructure/repositories/user_api.repository.dart';
import 'package:immich_mobile/providers/api.provider.dart';
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
import 'package:immich_mobile/providers/infrastructure/partner.provider.dart';
import 'package:immich_mobile/providers/infrastructure/store.provider.dart';
import 'package:immich_mobile/repositories/partner_api.repository.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'user.provider.g.dart';
@ -23,3 +28,20 @@ UserService userService(Ref ref) => UserService(
userApiRepository: ref.watch(userApiRepositoryProvider),
storeService: ref.watch(storeServiceProvider),
);
/// Drifts
final driftPartnerRepositoryProvider = Provider<DriftPartnerRepository>(
(ref) => DriftPartnerRepository(ref.watch(driftProvider)),
);
final driftPartnerServiceProvider = Provider<DriftPartnerService>(
(ref) => DriftPartnerService(
ref.watch(driftPartnerRepositoryProvider),
ref.watch(partnerApiRepositoryProvider),
),
);
final partnerUsersProvider =
NotifierProvider<PartnerNotifier, List<PartnerUserDto>>(
PartnerNotifier.new,
);