refactor information widgets

This commit is contained in:
Ben Phelps 2022-08-27 00:55:13 +03:00
parent 1124f55361
commit b61ec9836e
10 changed files with 208 additions and 120 deletions

View file

@ -1,14 +1,26 @@
import { cpu, drive, mem, netstat } from "node-os-utils";
export default async function handler(req, res) {
const { disk } = req.query;
const { type, target } = req.query;
res.send({
cpu: {
usage: await cpu.usage(),
load: cpu.loadavgTime(5),
},
drive: await drive.info(disk || "/"),
memory: await mem.info(),
});
if (type == "cpu") {
return res.status(200).json({
cpu: {
usage: await cpu.usage(1000),
load: cpu.loadavgTime(5),
},
});
} else if (type == "disk") {
return res.status(200).json({
drive: await drive.info(target || "/"),
});
} else if (type == "memory") {
return res.status(200).json({
memory: await mem.info(),
});
} else {
return res.status(400).json({
error: "invalid type",
});
}
}