1
0
forked from w0bm/f0bm
Files
f0bm/src/inc/cfg.mjs
Flummi 4069b416da dfw
2018-09-08 19:45:24 +02:00

59 lines
1.3 KiB
JavaScript

import sql from "./sql";
let cfg = {
client: {},
main: {},
websrv: {},
trigger: {}
};
let admins = [];
const read = () => new Promise((resolve, reject) => {
sql.exec("select * from cfg").then(rows => {
for (let row in rows) {
cfg[rows[row].class][rows[row].key] = {
val: ((type, value) => {
switch (type) {
case "string":
return value;
case "int":
return parseInt(value);
case "bool":
return value === "true";
case "json":
return JSON.parse(value);
}
})(rows[row].type, rows[row].value),
hidden: rows[row].hidden === 1,
type: rows[row].type
}
}
loadAdmins().then(() => resolve());
})
.catch(err => {
reject("no cfg");
})
});
export const loadAdmins = () => new Promise((resolve, reject) => {
admins = [];
sql.exec(`select * from admins`)
.then(rows => {
rows.forEach(row => {
admins.push({
id: row.id,
prefix: row.prefix,
account: row.account,
network: row.network,
level: row.level
});
});
resolve();
})
.catch(err => {
reject("keine Admins vorhanden");
});
});
export { cfg, read, admins };