async function register ({ registerHook, registerSetting, settingsManager, storageManager, peertubeHelpers }) { const actionHooks = [ 'action:application.listening', 'action:api.video.updated', 'action:api.video.deleted', 'action:api.video.uploaded', 'action:api.video.viewed', 'action:api.video-thread.created', 'action:api.video-comment-reply.created', 'action:api.video-comment.deleted' ] for (const h of actionHooks) { registerHook({ target: h, handler: () => peertubeHelpers.logger.debug('Run hook %s.', h) }) } registerHook({ target: 'filter:api.videos.list.params', handler: obj => addToCount(obj) }) registerHook({ target: 'filter:api.videos.list.result', handler: obj => ({ data: obj.data, total: obj.total + 1 }) }) registerHook({ target: 'filter:api.video.get.result', handler: video => { video.name += ' <3' return video } }) registerHook({ target: 'filter:api.video.upload.accept.result', handler: ({ accepted }, { videoBody }) => { if (accepted !== false) return { accepted: true } if (videoBody.name.indexOf('bad word') !== -1) return { accepted: false, errorMessage: 'bad word '} return { accepted: true } } }) } async function unregister () { return } module.exports = { register, unregister } // ############################################################################ function addToCount (obj) { return Object.assign({}, obj, { count: obj.count + 1 }) }