]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/video-blacklist.ts
Fix moderation notification
[github/Chocobozzz/PeerTube.git] / server / lib / video-blacklist.ts
index bdbcffda668c242262d1d33915dfb7de331de312..dbb37e0b28b70915c87615c4118066ba04770fbc 100644 (file)
@@ -1,4 +1,5 @@
 import { Transaction } from 'sequelize'
+import { afterCommitIfTransaction } from '@server/helpers/database-utils'
 import { sequelizeTypescript } from '@server/initializers/database'
 import {
   MUser,
@@ -15,6 +16,7 @@ import { CONFIG } from '../initializers/config'
 import { VideoBlacklistModel } from '../models/video/video-blacklist'
 import { sendDeleteVideo } from './activitypub/send'
 import { federateVideoIfNeeded } from './activitypub/videos'
+import { LiveManager } from './live-manager'
 import { Notifier } from './notifier'
 import { Hooks } from './plugins/hooks'
 
@@ -52,7 +54,11 @@ async function autoBlacklistVideoIfNeeded (parameters: {
 
   videoBlacklist.Video = video
 
-  if (notify) Notifier.Instance.notifyOnVideoAutoBlacklist(videoBlacklist)
+  if (notify) {
+    afterCommitIfTransaction(transaction, () => {
+      Notifier.Instance.notifyOnVideoAutoBlacklist(videoBlacklist)
+    })
+  }
 
   logger.info('Video %s auto-blacklisted.', video.uuid)
 
@@ -73,6 +79,10 @@ async function blacklistVideo (videoInstance: MVideoAccountLight, options: Video
     await sendDeleteVideo(videoInstance, undefined)
   }
 
+  if (videoInstance.isLive) {
+    LiveManager.Instance.stopSessionOf(videoInstance.id)
+  }
+
   Notifier.Instance.notifyOnVideoBlacklist(blacklist)
 }