mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
const plugins = require('../../plugins');
|
|
const events = require('../../events');
|
|
const db = require('../../database');
|
|
|
|
const Plugins = module.exports;
|
|
|
|
Plugins.toggleActive = async function (socket, plugin_id) {
|
|
require('../../posts/cache').reset();
|
|
const data = await plugins.toggleActive(plugin_id);
|
|
await events.log({
|
|
type: 'plugin-' + (data.active ? 'activate' : 'deactivate'),
|
|
text: plugin_id,
|
|
uid: socket.uid,
|
|
});
|
|
return data;
|
|
};
|
|
|
|
Plugins.toggleInstall = async function (socket, data) {
|
|
require('../../posts/cache').reset();
|
|
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;
|
|
};
|
|
|
|
Plugins.getActive = function (socket, data, callback) {
|
|
plugins.getActive(callback);
|
|
};
|
|
|
|
Plugins.orderActivePlugins = async function (socket, data) {
|
|
data = data.filter(plugin => plugin && plugin.name);
|
|
await Promise.all(data.map(plugin => db.sortedSetAdd('plugins:active', plugin.order || 0, plugin.name)));
|
|
};
|
|
|
|
Plugins.upgrade = function (socket, data, callback) {
|
|
plugins.upgrade(data.id, data.version, callback);
|
|
};
|