66 lines
1.5 KiB
JavaScript
66 lines
1.5 KiB
JavaScript
const express = require('express');
|
|
const systemService = require('../services/systemInfo');
|
|
|
|
const router = express.Router();
|
|
|
|
/**
|
|
* GET /api/v1/system/cpu
|
|
*/
|
|
router.get('/cpu', async (req, res) => {
|
|
try {
|
|
const usage = await systemService.getCpuUsage();
|
|
res.json({ success: true, usage });
|
|
} catch (err) {
|
|
res.status(500).json({ success: false, error: err.message });
|
|
}
|
|
});
|
|
|
|
/**
|
|
* GET /api/v1/system/memory
|
|
*/
|
|
router.get('/memory', (req, res) => {
|
|
try {
|
|
const memory = systemService.getMemoryInfo();
|
|
res.json({ success: true, ...memory });
|
|
} catch (err) {
|
|
res.status(500).json({ success: false, error: err.message });
|
|
}
|
|
});
|
|
|
|
/**
|
|
* GET /api/v1/system/disk
|
|
*/
|
|
router.get('/disk', (req, res) => {
|
|
try {
|
|
const disk = systemService.getDiskUsage();
|
|
res.json({ success: true, partitions: disk });
|
|
} catch (err) {
|
|
res.status(500).json({ success: false, error: err.message });
|
|
}
|
|
});
|
|
|
|
/**
|
|
* GET /api/v1/system/uptime
|
|
*/
|
|
router.get('/uptime', (req, res) => {
|
|
try {
|
|
const uptime = systemService.getUptime();
|
|
res.json({ success: true, ...uptime });
|
|
} catch (err) {
|
|
res.status(500).json({ success: false, error: err.message });
|
|
}
|
|
});
|
|
|
|
/**
|
|
* GET /api/v1/system/load
|
|
*/
|
|
router.get('/load', (req, res) => {
|
|
try {
|
|
const load = systemService.getLoadAverage();
|
|
res.json({ success: true, ...load });
|
|
} catch (err) {
|
|
res.status(500).json({ success: false, error: err.message });
|
|
}
|
|
});
|
|
|
|
module.exports = router;
|