Skip to content
Snippets Groups Projects
Commit 1f40973d authored by echicken's avatar echicken :chicken:
Browse files

Changed the format of some messages.

parent a87ecd0f
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
...@@ -108,33 +108,30 @@ function scanLocal() { ...@@ -108,33 +108,30 @@ function scanLocal() {
if (current[u] === undefined || current[u].sessions[s] === undefined) { if (current[u] === undefined || current[u].sessions[s] === undefined) {
delete sessions.local.users[u].sessions[s]; delete sessions.local.users[u].sessions[s];
broadcast('logoff', { broadcast('logoff', {
system: 'local',
user: u, user: u,
session: s, session: s,
}); });
} else { } else {
const updates = {}; var update = false;
if (current[u].xtrn !== sessions.local.users[u].xtrn) { if (current[u].xtrn !== sessions.local.users[u].xtrn) {
sessions.local.users[u].xtrn = current[u].xtrn; sessions.local.users[u].xtrn = current[u].xtrn;
updates.xtrn = sessions.local.users[u].xtrn; update = true;
} }
if (current[u].sessions[s].action !== sessions.local.users[u].sessions[s].action) { if (current[u].sessions[s].action !== sessions.local.users[u].sessions[s].action) {
sessions.local.users[u].sessions[s].action = current[u].sessions[s].action; sessions.local.users[u].sessions[s].action = current[u].sessions[s].action;
updates.sessions = {}; update = true;
updates.sessions[s] = { action: sessions.local.users[u].sessions[s].action };
} }
if (Object.keys(updates).length > 0) { if (update) {
broadcast('update', { broadcast('update', {
system: 'local', user: sessions.local.users[u],
user: u, session: s,
data: updates,
}); });
} }
delete current[u].sessions[s]; delete current[u].sessions[s];
} }
} }
if (Object.keys(sessions.local.users[u].sessions).length < 1) delete sessions.local.users[u]; if (Object.keys(sessions.local.users[u].sessions).length < 1) delete sessions.local.users[u];
if (Object.keys(current[u].sessions).length < 1) delete current[u]; if (current[u] !== undefined && current[u].sessions !== undefined && Object.keys(current[u].sessions).length < 1) delete current[u];
} }
for (var u in current) { for (var u in current) {
...@@ -142,10 +139,8 @@ function scanLocal() { ...@@ -142,10 +139,8 @@ function scanLocal() {
for (var s in current[u].sessions) { for (var s in current[u].sessions) {
sessions.local.users[u].sessions[s] = current[u].sessions[s]; sessions.local.users[u].sessions[s] = current[u].sessions[s];
broadcast('logon', { broadcast('logon', {
system: 'local', user: sessions.local.users[u],
user: u,
session: s, session: s,
data: sessions.local.users[u],
}); });
} }
} }
...@@ -168,6 +163,10 @@ function onRemoteLogon(usr, sys) { ...@@ -168,6 +163,10 @@ function onRemoteLogon(usr, sys) {
name: sys.name, name: sys.name,
users: {} users: {}
}; };
broadcast('system', {
host: sys.host,
name: sys.name
});
} }
sys.users.forEach(function (e) { sys.users.forEach(function (e) {
...@@ -186,17 +185,17 @@ function onRemoteLogon(usr, sys) { ...@@ -186,17 +185,17 @@ function onRemoteLogon(usr, sys) {
sessions.remote[sys.host].users[e.name].sessions[skey] = { action: e.action }; sessions.remote[sys.host].users[e.name].sessions[skey] = { action: e.action };
broadcast('logon', { broadcast('logon', {
system: sys.name, system: sys.name,
user: e.name, host: sys.host,
user: sessions.remote[sys.host].users[e.name],
session: skey, session: skey,
data: sessions.remote[sys.host].users[e.name],
}); });
} else if (sessions.remote[sys.host].users[e.name].sessions[skey].action !== e.action) { } else if (sessions.remote[sys.host].users[e.name].sessions[skey].action !== e.action) {
sessions.remote[sys.host].users[e.name].sessions[skey].action = e.action; sessions.remote[sys.host].users[e.name].sessions[skey].action = e.action;
broadcast('update', { broadcast('update', {
system: sys.name, system: sys.name,
user: e.name, host: sys.host,
user: sessions.remote[sys.host].users[e.name],
session: skey, session: skey,
data: sessions.remote[sys.host].users[e.name],
}); });
} }
}); });
...@@ -213,6 +212,7 @@ function onRemoteLogoff(usr, sys) { ...@@ -213,6 +212,7 @@ function onRemoteLogoff(usr, sys) {
if (!Object.keys(sessions.remote[sys.host].users[usr.name].sessions).length) delete sessions.remote[sys.host].users[usr.name]; if (!Object.keys(sessions.remote[sys.host].users[usr.name].sessions).length) delete sessions.remote[sys.host].users[usr.name];
broadcast('logoff', { broadcast('logoff', {
system: sys.name, system: sys.name,
host: sys.host,
user: usr.name, user: usr.name,
session: skey, session: skey,
}); });
...@@ -250,7 +250,7 @@ function onClient() { ...@@ -250,7 +250,7 @@ function onClient() {
if (idle()) refresh(true); if (idle()) refresh(true);
}); });
sock.once('write', function () { sock.once('write', function () {
this.sendline(JSON.stringify(sessions)); this.sendline(JSON.stringify({ event: 'state', data: sessions }));
}); });
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment