Files
jambonz-api-server/lib/routes/api/alerts.js
T
Sam Machin 4c6ad12a7f fix query sp alerts & bump time-series (#547)
* fix query sp alerts & bump time-series

* add package-lock.json back

* fix: use shared parseAccountSid/parseServiceProviderSid from utils in alerts and recent-calls routes

* fix/update tests

* fix tests

---------

Co-authored-by: Dave Horton <daveh@beachdognet.com>
2026-03-30 10:25:45 -04:00

48 lines
1.4 KiB
JavaScript

const router = require('express').Router();
const sysError = require('../error');
const {DbErrorBadRequest} = require('../../utils/errors');
const { parseServiceProviderSid, parseAccountSid } = require('./utils');
router.get('/', async(req, res) => {
const {logger, queryAlerts, queryAlertsSP} = req.app.locals;
try {
logger.debug({opts: req.query}, 'GET /Alerts');
const account_sid = parseAccountSid(req);
const service_provider_sid = account_sid ? null : parseServiceProviderSid(req);
const {page, count, alert_type, days, start, end} = req.query || {};
if (!page || page < 1) throw new DbErrorBadRequest('missing or invalid "page" query arg');
if (!count || count > 500) throw new DbErrorBadRequest('missing or invalid "count" query arg');
if (account_sid) {
const data = await queryAlerts({
account_sid,
page,
page_size: count,
alert_type,
days,
start: days ? undefined : start,
end: days ? undefined : end,
});
res.status(200).json(data);
}
else {
const data = await queryAlertsSP({
service_provider_sid,
page,
page_size: count,
alert_type,
days,
start: days ? undefined : start,
end: days ? undefined : end,
});
res.status(200).json(data);
}
} catch (err) {
sysError(logger, res, err);
}
});
module.exports = router;