refactor(mobile): partner.interface.dart (#19338)

This commit is contained in:
Alex 2025-06-20 13:37:59 -05:00 committed by GitHub
parent 6fda863c08
commit c707f9cef4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 5 additions and 21 deletions

View File

@ -1,8 +0,0 @@
import 'package:immich_mobile/domain/models/user.model.dart';
abstract class IPartnerRepository {
Future<List<UserDto>> getSharedWith();
Future<List<UserDto>> getSharedBy();
Stream<List<UserDto>> watchSharedWith();
Stream<List<UserDto>> watchSharedBy();
}

View File

@ -2,7 +2,6 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/domain/models/user.model.dart';
import 'package:immich_mobile/infrastructure/entities/user.entity.dart'
as entity;
import 'package:immich_mobile/interfaces/partner.interface.dart';
import 'package:immich_mobile/providers/db.provider.dart';
import 'package:immich_mobile/repositories/database.repository.dart';
import 'package:isar/isar.dart';
@ -11,11 +10,9 @@ final partnerRepositoryProvider = Provider(
(ref) => PartnerRepository(ref.watch(dbProvider)),
);
class PartnerRepository extends DatabaseRepository
implements IPartnerRepository {
class PartnerRepository extends DatabaseRepository {
PartnerRepository(super.db);
@override
Future<List<UserDto>> getSharedBy() async {
return (await db.users
.filter()
@ -26,7 +23,6 @@ class PartnerRepository extends DatabaseRepository
.toList();
}
@override
Future<List<UserDto>> getSharedWith() async {
return (await db.users
.filter()
@ -37,13 +33,11 @@ class PartnerRepository extends DatabaseRepository
.toList();
}
@override
Stream<List<UserDto>> watchSharedBy() {
return (db.users.filter().isPartnerSharedByEqualTo(true).sortById().watch())
.map((users) => users.map((u) => u.toDto()).toList());
}
@override
Stream<List<UserDto>> watchSharedWith() {
return (db.users
.filter()

View File

@ -1,7 +1,6 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/domain/models/user.model.dart';
import 'package:immich_mobile/infrastructure/repositories/user.repository.dart';
import 'package:immich_mobile/interfaces/partner.interface.dart';
import 'package:immich_mobile/providers/infrastructure/user.provider.dart';
import 'package:immich_mobile/repositories/partner.repository.dart';
import 'package:immich_mobile/repositories/partner_api.repository.dart';
@ -17,7 +16,7 @@ final partnerServiceProvider = Provider(
class PartnerService {
final PartnerApiRepository _partnerApiRepository;
final IPartnerRepository _partnerRepository;
final PartnerRepository _partnerRepository;
final IsarUserRepository _isarUserRepository;
final Logger _log = Logger("PartnerService");

View File

@ -17,7 +17,6 @@ import 'package:immich_mobile/interfaces/album.interface.dart';
import 'package:immich_mobile/interfaces/asset.interface.dart';
import 'package:immich_mobile/interfaces/etag.interface.dart';
import 'package:immich_mobile/interfaces/local_files_manager.interface.dart';
import 'package:immich_mobile/interfaces/partner.interface.dart';
import 'package:immich_mobile/providers/app_settings.provider.dart';
import 'package:immich_mobile/providers/infrastructure/exif.provider.dart';
import 'package:immich_mobile/providers/infrastructure/user.provider.dart';
@ -68,7 +67,7 @@ class SyncService {
final IExifInfoRepository _exifInfoRepository;
final IsarUserRepository _isarUserRepository;
final UserService _userService;
final IPartnerRepository _partnerRepository;
final PartnerRepository _partnerRepository;
final IETagRepository _eTagRepository;
final PartnerApiRepository _partnerApiRepository;
final UserApiRepository _userApiRepository;

View File

@ -9,10 +9,10 @@ import 'package:immich_mobile/interfaces/backup_album.interface.dart';
import 'package:immich_mobile/interfaces/etag.interface.dart';
import 'package:immich_mobile/interfaces/file_media.interface.dart';
import 'package:immich_mobile/interfaces/local_files_manager.interface.dart';
import 'package:immich_mobile/interfaces/partner.interface.dart';
import 'package:immich_mobile/repositories/partner_api.repository.dart';
import 'package:immich_mobile/repositories/album_media.repository.dart';
import 'package:immich_mobile/repositories/album_api.repository.dart';
import 'package:immich_mobile/repositories/partner.repository.dart';
import 'package:mocktail/mocktail.dart';
class MockAlbumRepository extends Mock implements IAlbumRepository {}
@ -42,7 +42,7 @@ class MockAuthApiRepository extends Mock implements IAuthApiRepository {}
class MockAuthRepository extends Mock implements IAuthRepository {}
class MockPartnerRepository extends Mock implements IPartnerRepository {}
class MockPartnerRepository extends Mock implements PartnerRepository {}
class MockPartnerApiRepository extends Mock implements PartnerApiRepository {}