diff --git a/packages/backend/src/server/api/endpoints/users/notes.ts b/packages/backend/src/server/api/endpoints/users/notes.ts index f42f84e6a7..29df89390a 100644 --- a/packages/backend/src/server/api/endpoints/users/notes.ts +++ b/packages/backend/src/server/api/endpoints/users/notes.ts @@ -48,6 +48,7 @@ export const paramDef = { type: 'string', } }, excludeNsfw: { type: 'boolean', default: false }, + includeSensitiveChannel: { type: 'boolean', default: true }, }, required: ['userId'], } as const; @@ -79,6 +80,14 @@ export default class extends Endpoint { .leftJoinAndSelect('reply.user', 'replyUser') .leftJoinAndSelect('renote.user', 'renoteUser'); + if (!ps.includeSensitiveChannel) { + query.leftJoinAndSelect('note.channel', 'channel') + .andWhere(new Brackets((qb) => { + qb.where('channel.isSensitive IS NULL') + .orWhere('channel.isSensitive = FALSE'); + })); + } + this.queryService.generateVisibilityQuery(query, me); if (me) { this.queryService.generateMutedUserQuery(query, me, user);