ProxmoxAAS-API/db.js

40 lines
791 B
JavaScript
Raw Normal View History

2023-02-27 01:09:49 +00:00
const fs = require("fs");
filename = "localdb.json";
2023-02-27 01:28:01 +00:00
let db = {};
/**
* called at app startup, can be used to initialize any variables needed for database access
*/
2023-02-27 01:28:01 +00:00
function init () {
try {
db = JSON.parse(fs.readFileSync(filename));
2023-02-27 01:28:01 +00:00
}
catch {
fs.writeFileSync(filename, JSON.stringify(db));
}
}
function getResourceMeta () {
return db.resources;
2023-02-27 01:28:01 +00:00
}
function getUserMax (username) {
return db.users[username].maximum;
2023-02-27 01:28:01 +00:00
}
2023-02-27 01:09:49 +00:00
function getResourceUnits () {
return db.units;
2023-02-27 01:28:01 +00:00
}
function putUserResources (username, used) {
let userEntry = db.users[username];
userEntry.used = used;
userEntry.avail = {};
Object.keys(max).forEach((k) => {
userEntry.avail[k] = max[k] - used[k];
});
}
module.exports = {init, getResourceMeta, getUserMax, getResourceUnits, putUserResources};