immich/mobile/lib/domain/interfaces/local_album.interface.dart
2025-04-22 01:19:20 +05:30

21 lines
750 B
Dart

import 'package:immich_mobile/domain/interfaces/db.interface.dart';
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
import 'package:immich_mobile/domain/models/local_album.model.dart';
abstract interface class ILocalAlbumRepository implements IDatabaseRepository {
Future<void> insert(LocalAlbum album, Iterable<LocalAsset> assets);
Future<void> addAssets(String albumId, Iterable<LocalAsset> assets);
Future<List<LocalAlbum>> getAll({SortLocalAlbumsBy? sortBy});
Future<List<LocalAsset>> getAssetsForAlbum(String albumId);
Future<void> update(LocalAlbum album);
Future<void> delete(String albumId);
Future<void> removeAssets(String albumId, Iterable<String> assetIds);
}
enum SortLocalAlbumsBy { id }