From 0426699f13576016d04bffece3ae27ea7f36bd21 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 20 Jun 2025 12:04:15 -0500 Subject: [PATCH] refactor(mobile): partner_api.interface.dart (#19337) * refactor(mobile): partner_api.interface.dart * merge main --- mobile/lib/interfaces/partner_api.interface.dart | 13 ------------- mobile/lib/repositories/partner_api.repository.dart | 13 ++++++------- mobile/lib/services/partner.service.dart | 3 +-- mobile/lib/services/sync.service.dart | 3 +-- mobile/test/modules/shared/sync_service_test.dart | 2 +- mobile/test/repository.mocks.dart | 4 ++-- 6 files changed, 11 insertions(+), 27 deletions(-) delete mode 100644 mobile/lib/interfaces/partner_api.interface.dart diff --git a/mobile/lib/interfaces/partner_api.interface.dart b/mobile/lib/interfaces/partner_api.interface.dart deleted file mode 100644 index 01149f473c..0000000000 --- a/mobile/lib/interfaces/partner_api.interface.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:immich_mobile/domain/models/user.model.dart'; - -abstract interface class IPartnerApiRepository { - Future> getAll(Direction direction); - Future create(String id); - Future update(String id, {required bool inTimeline}); - Future delete(String id); -} - -enum Direction { - sharedWithMe, - sharedByMe, -} diff --git a/mobile/lib/repositories/partner_api.repository.dart b/mobile/lib/repositories/partner_api.repository.dart index 367e2a58d7..836a708e3a 100644 --- a/mobile/lib/repositories/partner_api.repository.dart +++ b/mobile/lib/repositories/partner_api.repository.dart @@ -1,24 +1,26 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; import 'package:immich_mobile/infrastructure/utils/user.converter.dart'; -import 'package:immich_mobile/interfaces/partner_api.interface.dart'; import 'package:immich_mobile/providers/api.provider.dart'; import 'package:immich_mobile/repositories/api.repository.dart'; import 'package:openapi/api.dart'; +enum Direction { + sharedWithMe, + sharedByMe, +} + final partnerApiRepositoryProvider = Provider( (ref) => PartnerApiRepository( ref.watch(apiServiceProvider).partnersApi, ), ); -class PartnerApiRepository extends ApiRepository - implements IPartnerApiRepository { +class PartnerApiRepository extends ApiRepository { final PartnersApi _api; PartnerApiRepository(this._api); - @override Future> getAll(Direction direction) async { final response = await checkNull( _api.getPartners( @@ -30,16 +32,13 @@ class PartnerApiRepository extends ApiRepository return response.map(UserConverter.fromPartnerDto).toList(); } - @override Future create(String id) async { final dto = await checkNull(_api.createPartner(id)); return UserConverter.fromPartnerDto(dto); } - @override Future delete(String id) => _api.removePartner(id); - @override Future update(String id, {required bool inTimeline}) async { final dto = await checkNull( _api.updatePartner( diff --git a/mobile/lib/services/partner.service.dart b/mobile/lib/services/partner.service.dart index edddca8beb..72c636cd0d 100644 --- a/mobile/lib/services/partner.service.dart +++ b/mobile/lib/services/partner.service.dart @@ -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/repositories/user.repository.dart'; import 'package:immich_mobile/interfaces/partner.interface.dart'; -import 'package:immich_mobile/interfaces/partner_api.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 IPartnerApiRepository _partnerApiRepository; + final PartnerApiRepository _partnerApiRepository; final IPartnerRepository _partnerRepository; final IsarUserRepository _isarUserRepository; final Logger _log = Logger("PartnerService"); diff --git a/mobile/lib/services/sync.service.dart b/mobile/lib/services/sync.service.dart index f771f1f8fc..df5cc673f3 100644 --- a/mobile/lib/services/sync.service.dart +++ b/mobile/lib/services/sync.service.dart @@ -18,7 +18,6 @@ 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/interfaces/partner_api.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'; @@ -71,7 +70,7 @@ class SyncService { final UserService _userService; final IPartnerRepository _partnerRepository; final IETagRepository _eTagRepository; - final IPartnerApiRepository _partnerApiRepository; + final PartnerApiRepository _partnerApiRepository; final UserApiRepository _userApiRepository; final AsyncMutex _lock = AsyncMutex(); final Logger _log = Logger('SyncService'); diff --git a/mobile/test/modules/shared/sync_service_test.dart b/mobile/test/modules/shared/sync_service_test.dart index 3a0a9f5a7e..f2da3ff4fc 100644 --- a/mobile/test/modules/shared/sync_service_test.dart +++ b/mobile/test/modules/shared/sync_service_test.dart @@ -11,7 +11,7 @@ import 'package:immich_mobile/entities/store.entity.dart'; import 'package:immich_mobile/infrastructure/repositories/log.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.dart'; import 'package:immich_mobile/interfaces/asset.interface.dart'; -import 'package:immich_mobile/interfaces/partner_api.interface.dart'; +import 'package:immich_mobile/repositories/partner_api.repository.dart'; import 'package:immich_mobile/services/sync.service.dart'; import 'package:mocktail/mocktail.dart'; diff --git a/mobile/test/repository.mocks.dart b/mobile/test/repository.mocks.dart index b878fa1de2..f5efbe5ee1 100644 --- a/mobile/test/repository.mocks.dart +++ b/mobile/test/repository.mocks.dart @@ -10,7 +10,7 @@ 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/interfaces/partner_api.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:mocktail/mocktail.dart'; @@ -44,7 +44,7 @@ class MockAuthRepository extends Mock implements IAuthRepository {} class MockPartnerRepository extends Mock implements IPartnerRepository {} -class MockPartnerApiRepository extends Mock implements IPartnerApiRepository {} +class MockPartnerApiRepository extends Mock implements PartnerApiRepository {} class MockLocalFilesManagerRepository extends Mock implements ILocalFilesManager {}