mirror of
https://github.com/immich-app/immich.git
synced 2025-03-30 20:59:37 +02:00

* refactor(mobile): trash provider * refactor(mobile): trash provider * pr feedback * archive timeline * favorite * album * trash timeline * all videos timeline * refactor * refactor: home timeline and partner timeline * update analysis option
70 lines
1.8 KiB
Dart
70 lines
1.8 KiB
Dart
import 'package:immich_mobile/entities/album.entity.dart';
|
|
import 'package:immich_mobile/entities/asset.entity.dart';
|
|
import 'package:immich_mobile/entities/device_asset.entity.dart';
|
|
import 'package:immich_mobile/interfaces/database.interface.dart';
|
|
|
|
abstract interface class IAssetRepository implements IDatabaseRepository {
|
|
Future<Asset?> getByRemoteId(String id);
|
|
|
|
Future<Asset?> getByOwnerIdChecksum(int ownerId, String checksum);
|
|
|
|
Future<List<Asset>> getAllByRemoteId(
|
|
Iterable<String> ids, {
|
|
AssetState? state,
|
|
});
|
|
|
|
Future<List<Asset?>> getAllByOwnerIdChecksum(
|
|
List<int> ids,
|
|
List<String> checksums,
|
|
);
|
|
|
|
Future<List<Asset>> getAll({
|
|
required int ownerId,
|
|
AssetState? state,
|
|
AssetSort? sortBy,
|
|
int? limit,
|
|
});
|
|
|
|
Future<List<Asset>> getAllLocal();
|
|
|
|
Future<List<Asset>> getByAlbum(
|
|
Album album, {
|
|
Iterable<int> notOwnedBy = const [],
|
|
int? ownerId,
|
|
AssetState? state,
|
|
AssetSort? sortBy,
|
|
});
|
|
|
|
Future<Asset> update(Asset asset);
|
|
|
|
Future<List<Asset>> updateAll(List<Asset> assets);
|
|
|
|
Future<void> deleteAllByRemoteId(List<String> ids, {AssetState? state});
|
|
|
|
Future<void> deleteByIds(List<int> ids);
|
|
|
|
Future<List<Asset>> getMatches({
|
|
required List<Asset> assets,
|
|
required int ownerId,
|
|
AssetState? state,
|
|
int limit = 100,
|
|
});
|
|
|
|
Future<List<DeviceAsset?>> getDeviceAssetsById(List<Object> ids);
|
|
|
|
Future<void> upsertDeviceAssets(List<DeviceAsset> deviceAssets);
|
|
|
|
Future<void> upsertDuplicatedAssets(Iterable<String> duplicatedAssets);
|
|
|
|
Future<List<String>> getAllDuplicatedAssetIds();
|
|
|
|
Future<List<Asset>> getStackAssets(String stackId);
|
|
|
|
Future<void> clearTable();
|
|
|
|
Stream<Asset?> watchAsset(int id, {bool fireImmediately = false});
|
|
|
|
Future<List<Asset>> getTrashAssets(int userId);
|
|
}
|
|
|
|
enum AssetSort { checksum, ownerIdChecksum }
|