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

@ -1,7 +1,11 @@
import 'dart:async';
import 'package:immich_mobile/entities/album.entity.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/entities/etag.entity.dart';
import 'package:immich_mobile/entities/exif_info.entity.dart';
import 'package:immich_mobile/entities/store.entity.dart';
import 'package:immich_mobile/utils/db.dart';
import 'package:immich_mobile/entities/user.entity.dart';
import 'package:isar/isar.dart';
const int targetVersion = 8;
@ -14,6 +18,13 @@ Future<void> migrateDatabaseIfNeeded(Isar db) async {
}
Future<void> _migrateTo(Isar db, int version) async {
await clearAssetsAndAlbums(db);
await Store.delete(StoreKey.assetETag);
await db.writeTxn(() async {
await db.assets.clear();
await db.exifInfos.clear();
await db.albums.clear();
await db.eTags.clear();
await db.users.clear();
});
await Store.put(StoreKey.version, version);
}