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: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/album.entity.dart';
import 'package:immich_mobile/entities/asset.entity.dart'; import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/entities/duplicated_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 return db.assets
.where() .where()
.ownerIdEqualToAnyChecksum(fastHash(userId)) .ownerIdEqualToAnyChecksum(fastHash(userId))
.filter()
.visibilityEqualTo(AssetVisibilityEnum.timeline)
.sortByFileCreatedAtDesc() .sortByFileCreatedAtDesc()
.findAll(); .findAll();
} }
@ -239,6 +242,7 @@ class AssetRepository extends DatabaseRepository implements IAssetRepository {
.where() .where()
.ownerIdEqualToAnyChecksum(fastHash(userId)) .ownerIdEqualToAnyChecksum(fastHash(userId))
.filter() .filter()
.visibilityEqualTo(AssetVisibilityEnum.timeline)
.livePhotoVideoIdIsNotNull() .livePhotoVideoIdIsNotNull()
.findAll(); .findAll();
} }

View File

@ -72,7 +72,12 @@ class TimelineRepository extends DatabaseRepository
Album album, Album album,
GroupAssetsBy groupAssetByOption, 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) { final withSortedOption = switch (album.sortOrder) {
SortOrder.asc => query.sortByFileCreatedAt(), SortOrder.asc => query.sortByFileCreatedAt(),
SortOrder.desc => query.sortByFileCreatedAtDesc(), SortOrder.desc => query.sortByFileCreatedAtDesc(),