diff --git a/server/src/queries/activity.repository.sql b/server/src/queries/activity.repository.sql index c8b0c4315a..04fd582ae6 100644 --- a/server/src/queries/activity.repository.sql +++ b/server/src/queries/activity.repository.sql @@ -75,8 +75,8 @@ from inner join "users" on "users"."id" = "activity"."userId" and "users"."deletedAt" is null left join "assets" on "assets"."id" = "activity"."assetId" + and "assets"."deletedAt" is null + and "assets"."visibility" != 'locked' where "activity"."assetId" = $3 and "activity"."albumId" = $4 - and "assets"."deletedAt" is null - and "assets"."visibility" != 'locked' diff --git a/server/src/repositories/activity.repository.ts b/server/src/repositories/activity.repository.ts index aa30250868..ea3c560806 100644 --- a/server/src/repositories/activity.repository.ts +++ b/server/src/repositories/activity.repository.ts @@ -81,11 +81,14 @@ export class ActivityRepository { eb.fn.countAll().filterWhere('activity.isLiked', '=', true).as('likes'), ]) .innerJoin('users', (join) => join.onRef('users.id', '=', 'activity.userId').on('users.deletedAt', 'is', null)) - .leftJoin('assets', 'assets.id', 'activity.assetId') + .leftJoin('assets', (join) => + join + .onRef('assets.id', '=', 'activity.assetId') + .on('assets.deletedAt', 'is', null) + .on('assets.visibility', '!=', sql.lit(AssetVisibility.LOCKED)), + ) .$if(!!assetId, (qb) => qb.where('activity.assetId', '=', assetId!)) .where('activity.albumId', '=', albumId) - .where('assets.deletedAt', 'is', null) - .where('assets.visibility', '!=', sql.lit(AssetVisibility.LOCKED)) .executeTakeFirstOrThrow(); return result;