Initial push 0.2.0
This commit is contained in:
81
code/lib/data.js
Normal file
81
code/lib/data.js
Normal file
@@ -0,0 +1,81 @@
|
||||
const fs = require ('fs');
|
||||
|
||||
try {
|
||||
var data = JSON.parse (fs.readFileSync ('./data.json').toString ());
|
||||
log.write ('Opened data file');
|
||||
}
|
||||
catch (error) {
|
||||
var data = {
|
||||
users: []
|
||||
};
|
||||
fs.writeFileSync ('./data.json', JSON.stringify (data, null, 2));
|
||||
}
|
||||
|
||||
const persistData = () => {
|
||||
var content = {
|
||||
users: []
|
||||
};
|
||||
Object.keys (users).forEach ((user) => {
|
||||
content.users.push ({
|
||||
username: user,
|
||||
password: users[user].password,
|
||||
vlan: users[user].vlan
|
||||
});
|
||||
});
|
||||
fs.writeFileSync ('./data.json', JSON.stringify (content, null, 2));
|
||||
}
|
||||
|
||||
users = {};
|
||||
data.users.forEach ((e) => {
|
||||
users[e.username] = {
|
||||
password: e.password,
|
||||
vlan: e.vlan
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = {
|
||||
authUser: (username, password) => {
|
||||
if (users[username] && users[username].password == password) {
|
||||
return {
|
||||
vlan: users[username].vlan
|
||||
};
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
createUser: (payload, callback) => {
|
||||
try {
|
||||
payload = JSON.parse (payload);
|
||||
var username = payload.username;
|
||||
var password = payload.password;
|
||||
var vlan = payload.vlan;
|
||||
users[username] = {
|
||||
password: password,
|
||||
vlan: vlan
|
||||
};
|
||||
persistData ();
|
||||
callback ("OK\n\n", null);
|
||||
}
|
||||
catch (error) {
|
||||
callback (null, "Error\n\n");
|
||||
}
|
||||
},
|
||||
|
||||
updateUser: (payload, callback) => {
|
||||
payload = JSON.parse (payload);
|
||||
callback ("OK\n\n", null);
|
||||
},
|
||||
|
||||
deleteUser: (username, callback) => {
|
||||
try {
|
||||
delete users[username];
|
||||
persistData ();
|
||||
callback ("OK\n\n", null);
|
||||
}
|
||||
catch (error) {
|
||||
callback (null, "Error\n\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user