mirror of
https://github.com/immich-app/immich
synced 2026-08-15 13:03:57 +00:00
feat(mobile): replace cloudOnly query with modified remote query
This commit is contained in:
parent
eba25a8720
commit
5df20b12ad
2 changed files with 11 additions and 13 deletions
|
|
@ -58,7 +58,7 @@ class TimelineFactory {
|
|||
TimelineService remoteAlbum({required String albumId}) =>
|
||||
TimelineService(_timelineRepository.remoteAlbum(albumId, groupBy));
|
||||
|
||||
TimelineService remoteAssets(String userId) => TimelineService(_timelineRepository.remote(userId, groupBy));
|
||||
TimelineService remoteAssets(String userId) => TimelineService(_timelineRepository.remote([userId], groupBy));
|
||||
|
||||
TimelineService recentlyAdded(String userId) => TimelineService(_timelineRepository.recentlyAdded(userId, groupBy));
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
|||
|
||||
TimelineQuery main(List<String> userIds, GroupAssetsBy groupBy, AssetOriginFilter filter) {
|
||||
return switch (filter) {
|
||||
AssetOriginFilter.remoteOnly => _cloudOnly(userIds, groupBy),
|
||||
AssetOriginFilter.remoteOnly => remote(userIds, groupBy, origin: TimelineOrigin.main, joinLocal: true),
|
||||
AssetOriginFilter.localOnly => _localOnly(groupBy),
|
||||
AssetOriginFilter.all => _all(userIds, groupBy),
|
||||
};
|
||||
|
|
@ -121,14 +121,6 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
|||
origin: TimelineOrigin.main,
|
||||
);
|
||||
|
||||
TimelineQuery _cloudOnly(List<String> userIds, GroupAssetsBy groupBy) => _remoteQueryBuilder(
|
||||
filter: (row) =>
|
||||
row.deletedAt.isNull() & row.visibility.equalsValue(AssetVisibility.timeline) & row.ownerId.isIn(userIds),
|
||||
groupBy: groupBy,
|
||||
origin: TimelineOrigin.main,
|
||||
joinLocal: true,
|
||||
);
|
||||
|
||||
TimelineQuery _localOnly(GroupAssetsBy groupBy) => (
|
||||
bucketSource: () => _watchLocalOnlyBucket(groupBy: groupBy),
|
||||
assetSource: (offset, count) => _getLocalOnlyAssets(offset: offset, count: count),
|
||||
|
|
@ -405,11 +397,17 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
|||
);
|
||||
}
|
||||
|
||||
TimelineQuery remote(String ownerId, GroupAssetsBy groupBy) => _remoteQueryBuilder(
|
||||
TimelineQuery remote(
|
||||
List<String> ownerIds,
|
||||
GroupAssetsBy groupBy, {
|
||||
TimelineOrigin origin = TimelineOrigin.remoteAssets,
|
||||
bool joinLocal = false,
|
||||
}) => _remoteQueryBuilder(
|
||||
filter: (row) =>
|
||||
row.deletedAt.isNull() & row.visibility.equalsValue(AssetVisibility.timeline) & row.ownerId.equals(ownerId),
|
||||
row.deletedAt.isNull() & row.visibility.equalsValue(AssetVisibility.timeline) & row.ownerId.isIn(ownerIds),
|
||||
groupBy: groupBy,
|
||||
origin: TimelineOrigin.remoteAssets,
|
||||
origin: origin,
|
||||
joinLocal: joinLocal,
|
||||
);
|
||||
|
||||
TimelineQuery recentlyAdded(String userId, GroupAssetsBy groupBy) => _remoteQueryBuilder(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue