X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fabuse%2Fabuse-query-builder.ts;h=53245914441c534c39a14b3022901ecdacb59097;hb=7b54a81cccf6b4c12269e9d6897d608b1a99537a;hp=5fddcf3c439d451b4b8267fc11d7ad600c4f75c6;hpb=17aa80ed016bafa3ccb071af3f86054033823284;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/abuse/abuse-query-builder.ts b/server/models/abuse/abuse-query-builder.ts index 5fddcf3c4..532459144 100644 --- a/server/models/abuse/abuse-query-builder.ts +++ b/server/models/abuse/abuse-query-builder.ts @@ -26,8 +26,10 @@ export type BuildAbusesQueryOptions = { state?: AbuseState // accountIds - serverAccountId: number - userAccountId: number + serverAccountId?: number + userAccountId?: number + + reporterAccountId?: number } function buildAbuseListQuery (options: BuildAbusesQueryOptions, type: 'count' | 'id') { @@ -40,12 +42,19 @@ function buildAbuseListQuery (options: BuildAbusesQueryOptions, type: 'count' | 'LEFT JOIN "videoBlacklist" ON "videoBlacklist"."videoId" = "video"."id"', 'LEFT JOIN "videoChannel" ON "video"."channelId" = "videoChannel"."id"', 'LEFT JOIN "account" "reporterAccount" ON "reporterAccount"."id" = "abuse"."reporterAccountId"', - 'LEFT JOIN "account" "flaggedAccount" ON "flaggedAccount"."id" = "abuse"."reporterAccountId"', + 'LEFT JOIN "account" "flaggedAccount" ON "flaggedAccount"."id" = "abuse"."flaggedAccountId"', 'LEFT JOIN "commentAbuse" ON "commentAbuse"."abuseId" = "abuse"."id"', 'LEFT JOIN "videoComment" ON "commentAbuse"."videoCommentId" = "videoComment"."id"' ] - whereAnd.push('"abuse"."reporterAccountId" NOT IN (' + buildBlockedAccountSQL([ options.serverAccountId, options.userAccountId ]) + ')') + if (options.serverAccountId || options.userAccountId) { + whereAnd.push('"abuse"."reporterAccountId" NOT IN (' + buildBlockedAccountSQL([ options.serverAccountId, options.userAccountId ]) + ')') + } + + if (options.reporterAccountId) { + whereAnd.push('"abuse"."reporterAccountId" = :reporterAccountId') + replacements.reporterAccountId = options.reporterAccountId + } if (options.search) { const searchWhereOr = [