summary refs log tree commit diff
path: root/src/api/routes/alarmRoutes.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/routes/alarmRoutes.js')
-rw-r--r--src/api/routes/alarmRoutes.js17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/api/routes/alarmRoutes.js b/src/api/routes/alarmRoutes.js

index aeae4ab..635d230 100644 --- a/src/api/routes/alarmRoutes.js +++ b/src/api/routes/alarmRoutes.js
@@ -19,7 +19,7 @@ export const alarmByUserRoute = { description: 'Get the alarm for a monitored user, if one is set', async method(req, res) { const user = await getUserById(req.params.id); - res.send(user.alarm); + res.send(user.alarm ?? 'null'); } }), delete: new RouteMethod({ @@ -49,18 +49,19 @@ export const alarmListRoute = { async method(req, res) { // execute the query asynchronously and manually construct a response, for scaling reasons const users = DbUser.find({ - _id: { $in: req.user.monitoredUsers } + _id: { $in: req.user.monitoredUsers }, + alarm: { $exists: true, $ne: null } }) .lean() .cursor(); res.status(200); res.write('{\n'); + let first = true; for await (const user of users) { - if (user.alarm) { - res.write( - `"${user._id}": ${JSON.stringify(user.alarm)},\n` - ); - } + res.write( + `${first ? '' : ','}"${user._id}": ${JSON.stringify(user.alarm)}\n` + ); + first = false; } res.write('}'); res.end(); @@ -79,7 +80,7 @@ export const alarmRoute = { middlewares: [requireUser], description: "Get the current user's alarm", async method(req, res) { - res.send(req.user.alarm); + res.send(req.user.alarm ?? 'null'); } }), put: new RouteMethod({