refactor(mobile): asset-media.interface.dart (#19352)

* refactor(mobile): asset-media.interface.dart

* refactor(mobile): asset-media.interface.dart

* refactor: asset media repo

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
Alex 2025-06-21 17:47:16 -05:00 committed by GitHub
parent 366539bc4c
commit 484311e9bb
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,10 +0,0 @@
import 'package:immich_mobile/entities/asset.entity.dart';
abstract interface class IAssetMediaRepository {
Future<List<String>> deleteAll(List<String> ids);
Future<Asset?> get(String id);
/// Obtaining the correct original filename of the asset
Future<String?> getOriginalFilename(String id);
}

View File

@ -3,18 +3,15 @@ import 'package:immich_mobile/domain/models/exif.model.dart';
import 'package:immich_mobile/domain/models/store.model.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/entities/store.entity.dart';
import 'package:immich_mobile/interfaces/asset_media.interface.dart';
import 'package:immich_mobile/utils/hash.dart';
import 'package:photo_manager/photo_manager.dart' hide AssetType;
final assetMediaRepositoryProvider = Provider((ref) => AssetMediaRepository());
class AssetMediaRepository implements IAssetMediaRepository {
@override
class AssetMediaRepository {
Future<List<String>> deleteAll(List<String> ids) =>
PhotoManager.editor.deleteWithIds(ids);
@override
Future<Asset?> get(String id) async {
final entity = await AssetEntity.fromId(id);
return toAsset(entity);
@ -47,7 +44,6 @@ class AssetMediaRepository implements IAssetMediaRepository {
return asset;
}
@override
Future<String?> getOriginalFilename(String id) async {
final entity = await AssetEntity.fromId(id);

View File

@ -11,7 +11,6 @@ import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/entities/backup_album.entity.dart';
import 'package:immich_mobile/infrastructure/repositories/user.repository.dart';
import 'package:immich_mobile/interfaces/asset_api.interface.dart';
import 'package:immich_mobile/interfaces/asset_media.interface.dart';
import 'package:immich_mobile/models/backup/backup_candidate.model.dart';
import 'package:immich_mobile/providers/api.provider.dart';
import 'package:immich_mobile/providers/infrastructure/exif.provider.dart';
@ -58,7 +57,7 @@ class AssetService {
final BackupService _backupService;
final AlbumService _albumService;
final UserService _userService;
final IAssetMediaRepository _assetMediaRepository;
final AssetMediaRepository _assetMediaRepository;
final log = Logger('AssetService');
AssetService(

View File

@ -11,7 +11,6 @@ import 'package:immich_mobile/entities/album.entity.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/entities/backup_album.entity.dart';
import 'package:immich_mobile/entities/store.entity.dart';
import 'package:immich_mobile/interfaces/asset_media.interface.dart';
import 'package:immich_mobile/models/backup/backup_candidate.model.dart';
import 'package:immich_mobile/models/backup/current_upload_asset.model.dart';
import 'package:immich_mobile/models/backup/error_upload_asset.model.dart';
@ -52,7 +51,7 @@ class BackupService {
final AlbumMediaRepository _albumMediaRepository;
final FileMediaRepository _fileMediaRepository;
final AssetRepository _assetRepository;
final IAssetMediaRepository _assetMediaRepository;
final AssetMediaRepository _assetMediaRepository;
BackupService(
this._apiService,

View File

@ -1,7 +1,6 @@
import 'package:immich_mobile/domain/interfaces/exif.interface.dart';
import 'package:immich_mobile/interfaces/album.interface.dart';
import 'package:immich_mobile/interfaces/asset_api.interface.dart';
import 'package:immich_mobile/interfaces/asset_media.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';
@ -13,6 +12,7 @@ import 'package:immich_mobile/repositories/backup.repository.dart';
import 'package:immich_mobile/repositories/auth.repository.dart';
import 'package:immich_mobile/repositories/auth_api.repository.dart';
import 'package:immich_mobile/repositories/asset.repository.dart';
import 'package:immich_mobile/repositories/asset_media.repository.dart';
import 'package:mocktail/mocktail.dart';
class MockAlbumRepository extends Mock implements IAlbumRepository {}
@ -31,7 +31,7 @@ class MockBackupAlbumRepository extends Mock implements BackupAlbumRepository {}
class MockAssetApiRepository extends Mock implements IAssetApiRepository {}
class MockAssetMediaRepository extends Mock implements IAssetMediaRepository {}
class MockAssetMediaRepository extends Mock implements AssetMediaRepository {}
class MockFileMediaRepository extends Mock implements FileMediaRepository {}