1
0
mirror of https://github.com/immich-app/immich.git synced 2025-08-08 23:07:06 +02:00

refactor(mobile): partners provider (#16299)

* refactor(mobile): partners provider

* update analysis option

* update analysis option
This commit is contained in:
Alex
2025-02-25 08:52:33 -06:00
committed by GitHub
parent 392f9f205c
commit 579321251f
5 changed files with 90 additions and 17 deletions

View File

@ -1,7 +1,9 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/entities/user.entity.dart';
import 'package:immich_mobile/interfaces/partner.interface.dart';
import 'package:immich_mobile/interfaces/partner_api.interface.dart';
import 'package:immich_mobile/interfaces/user.interface.dart';
import 'package:immich_mobile/repositories/partner.repository.dart';
import 'package:immich_mobile/repositories/partner_api.repository.dart';
import 'package:immich_mobile/repositories/user.repository.dart';
import 'package:logging/logging.dart';
@ -10,19 +12,38 @@ final partnerServiceProvider = Provider(
(ref) => PartnerService(
ref.watch(partnerApiRepositoryProvider),
ref.watch(userRepositoryProvider),
ref.watch(partnerRepositoryProvider),
),
);
class PartnerService {
final IPartnerApiRepository _partnerApiRepository;
final IPartnerRepository _partnerRepository;
final IUserRepository _userRepository;
final Logger _log = Logger("PartnerService");
PartnerService(
this._partnerApiRepository,
this._userRepository,
this._partnerRepository,
);
Future<List<User>> getSharedWith() async {
return _partnerRepository.getSharedWith();
}
Future<List<User>> getSharedBy() async {
return _partnerRepository.getSharedBy();
}
Stream<List<User>> watchSharedWith() {
return _partnerRepository.watchSharedWith();
}
Stream<List<User>> watchSharedBy() {
return _partnerRepository.watchSharedBy();
}
Future<bool> removePartner(User partner) async {
try {
await _partnerApiRepository.delete(partner.id);