From: Rigel Kent <sendmemail@rigelk.eu>
Date: Sun, 3 May 2020 14:16:10 +0000 (+0200)
Subject: Support is:blacklisted as video-abuse-list filter
X-Git-Tag: v2.2.0-rc.1~124
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=9b1fa49b6032c149d8a848da086f60e52bd4b82a;p=oweals%2Fpeertube.git

Support is:blacklisted as video-abuse-list filter
---

diff --git a/client/src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.html b/client/src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.html
index cf5cd58f8..bf989cb4e 100644
--- a/client/src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.html
+++ b/client/src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.html
@@ -24,7 +24,7 @@
               <a [routerLink]="[ '/admin/moderation/video-abuses/list' ]" [queryParams]="{ 'search': 'state:pending' }" class="dropdown-item" i18n>Unsolved reports</a>
               <a [routerLink]="[ '/admin/moderation/video-abuses/list' ]" [queryParams]="{ 'search': 'state:accepted' }" class="dropdown-item" i18n>Accepted reports</a>
               <a [routerLink]="[ '/admin/moderation/video-abuses/list' ]" [queryParams]="{ 'search': 'state:rejected' }" class="dropdown-item" i18n>Refused reports</a>
-              <a [routerLink]="[ '/admin/moderation/video-abuses/list' ]" [queryParams]="{ 'search': 'is:blocked' }" class="dropdown-item" i18n>Reports with blocked videos</a>
+              <a [routerLink]="[ '/admin/moderation/video-abuses/list' ]" [queryParams]="{ 'search': 'is:blacklisted' }" class="dropdown-item" i18n>Reports with blacklisted videos</a>
               <a [routerLink]="[ '/admin/moderation/video-abuses/list' ]" [queryParams]="{ 'search': 'is:deleted' }" class="dropdown-item" i18n>Reports with deleted videos</a>
             </div>
           </div>
diff --git a/server/models/video/video-abuse.ts b/server/models/video/video-abuse.ts
index b1f8fed90..f6b546825 100644
--- a/server/models/video/video-abuse.ts
+++ b/server/models/video/video-abuse.ts
@@ -90,10 +90,13 @@ export enum ScopeNames {
       })
     }
 
-    if (options.is) {
+    let onlyBlacklisted = false
+    if (options.is === "deleted") {
       where = Object.assign(where, {
-        ...options.is
+        deletedVideo: { [Op.not]: null }
       })
+    } else if (options.is === "blacklisted") {
+      onlyBlacklisted = true
     }
 
     return {
@@ -184,7 +187,7 @@ export enum ScopeNames {
         },
         {
           model: VideoModel,
-          required: false,
+          required: onlyBlacklisted,
           where: searchAttribute(options.searchVideo, 'name'),
           include: [
             {
@@ -202,7 +205,8 @@ export enum ScopeNames {
             },
             {
               attributes: [ 'id', 'reason', 'unfederated' ],
-              model: VideoBlacklistModel
+              model: VideoBlacklistModel,
+              required: onlyBlacklisted
             }
           ]
         }
@@ -328,7 +332,8 @@ export class VideoAbuseModel extends Model<VideoAbuseModel> {
         is: {
           prefix: 'is:',
           handler: v => {
-            if (v === "deleted") return { deletedVideo: { [Op.not]: null } }
+            if (v === "deleted") return v
+            if (v === "blacklisted") return v
             return undefined
           }
         },