mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 19:15:58 +01:00 
			
		
		
		
	fix: #7844, add uid to events, log plugin install/uninstall events
This commit is contained in:
		| @@ -14,6 +14,8 @@ const events = module.exports; | |||||||
| events.types = [ | events.types = [ | ||||||
| 	'plugin-activate', | 	'plugin-activate', | ||||||
| 	'plugin-deactivate', | 	'plugin-deactivate', | ||||||
|  | 	'plugin-install', | ||||||
|  | 	'plugin-uninstall', | ||||||
| 	'restart', | 	'restart', | ||||||
| 	'build', | 	'build', | ||||||
| 	'config-change', | 	'config-change', | ||||||
|   | |||||||
| @@ -11,7 +11,6 @@ const util = require('util'); | |||||||
| const db = require('../database'); | const db = require('../database'); | ||||||
| const meta = require('../meta'); | const meta = require('../meta'); | ||||||
| const pubsub = require('../pubsub'); | const pubsub = require('../pubsub'); | ||||||
| const events = require('../events'); |  | ||||||
|  |  | ||||||
| const statAsync = util.promisify(fs.stat); | const statAsync = util.promisify(fs.stat); | ||||||
|  |  | ||||||
| @@ -57,10 +56,6 @@ module.exports = function (Plugins) { | |||||||
| 		} | 		} | ||||||
| 		meta.reloadRequired = true; | 		meta.reloadRequired = true; | ||||||
| 		Plugins.fireHook(isActive ? 'action:plugin.deactivate' : 'action:plugin.activate', { id: id }); | 		Plugins.fireHook(isActive ? 'action:plugin.deactivate' : 'action:plugin.activate', { id: id }); | ||||||
| 		await events.log({ |  | ||||||
| 			type: 'plugin-' + (isActive ? 'deactivate' : 'activate'), |  | ||||||
| 			text: id, |  | ||||||
| 		}); |  | ||||||
| 		return { id: id, active: !isActive }; | 		return { id: id, active: !isActive }; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -129,14 +129,27 @@ SocketAdmin.themes.set = function (socket, data, callback) { | |||||||
| 	], callback); | 	], callback); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| SocketAdmin.plugins.toggleActive = function (socket, plugin_id, callback) { | SocketAdmin.plugins.toggleActive = async function (socket, plugin_id) { | ||||||
| 	require('../posts/cache').reset(); | 	require('../posts/cache').reset(); | ||||||
| 	plugins.toggleActive(plugin_id, callback); | 	const data = await plugins.toggleActive(plugin_id); | ||||||
|  | 	await events.log({ | ||||||
|  | 		type: 'plugin-' + (data.active ? 'activate' : 'deactivate'), | ||||||
|  | 		text: plugin_id, | ||||||
|  | 		uid: socket.uid, | ||||||
|  | 	}); | ||||||
|  | 	return data; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| SocketAdmin.plugins.toggleInstall = function (socket, data, callback) { | SocketAdmin.plugins.toggleInstall = async function (socket, data) { | ||||||
| 	require('../posts/cache').reset(); | 	require('../posts/cache').reset(); | ||||||
| 	plugins.toggleInstall(data.id, data.version, callback); | 	const pluginData = await plugins.toggleInstall(data.id, data.version); | ||||||
|  | 	await events.log({ | ||||||
|  | 		type: 'plugin-' + (pluginData.installed ? 'install' : 'uninstall'), | ||||||
|  | 		text: data.id, | ||||||
|  | 		version: data.version, | ||||||
|  | 		uid: socket.uid, | ||||||
|  | 	}); | ||||||
|  | 	return pluginData; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| SocketAdmin.plugins.getActive = function (socket, data, callback) { | SocketAdmin.plugins.getActive = function (socket, data, callback) { | ||||||
| @@ -398,3 +411,5 @@ SocketAdmin.uploads.delete = function (socket, pathToFile, callback) { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| module.exports = SocketAdmin; | module.exports = SocketAdmin; | ||||||
|  |  | ||||||
|  | require('../promisify')(SocketAdmin); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user