From 3ec48a2d8345d60a81639377294a16fbe95e9dfc Mon Sep 17 00:00:00 2001 From: sevenc-nanashi Date: Sat, 25 Jan 2025 09:37:22 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20/notes=E3=82=A8=E3=83=B3=E3=83=89?= =?UTF-8?q?=E3=83=9D=E3=82=A4=E3=83=B3=E3=83=88=E3=82=92=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/server/api/endpoints/antennas/notes.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/backend/src/server/api/endpoints/antennas/notes.ts b/packages/backend/src/server/api/endpoints/antennas/notes.ts index f4dfe1ecc4..c32f2be7cd 100644 --- a/packages/backend/src/server/api/endpoints/antennas/notes.ts +++ b/packages/backend/src/server/api/endpoints/antennas/notes.ts @@ -113,6 +113,18 @@ export default class extends Endpoint { // eslint- .leftJoinAndSelect('reply.user', 'replyUser') .leftJoinAndSelect('renote.user', 'renoteUser'); + if (antenna.hideNotesInSensitiveChannel) { + // TypeORMにはRIGHT JOINがないので、サブクエリで代用。 + query + .andWhere('note.channelId IS NULL OR EXISTS(' + + query.subQuery() + .from('channel', 'channel') + .where('channel.id = note.channelId') + .andWhere('channel.isSensitive = false') + .getQuery() + + ' )'); + } + this.queryService.generateVisibilityQuery(query, me); this.queryService.generateMutedUserQuery(query, me); this.queryService.generateBlockedUserQuery(query, me);