ProxmoxAAS-API/db.js
Arthur Lu 2ef4bfd3d2 implement new db strategy
Signed-off-by: Arthur Lu <learthurgo@gmail.com>
2023-04-19 01:03:55 +00:00

40 lines
791 B
JavaScript

const fs = require("fs");
filename = "localdb.json";
let db = {};
/**
* called at app startup, can be used to initialize any variables needed for database access
*/
function init () {
try {
db = JSON.parse(fs.readFileSync(filename));
}
catch {
fs.writeFileSync(filename, JSON.stringify(db));
}
}
function getResourceMeta () {
return db.resources;
}
function getUserMax (username) {
return db.users[username].maximum;
}
function getResourceUnits () {
return db.units;
}
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};