mirror of
https://github.com/immich-app/immich.git
synced 2025-07-17 20:38:25 +02:00
refactor sync service
This commit is contained in:
parent
ca42420ca3
commit
c4047fd9b2
23 changed files with 1527 additions and 737 deletions
mobile/lib/domain/interfaces
|
@ -1,17 +1,21 @@
|
|||
import 'package:immich_mobile/domain/interfaces/db.interface.dart';
|
||||
import 'package:immich_mobile/domain/models/asset/asset.model.dart';
|
||||
import 'package:immich_mobile/domain/models/local_album.model.dart';
|
||||
|
||||
abstract interface class ILocalAlbumRepository implements IDatabaseRepository {
|
||||
Future<void> upsert(LocalAlbum localAlbum);
|
||||
Future<void> insert(LocalAlbum localAlbum, Iterable<LocalAsset> assets);
|
||||
|
||||
Future<void> addAssets(String albumId, Iterable<LocalAsset> assets);
|
||||
|
||||
Future<List<LocalAlbum>> getAll({SortLocalAlbumsBy? sortBy});
|
||||
|
||||
/// Get all asset ids that are only in the album and not in other albums.
|
||||
/// This is used to determine which assets are unique to the album.
|
||||
/// This is useful in cases where the album is a smart album or a user-created album, especially in iOS
|
||||
Future<List<String>> getAssetIdsOnlyInAlbum(String albumId);
|
||||
Future<List<LocalAsset>> getAssetsForAlbum(String albumId);
|
||||
|
||||
Future<void> update(LocalAlbum localAlbum);
|
||||
|
||||
Future<void> delete(String albumId);
|
||||
|
||||
Future<void> removeAssets(String albumId, Iterable<String> assetIds);
|
||||
}
|
||||
|
||||
enum SortLocalAlbumsBy { id }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue