const { handleChanges } = require('./server/settings'); async function register({ registerSetting, registerHook, settingsManager, videoCategoryManager, peertubeHelpers, }: RegisterServerOptions) { const { logger } = peertubeHelpers; registerHook({ target: 'action:application.listening', handler: async () => { handleChanges({ videoCategoryManager, logger, })(await settingsManager.getSettings(['json-categories-as-text'])); }, }); registerSetting({ name: 'json-categories-as-text', label: 'settings.json_categories.label', type: 'input-textarea', default: JSON.stringify({ add: [], delete: [] }), descriptionHTML: 'settings.json_categories.description', }); settingsManager.onSettingsChange( handleChanges({ videoCategoryManager, logger, }) ); } async function unregister() { return; } module.exports = { register, unregister, };