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

View File

@ -1,7 +1,6 @@
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/domain/models/user.model.dart'; import 'package:immich_mobile/domain/models/user.model.dart';
import 'package:immich_mobile/infrastructure/repositories/user.repository.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/providers/infrastructure/user.provider.dart';
import 'package:immich_mobile/repositories/partner.repository.dart'; import 'package:immich_mobile/repositories/partner.repository.dart';
import 'package:immich_mobile/repositories/partner_api.repository.dart'; import 'package:immich_mobile/repositories/partner_api.repository.dart';
@ -17,7 +16,7 @@ final partnerServiceProvider = Provider(
class PartnerService { class PartnerService {
final PartnerApiRepository _partnerApiRepository; final PartnerApiRepository _partnerApiRepository;
final IPartnerRepository _partnerRepository; final PartnerRepository _partnerRepository;
final IsarUserRepository _isarUserRepository; final IsarUserRepository _isarUserRepository;
final Logger _log = Logger("PartnerService"); 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/asset.interface.dart';
import 'package:immich_mobile/interfaces/etag.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/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/app_settings.provider.dart';
import 'package:immich_mobile/providers/infrastructure/exif.provider.dart'; import 'package:immich_mobile/providers/infrastructure/exif.provider.dart';
import 'package:immich_mobile/providers/infrastructure/user.provider.dart'; import 'package:immich_mobile/providers/infrastructure/user.provider.dart';
@ -68,7 +67,7 @@ class SyncService {
final IExifInfoRepository _exifInfoRepository; final IExifInfoRepository _exifInfoRepository;
final IsarUserRepository _isarUserRepository; final IsarUserRepository _isarUserRepository;
final UserService _userService; final UserService _userService;
final IPartnerRepository _partnerRepository; final PartnerRepository _partnerRepository;
final IETagRepository _eTagRepository; final IETagRepository _eTagRepository;
final PartnerApiRepository _partnerApiRepository; final PartnerApiRepository _partnerApiRepository;
final UserApiRepository _userApiRepository; 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/etag.interface.dart';
import 'package:immich_mobile/interfaces/file_media.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/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/partner_api.repository.dart';
import 'package:immich_mobile/repositories/album_media.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/album_api.repository.dart';
import 'package:immich_mobile/repositories/partner.repository.dart';
import 'package:mocktail/mocktail.dart'; import 'package:mocktail/mocktail.dart';
class MockAlbumRepository extends Mock implements IAlbumRepository {} class MockAlbumRepository extends Mock implements IAlbumRepository {}
@ -42,7 +42,7 @@ class MockAuthApiRepository extends Mock implements IAuthApiRepository {}
class MockAuthRepository extends Mock implements IAuthRepository {} class MockAuthRepository extends Mock implements IAuthRepository {}
class MockPartnerRepository extends Mock implements IPartnerRepository {} class MockPartnerRepository extends Mock implements PartnerRepository {}
class MockPartnerApiRepository extends Mock implements PartnerApiRepository {} class MockPartnerApiRepository extends Mock implements PartnerApiRepository {}