From e9feb8c9c8c5650ce529e49abbddb08609ecea84 Mon Sep 17 00:00:00 2001 From: piuvas Date: Thu, 28 Nov 2024 23:17:30 -0300 Subject: [PATCH] testing --- packages/backend/src/core/QueryService.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/core/QueryService.ts b/packages/backend/src/core/QueryService.ts index c4feeaf971..926e3c9ba9 100644 --- a/packages/backend/src/core/QueryService.ts +++ b/packages/backend/src/core/QueryService.ts @@ -4,7 +4,7 @@ */ import { Inject, Injectable } from '@nestjs/common'; -import { Brackets, ObjectLiteral } from 'typeorm'; +import { Brackets, createQueryBuilder, getRepository, ObjectLiteral } from 'typeorm'; import { DI } from '@/di-symbols.js'; import type { MiUser } from '@/models/User.js'; import type { UserProfilesRepository, FollowingsRepository, ChannelFollowingsRepository, BlockingsRepository, NoteThreadMutingsRepository, MutingsRepository, RenoteMutingsRepository } from '@/models/_.js'; @@ -88,6 +88,11 @@ export class QueryService { qb .where('note.renoteUserId IS NULL') .orWhere(`note.renoteUserId NOT IN (${ blockingQuery.getQuery() })`); + })) + .andWhere(new Brackets(qb => { + qb + .where('(SELECT note.replyUserId FROM note WHERE note.id = renote.Id) IS NULL') + .orWhere(`(SELECT note.replyUserId FROM note WHERE note.id = renote.Id) NOT IN (${ blockingQuery.getQuery() })`); })); q.setParameters(blockingQuery.getParameters()); @@ -155,6 +160,11 @@ export class QueryService { .where('note.renoteUserId IS NULL') .orWhere(`note.renoteUserId NOT IN (${ mutingQuery.getQuery() })`); })) + .andWhere(new Brackets(qb => { + qb + .where('(SELECT note.replyUserId FROM note WHERE note.id = renote.Id) IS NULL') + .orWhere(`(SELECT note.replyUserId FROM note WHERE note.id = renote.Id) NOT IN (${ mutingQuery.getQuery() })`); + })) // mute instances .andWhere(new Brackets(qb => { qb