diff --git a/server/src/queries/activity.repository.sql b/server/src/queries/activity.repository.sql index 306f71920a..c271e4bef2 100644 --- a/server/src/queries/activity.repository.sql +++ b/server/src/queries/activity.repository.sql @@ -32,8 +32,28 @@ FROM AND ( "ActivityEntity__ActivityEntity_user"."deletedAt" IS NULL ) + LEFT JOIN "assets" "ActivityEntity__ActivityEntity_asset" ON "ActivityEntity__ActivityEntity_asset"."id" = "ActivityEntity"."assetId" + AND ( + "ActivityEntity__ActivityEntity_asset"."deletedAt" IS NULL + ) WHERE - (("ActivityEntity"."albumId" = $1)) + ( + ("ActivityEntity"."albumId" = $1) + AND ( + ( + ( + "ActivityEntity__ActivityEntity_asset"."deletedAt" IS NULL + ) + ) + ) + AND ( + ( + ( + "ActivityEntity__ActivityEntity_user"."deletedAt" IS NULL + ) + ) + ) + ) ORDER BY "ActivityEntity"."createdAt" ASC @@ -43,12 +63,24 @@ SELECT FROM "activity" "ActivityEntity" LEFT JOIN "users" "ActivityEntity__ActivityEntity_user" ON "ActivityEntity__ActivityEntity_user"."id" = "ActivityEntity"."userId" - AND ( - "ActivityEntity__ActivityEntity_user"."deletedAt" IS NULL - ) + LEFT JOIN "assets" "ActivityEntity__ActivityEntity_asset" ON "ActivityEntity__ActivityEntity_asset"."id" = "ActivityEntity"."assetId" WHERE ( ("ActivityEntity"."assetId" = $1) AND ("ActivityEntity"."albumId" = $2) AND ("ActivityEntity"."isLiked" = $3) + AND ( + ( + ( + "ActivityEntity__ActivityEntity_asset"."deletedAt" IS NULL + ) + ) + ) + AND ( + ( + ( + "ActivityEntity__ActivityEntity_user"."deletedAt" IS NULL + ) + ) + ) ) diff --git a/server/src/repositories/activity.repository.ts b/server/src/repositories/activity.repository.ts index 475ad3b856..e21f746483 100644 --- a/server/src/repositories/activity.repository.ts +++ b/server/src/repositories/activity.repository.ts @@ -27,6 +27,12 @@ export class ActivityRepository implements IActivityRepository { assetId: assetId === null ? IsNull() : assetId, albumId, isLiked, + asset: { + deletedAt: IsNull(), + }, + user: { + deletedAt: IsNull(), + }, }, relations: { user: true, @@ -48,10 +54,21 @@ export class ActivityRepository implements IActivityRepository { @GenerateSql({ params: [DummyValue.UUID, DummyValue.UUID] }) getStatistics(assetId: string, albumId: string): Promise { return this.repository.count({ - where: { assetId, albumId, isLiked: false }, + where: { + assetId, + albumId, + isLiked: false, + asset: { + deletedAt: IsNull(), + }, + user: { + deletedAt: IsNull(), + }, + }, relations: { user: true, }, + withDeleted: true, }); } diff --git a/web/src/lib/components/asset-viewer/activity-viewer.svelte b/web/src/lib/components/asset-viewer/activity-viewer.svelte index 0acfb88dcd..e82522e924 100644 --- a/web/src/lib/components/asset-viewer/activity-viewer.svelte +++ b/web/src/lib/components/asset-viewer/activity-viewer.svelte @@ -1,6 +1,6 @@