59 lines
1.3 KiB
JavaScript
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 };
|