1
0
mirror of https://github.com/hack-chat/main.git synced 2024-03-22 13:20:33 +08:00

Make join apply UAC levels to sockets and userInfo

This commit is contained in:
MinusGix 2020-03-05 10:48:58 -06:00
parent 3569d42f2d
commit 2fd054a31e

View File

@ -2,6 +2,8 @@
Description: Initial entry point, applies `channel` and `nick` to the calling socket
*/
import * as UAC from "../utility/UAC/info";
// module support functions
const crypto = require('crypto');
@ -20,6 +22,7 @@ export function parseNickname(core, data) {
nick: '',
uType: 'user',
trip: null,
level: UAC.levels.user,
};
// seperate nick from password
@ -36,6 +39,7 @@ export function parseNickname(core, data) {
if (hash(password + core.config.tripSalt) === core.config.adminTrip) {
userInfo.uType = 'admin';
userInfo.trip = 'Admin';
userInfo.level = UAC.levels.admin;
} else if (userInfo.nick.toLowerCase() === core.config.adminName.toLowerCase()) {
// they've got the main-admin name while not being an admin
return 'You are not the admin, liar!';
@ -48,6 +52,7 @@ export function parseNickname(core, data) {
core.config.mods.forEach((mod) => {
if (userInfo.trip === mod.trip) {
userInfo.uType = 'mod';
userInfo.level = UAC.levels.moderator;
}
});
@ -113,6 +118,7 @@ export async function run(core, server, socket, data) {
nick: userInfo.nick,
trip: userInfo.trip || 'null',
hash: userInfo.userHash,
level: userInfo.level,
};
// send join announcement and prep online set
@ -126,6 +132,7 @@ export async function run(core, server, socket, data) {
socket.nick = userInfo.nick;
socket.channel = data.channel;
socket.hash = userInfo.userHash;
socket.level = userInfo.level;
if (userInfo.trip !== null) socket.trip = userInfo.trip;
nicks.push(socket.nick);