Skip to content

Commit

Permalink
fix(mobile): stack entity handling
Browse files Browse the repository at this point in the history
  • Loading branch information
shenlong-tanwen committed Feb 8, 2024
1 parent 36477d5 commit 9d75646
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
16 changes: 11 additions & 5 deletions mobile/lib/shared/models/asset.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ class Asset {
isTrashed = remote.isTrashed,
isReadOnly = remote.isReadOnly,
isOffline = remote.isOffline,
stackParentId = remote.stackParentId,
// workaround to nullify stackParentId for the parent asset until we refactor the mobile app
// stack handling to properly handle it
stackParentId =
remote.stackParentId == remote.id ? null : remote.stackParentId,
stackCount = remote.stackCount;

Asset.local(AssetEntity local, List<int> hash)
Expand Down Expand Up @@ -290,7 +293,6 @@ class Asset {
width: a.width ?? width,
height: a.height ?? height,
exifInfo: a.exifInfo?.copyWith(id: id) ?? exifInfo,
stackCount: a.stackCount ?? stackCount,
);
} else if (isRemote) {
return _copyWith(
Expand All @@ -305,7 +307,9 @@ class Asset {
id: id,
remoteId: remoteId,
livePhotoVideoId: livePhotoVideoId,
stackParentId: stackParentId,
// workaround to nullify stackParentId for the parent asset until we refactor the mobile app
// stack handling to properly handle it
stackParentId: stackParentId == remoteId ? null : stackParentId,
stackCount: stackCount,
isFavorite: isFavorite,
isArchived: isArchived,
Expand All @@ -323,8 +327,10 @@ class Asset {
width: a.width,
height: a.height,
livePhotoVideoId: a.livePhotoVideoId,
stackParentId: a.stackParentId,
stackCount: a.stackCount ?? stackCount,
// workaround to nullify stackParentId for the parent asset until we refactor the mobile app
// stack handling to properly handle it
stackParentId: a.stackParentId == a.remoteId ? null : a.stackParentId,
stackCount: a.stackCount,
// isFavorite + isArchived are not set by device-only assets
isFavorite: a.isFavorite,
isArchived: a.isArchived,
Expand Down
2 changes: 1 addition & 1 deletion server/src/domain/asset/response-dto/asset-response.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ export function mapAsset(entity: AssetEntity, options: AssetMapOptions = {}): As
tags: entity.tags?.map(mapTag),
people: peopleWithFaces(entity.faces),
checksum: entity.checksum.toString('base64'),
stackParentId: withStack ? entity.stack?.primaryAssetId : undefined,
stackParentId: entity.stack?.primaryAssetId,
stack: withStack
? entity.stack?.assets
.filter((a) => a.id !== entity.stack?.primaryAssetId)
Expand Down

0 comments on commit 9d75646

Please sign in to comment.