simplify local album repo method names

This commit is contained in:
shenlong-tanwen 2025-06-06 19:07:41 +05:30
parent 20d81d4a0f
commit 71b279ea04
3 changed files with 9 additions and 12 deletions

View File

@ -5,9 +5,9 @@ import 'package:immich_mobile/domain/models/local_album.model.dart';
abstract interface class ILocalAlbumRepository implements IDatabaseRepository {
Future<List<LocalAlbum>> getAll({Set<SortLocalAlbumsBy> sortBy = const {}});
Future<List<LocalAsset>> getAssetsForAlbum(String albumId);
Future<List<LocalAsset>> getAssets(String albumId);
Future<List<String>> getAssetIdsForAlbum(String albumId);
Future<List<String>> getAssetIds(String albumId);
Future<void> upsert(
LocalAlbum album, {
@ -25,10 +25,7 @@ abstract interface class ILocalAlbumRepository implements IDatabaseRepository {
required Map<String, List<String>> assetAlbums,
});
Future<void> syncAlbumDeletes(
String albumId,
Iterable<String> assetIdsToKeep,
);
Future<void> syncDeletes(String albumId, Iterable<String> assetIdsToKeep);
Future<List<LocalAsset>> getAssetsToHash(String albumId);
}

View File

@ -66,7 +66,7 @@ class LocalSyncService {
if (_platform.isAndroid) {
for (final album in dbAlbums) {
final deviceIds = await _nativeSyncApi.getAssetIdsForAlbum(album.id);
await _localAlbumRepository.syncAlbumDeletes(album.id, deviceIds);
await _localAlbumRepository.syncDeletes(album.id, deviceIds);
}
}
@ -252,7 +252,7 @@ class LocalSyncService {
.then((a) => a.toLocalAssets())
: <LocalAsset>[];
final assetsInDb = dbAlbum.assetCount > 0
? await _localAlbumRepository.getAssetsForAlbum(dbAlbum.id)
? await _localAlbumRepository.getAssets(dbAlbum.id)
: <LocalAsset>[];
if (deviceAlbum.assetCount == 0) {

View File

@ -63,7 +63,7 @@ class DriftLocalAlbumRepository extends DriftDatabaseRepository
// That is not the case on Android since asset <-> album has one:one mapping
final assetsToDelete = _platform.isIOS
? await _getUniqueAssetsInAlbum(albumId)
: await getAssetIdsForAlbum(albumId);
: await getAssetIds(albumId);
await _deleteAssets(assetsToDelete);
// All the other assets that are still associated will be unlinked automatically on-cascade
@ -73,7 +73,7 @@ class DriftLocalAlbumRepository extends DriftDatabaseRepository
});
@override
Future<void> syncAlbumDeletes(
Future<void> syncDeletes(
String albumId,
Iterable<String> assetIdsToKeep,
) async {
@ -186,7 +186,7 @@ class DriftLocalAlbumRepository extends DriftDatabaseRepository
}
@override
Future<List<LocalAsset>> getAssetsForAlbum(String albumId) {
Future<List<LocalAsset>> getAssets(String albumId) {
final query = _db.localAlbumAssetEntity.select().join(
[
innerJoin(
@ -203,7 +203,7 @@ class DriftLocalAlbumRepository extends DriftDatabaseRepository
}
@override
Future<List<String>> getAssetIdsForAlbum(String albumId) {
Future<List<String>> getAssetIds(String albumId) {
final query = _db.localAlbumAssetEntity.selectOnly()
..addColumns([_db.localAlbumAssetEntity.assetId])
..where(_db.localAlbumAssetEntity.albumId.equals(albumId));