refactor(mobile): asset provider ()

* refactor(mobile): asset provider

* wip

* wip: delete local assets

* wip: delete remote assets

* wip: deletion logic

* refactor

* pr feedback
This commit is contained in:
Alex 2025-02-18 13:10:55 -06:00 committed by GitHub
commit 9d4aee36e2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
24 changed files with 326 additions and 299 deletions

View file

@ -51,6 +51,8 @@ abstract interface class IAlbumRepository implements IDatabaseRepository {
Stream<Album?> watchAlbum(int id);
Stream<RenderList> getRenderListStream(Album album);
Future<void> clearTable();
}
enum AlbumSort { remoteId, localId }

View file

@ -41,7 +41,7 @@ abstract interface class IAssetRepository implements IDatabaseRepository {
Future<void> deleteAllByRemoteId(List<String> ids, {AssetState? state});
Future<void> deleteById(List<int> ids);
Future<void> deleteByIds(List<int> ids);
Future<List<Asset>> getMatches({
required List<Asset> assets,
@ -59,6 +59,10 @@ abstract interface class IAssetRepository implements IDatabaseRepository {
Future<List<String>> getAllDuplicatedAssetIds();
Future<List<Asset>> getStackAssets(String stackId);
Future<void> clearTable();
Stream<Asset?> watchAsset(int id, {bool fireImmediately = false});
}
enum AssetSort { checksum, ownerIdChecksum }

View file

@ -11,4 +11,6 @@ abstract interface class IETagRepository implements IDatabaseRepository {
Future<void> upsertAll(List<ETag> etags);
Future<void> deleteByIds(List<String> ids);
Future<void> clearTable();
}

View file

@ -9,4 +9,6 @@ abstract interface class IExifInfoRepository implements IDatabaseRepository {
Future<List<ExifInfo>> updateAll(List<ExifInfo> exifInfos);
Future<void> delete(int id);
Future<void> clearTable();
}

View file

@ -18,6 +18,8 @@ abstract interface class IUserRepository implements IDatabaseRepository {
Future<void> deleteById(List<int> ids);
Future<User> me();
Future<void> clearTable();
}
enum UserSort { id }