diff --git a/packages/backend/src/core/QueryService.ts b/packages/backend/src/core/QueryService.ts index 1f45c22256..98b900df78 100644 --- a/packages/backend/src/core/QueryService.ts +++ b/packages/backend/src/core/QueryService.ts @@ -257,16 +257,20 @@ export class QueryService { public generateSuspendedUserQueryForNote(q: SelectQueryBuilder, excludeAuthor?: boolean): void { if (excludeAuthor) { const brakets = (user: string) => new Brackets(qb => qb - .where(`user.id = ${user}.id`) + .where(`${user} IS NULL`) + .orWhere(`user.id = ${user}.id`) .orWhere(`${user}.isSuspended = FALSE`)); q .andWhere(brakets('replyUser')) .andWhere(brakets('renoteUser')); } else { + const brakets = (user: string) => new Brackets(qb => qb + .where(`${user} IS NULL`) + .orWhere(`${user}.isSuspended = FALSE`)); q .andWhere('user.isSuspended = FALSE') - .andWhere('replyUser.isSuspended = FALSE') - .andWhere('renoteUser.isSuspended = FALSE'); + .andWhere(brakets('replyUser')) + .andWhere(brakets('renoteUser')); } } }