Issue 1, untested

This commit is contained in:
Alex Rennie-Lis
2024-04-09 13:18:23 +01:00
parent 9d60111262
commit 2b7fbfdebd
4 changed files with 100 additions and 22 deletions

View File

@@ -1,4 +1,5 @@
const fs = require ('fs');
const timeauth = require ('./time.js');
try {
var data = JSON.parse (fs.readFileSync ('./data.json').toString ());
@@ -19,7 +20,9 @@ const persistData = () => {
content.users.push ({
username: user,
password: users[user].password,
vlan: users[user].vlan
vlan: users[user].vlan,
description: users[user].description,
rules: users[user].rules
});
});
fs.writeFileSync ('./data.json', JSON.stringify (content, null, 2));
@@ -29,7 +32,9 @@ users = {};
data.users.forEach ((e) => {
users[e.username] = {
password: e.password,
vlan: e.vlan
vlan: e.vlan,
description: e.description,
rules: e.rules
}
});
@@ -40,9 +45,16 @@ module.exports = {
password = password.toLowerCase ().replace (/[:-]/g, '');
}
if (users[username] && users[username].password == password) {
return {
vlan: users[username].vlan
};
// Check time
var rules = users[username].rules || [];
if (timeauth.checkAuth (rules)) {
return {
vlan: users[username].vlan
};
}
else {
return false;
}
}
else {
return false;
@@ -59,11 +71,13 @@ module.exports = {
password = password.toLowerCase ().replace (/[:-]/g, '');
}
var description = payload.description || "";
var rules = payload.rules || [];
var vlan = payload.vlan;
users[username] = {
password: password,
vlan: vlan,
description: description
description: description,
rules: rules
};
persistData ();
callback ("OK\n\n", null);