fix(mobile): don't show locked asset in local album view (#18536)

This commit is contained in:
Alex 2025-05-23 10:20:49 -05:00 committed by GitHub
parent 4878c500a5
commit e12c67742c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 1 deletions

View File

@ -1,4 +1,5 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/constants/enums.dart';
import 'package:immich_mobile/entities/album.entity.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/entities/duplicated_asset.entity.dart';
@ -229,6 +230,8 @@ class AssetRepository extends DatabaseRepository implements IAssetRepository {
return db.assets
.where()
.ownerIdEqualToAnyChecksum(fastHash(userId))
.filter()
.visibilityEqualTo(AssetVisibilityEnum.timeline)
.sortByFileCreatedAtDesc()
.findAll();
}
@ -239,6 +242,7 @@ class AssetRepository extends DatabaseRepository implements IAssetRepository {
.where()
.ownerIdEqualToAnyChecksum(fastHash(userId))
.filter()
.visibilityEqualTo(AssetVisibilityEnum.timeline)
.livePhotoVideoIdIsNotNull()
.findAll();
}

View File

@ -72,7 +72,12 @@ class TimelineRepository extends DatabaseRepository
Album album,
GroupAssetsBy groupAssetByOption,
) {
final query = album.assets.filter().isTrashedEqualTo(false);
final query = album.assets
.filter()
.isTrashedEqualTo(false)
.not()
.visibilityEqualTo(AssetVisibilityEnum.locked);
final withSortedOption = switch (album.sortOrder) {
SortOrder.asc => query.sortByFileCreatedAt(),
SortOrder.desc => query.sortByFileCreatedAtDesc(),