add environment metrics api

This commit is contained in:
liamcottle
2024-06-06 23:56:40 +12:00
parent cd68b062a1
commit 2301e83705

View File

@ -171,9 +171,9 @@ app.get('/api/v1/nodes/:nodeId/device-metrics', async (req, res) => {
// find node // find node
const node = await prisma.node.findFirst({ const node = await prisma.node.findFirst({
where: { where: {
node_id: nodeId, node_id: nodeId,
}, },
}); });
// make sure node exists // make sure node exists
@ -207,6 +207,50 @@ app.get('/api/v1/nodes/:nodeId/device-metrics', async (req, res) => {
} }
}); });
app.get('/api/v1/nodes/:nodeId/environment-metrics', async (req, res) => {
try {
const nodeId = parseInt(req.params.nodeId);
const count = req.query.count ? parseInt(req.query.count) : undefined;
// find node
const node = await prisma.node.findFirst({
where: {
node_id: nodeId,
},
});
// make sure node exists
if(!node){
res.status(404).json({
message: "Not Found",
});
return;
}
// get latest environment metrics
const environmentMetrics = await prisma.environmentMetric.findMany({
where: {
node_id: node.node_id,
},
orderBy: {
id: 'desc',
},
take: count,
});
res.json({
environment_metrics: environmentMetrics,
});
} catch(err) {
console.error(err);
res.status(500).json({
message: "Something went wrong, try again later.",
});
}
});
app.get('/api/v1/nodes/:nodeId/mqtt-metrics', async (req, res) => { app.get('/api/v1/nodes/:nodeId/mqtt-metrics', async (req, res) => {
try { try {