Support is:blacklisted as video-abuse-list filter
authorRigel Kent <sendmemail@rigelk.eu>
Sun, 3 May 2020 14:16:10 +0000 (16:16 +0200)
committerRigel Kent <par@rigelk.eu>
Mon, 4 May 2020 13:01:44 +0000 (15:01 +0200)
client/src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.html
server/models/video/video-abuse.ts

index cf5cd58f8dd965f7b418ae16b58c6b60742bcc56..bf989cb4ed1695a31471534fb400996b7c91b2c1 100644 (file)
@@ -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>
index b1f8fed90e8545dddaccaa075075642520cb81a2..f6b5468251d826429c67f0d950a0d665a849aa8f 100644 (file)
@@ -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
           }
         },