refactor(mobile): asset provider (#16159)

* 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
parent 70d08a2b2a
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

@ -286,7 +286,7 @@ class SyncService {
}
final idsToDelete = toRemove.map((e) => e.id).toList();
try {
await _assetRepository.deleteById(idsToDelete);
await _assetRepository.deleteByIds(idsToDelete);
await upsertAssetsWithExif(toAdd + toUpdate);
} catch (e) {
_log.severe("Failed to sync remote assets to db", e);
@ -334,7 +334,7 @@ class SyncService {
if (toDelete.isNotEmpty) {
final List<int> idsToRemove = sharedAssetsToRemove(toDelete, existing);
if (idsToRemove.isNotEmpty) {
await _assetRepository.deleteById(idsToRemove);
await _assetRepository.deleteByIds(idsToRemove);
}
} else {
assert(toDelete.isEmpty);
@ -531,7 +531,7 @@ class SyncService {
);
if (toDelete.isNotEmpty || toUpdate.isNotEmpty) {
await _assetRepository.transaction(() async {
await _assetRepository.deleteById(toDelete);
await _assetRepository.deleteByIds(toDelete);
await _assetRepository.updateAll(toUpdate);
});
_log.info(
@ -826,7 +826,7 @@ class SyncService {
final (toDelete, toUpdate) =
_handleAssetRemoval(assets, [], remote: false);
await _assetRepository.transaction(() async {
await _assetRepository.deleteById(toDelete);
await _assetRepository.deleteByIds(toDelete);
await _assetRepository.updateAll(toUpdate);
await _albumRepository.deleteAllLocal();
});