X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fvideo-blacklist.ts;h=1dd45b76d9d1fe742c52d4beef611aa991f357e6;hb=e612209767ebe1deb0af7688c96b7f979bb52b44;hp=1dd7139f76cc59f5440501bc2a67a522f435178a;hpb=7c421bb19809c4b0223d9e082d52d125fbe95f2a;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/video-blacklist.ts b/server/lib/video-blacklist.ts index 1dd7139f7..1dd45b76d 100644 --- a/server/lib/video-blacklist.ts +++ b/server/lib/video-blacklist.ts @@ -2,20 +2,21 @@ import { Transaction } from 'sequelize' import { CONFIG } from '../initializers/config' import { UserRight, VideoBlacklistType } from '../../shared/models' import { VideoBlacklistModel } from '../models/video/video-blacklist' -import { UserModel } from '../models/account/user' -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' +import { MUser, MVideoBlacklistVideo, MVideoWithBlacklistLight } from '@server/typings/models' async function autoBlacklistVideoIfNeeded (parameters: { - video: VideoModel, - user?: UserModel, + video: MVideoWithBlacklistLight, + user?: MUser, 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 }, @@ -30,26 +31,29 @@ async function autoBlacklistVideoIfNeeded (parameters: { reason: 'Auto-blacklisted. Moderator review required.', type: VideoBlacklistType.AUTO_BEFORE_PUBLISHED } - const [ videoBlacklist ] = await VideoBlacklistModel.findOrCreate({ + const [ videoBlacklist ] = await VideoBlacklistModel.findOrCreate({ where: { videoId: video.id }, defaults: videoBlacklistToCreate, transaction }) - video.VideoBlacklist = videoBlacklist + videoBlacklist.Video = video + + if (notify) Notifier.Instance.notifyOnVideoAutoBlacklist(videoBlacklist) + logger.info('Video %s auto-blacklisted.', video.uuid) return true } async function autoBlacklistNeeded (parameters: { - video: VideoModel, + video: MVideoWithBlacklistLight, isRemote: boolean, isNew: boolean, - user?: UserModel + user?: MUser }) { const { user, video, isRemote, isNew } = parameters