fix: keep owned asset in iOS shared album in Free Up Space

This commit is contained in:
Alex
2026-01-28 15:43:39 -06:00
parent 0beb1f9e7a
commit 8b6b495bf5
2 changed files with 38 additions and 8 deletions
@@ -144,16 +144,13 @@ class DriftLocalAssetRepository extends DriftDatabaseRepository {
bool keepFavorites = true,
Set<String> keepAlbumIds = const {},
}) async {
final iosSharedAlbumIds = _db.localAlbumEntity.selectOnly()
..addColumns([_db.localAlbumEntity.id])
..where(_db.localAlbumEntity.isIosSharedAlbum.equals(true));
final iosSharedAlbumAssets = _db.localAlbumAssetEntity.selectOnly()
..addColumns([_db.localAlbumAssetEntity.assetId])
..join([
innerJoin(
_db.localAlbumEntity,
_db.localAlbumAssetEntity.albumId.equalsExp(_db.localAlbumEntity.id),
useColumns: false,
),
])
..where(_db.localAlbumEntity.isIosSharedAlbum.equals(true));
..where(_db.localAlbumAssetEntity.albumId.isInQuery(iosSharedAlbumIds));
final query = _db.localAssetEntity.select().join([
innerJoin(_db.remoteAssetEntity, _db.localAssetEntity.checksum.equalsExp(_db.remoteAssetEntity.checksum)),