97 lines
3.5 KiB
JavaScript
97 lines
3.5 KiB
JavaScript
const auth = { objectGuid: getCookie('ObjectGUID'), sAMAccountName: getCookie('sAMAccountName') };
|
|
const mainSocket = io.connect('/', { reconnect: true, auth: auth });
|
|
const adminSocket = io.connect('/admin', { reconnect: true, auth: auth });
|
|
|
|
const container = document.getElementById('message-container');
|
|
|
|
|
|
adminSocket.on('eventlog', (data) => {
|
|
showMessage('EventLog',
|
|
`${data.datetime}<br>${[-1,0].includes(data.levelId) ? '' : data.trace}<br><br>${(Array.isArray(data.message) ? data.message.split('\r\n').join('<br>').split('\t').join(' ') : data.message.split('\r\n').join('<br>').split('\t').join(' '))}`,
|
|
data.levelId,
|
|
() => {
|
|
|
|
} ,
|
|
10000);
|
|
});
|
|
|
|
mainSocket.on('event', (data) => {
|
|
showMessage(data.pluginName,
|
|
`[${data.datetime}]<br><br>${(Array.isArray(data.message) ? data.message.split('\r\n').join('<br>').split('\t').join(' ') : data.message.split('\r\n').join('<br>').split('\t').join(' '))}`,
|
|
data.levelId,
|
|
() => {
|
|
|
|
} ,
|
|
10000);
|
|
});
|
|
|
|
|
|
|
|
//-1=test, 0=success, 1=log, 2=warn, 4=error, 8=throw_exception
|
|
function writeEventLog(levelId, pluginName, message) {
|
|
adminSocket.emit('eventlog', {
|
|
objectGuid: getCookie('ObjectGUID'),
|
|
levelId: levelId,
|
|
pluginName: pluginName,
|
|
message: message.stack === undefined ? message : { message: message.message, stack: message.stack }
|
|
});
|
|
}
|
|
|
|
// levelId: if -1, then write no log entry
|
|
// sendToParams: where clause to find objectGUIDs to send
|
|
function sendUserEvent(pluginName, message, sendToParams, levelId = -1) {
|
|
mainSocket.emit('event', {
|
|
objectGuid: getCookie('ObjectGUID'),
|
|
levelId: levelId,
|
|
pluginName: pluginName,
|
|
message: message.stack === undefined ? message : { message: message.message },
|
|
sendToParams: sendToParams
|
|
});
|
|
}
|
|
|
|
|
|
/*
|
|
{
|
|
"status":"unload",
|
|
"pluginName":"user_management",
|
|
"metadata":{
|
|
"name":"user_management",
|
|
"menuName":"User Management",
|
|
"description":"Beschreibung hier einfügen",
|
|
"version":"0.9.25.11.14",
|
|
"icon":"",
|
|
"permissions":[],
|
|
"config":{
|
|
},
|
|
"active":false
|
|
},
|
|
"levelId":0,
|
|
"message":"Plugin user_management entladen",
|
|
"authorized": true
|
|
}
|
|
*/
|
|
mainSocket.on('plugin_status', payload => {
|
|
const startMenuItem = document.querySelector(`[data-appname=${payload.metadata.name}]`);
|
|
if(['load', 'unload', 'update'].includes(payload.status)) {
|
|
if(payload.status == 'load') {
|
|
if(payload.authorized) {
|
|
startMenuItem.classList.remove('unload');
|
|
startMenuItem.setAttribute('data-active', true);
|
|
} else {
|
|
startMenuItem.classList.add('unload');
|
|
startMenuItem.setAttribute('data-active', false);
|
|
}
|
|
} else if(payload.status == 'unload') {
|
|
startMenuItem.classList.add('unload');
|
|
startMenuItem.setAttribute('data-active', false);
|
|
} else if(payload.status == 'update') {
|
|
if(payload.authorized && payload.metadata.active) {
|
|
startMenuItem.classList.remove('unload');
|
|
startMenuItem.setAttribute('data-active', true);
|
|
} else if(!payload.authorized){
|
|
startMenuItem.classList.add('unload');
|
|
startMenuItem.setAttribute('data-active', false);
|
|
}
|
|
}
|
|
}
|
|
}); |