]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/video-blacklist.ts
Stronger actor association typing in AP functions
[github/Chocobozzz/PeerTube.git] / server / lib / video-blacklist.ts
index 9749ce2f6cbc282e2bc69100be302fd954c78699..bdaecd8e24bef5351c9a582e22b77691479c24e0 100644 (file)
@@ -7,15 +7,17 @@ import { VideoModel } from '../models/video/video'
 import { logger } from '../helpers/logger'
 import { UserAdminFlag } from '../../shared/models/users/user-flag.model'
 import { Hooks } from './plugins/hooks'
+import { Notifier } from './notifier'
 
 async function autoBlacklistVideoIfNeeded (parameters: {
   video: VideoModel,
   user?: UserModel,
   isRemote: boolean,
   isNew: boolean,
+  notify?: boolean,
   transaction?: Transaction
 }) {
-  const { video, user, isRemote, isNew, transaction } = parameters
+  const { video, user, isRemote, isNew, notify = true, transaction } = parameters
   const doAutoBlacklist = await Hooks.wrapPromiseFun(
     autoBlacklistNeeded,
     { video, user, isRemote, isNew },
@@ -37,9 +39,10 @@ async function autoBlacklistVideoIfNeeded (parameters: {
     defaults: videoBlacklistToCreate,
     transaction
   })
-
   video.VideoBlacklist = videoBlacklist
 
+  if (notify) Notifier.Instance.notifyOnVideoAutoBlacklist(video)
+
   logger.info('Video %s auto-blacklisted.', video.uuid)
 
   return true
@@ -56,7 +59,7 @@ async function autoBlacklistNeeded (parameters: {
   // Already blacklisted
   if (video.VideoBlacklist) return false
   if (!CONFIG.AUTO_BLACKLIST.VIDEOS.OF_USERS.ENABLED || !user) return false
-  if (isRemote || isNew) return false
+  if (isRemote || isNew === false) return false
 
   if (user.hasRight(UserRight.MANAGE_VIDEO_BLACKLIST) || user.hasAdminFlag(UserAdminFlag.BY_PASS_VIDEO_AUTO_BLACKLIST)) return false