mirror of
https://github.com/jambonz/jambonz-api-server.git
synced 2026-05-06 08:47:00 +00:00
4c6ad12a7f
* 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>
48 lines
1.4 KiB
JavaScript
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;
|