You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.1 KiB

7 years ago
import * as AnalyticUnit from '../models/analytic_unit';
import { getAlertsAnomalies, saveAlertsAnomalies } from '../controllers/alerts_service';
7 years ago
import * as Router from 'koa-router';
7 years ago
function getAlert(ctx: Router.IRouterContext) {
7 years ago
let id: AnalyticUnit.AnalyticUnitId = ctx.request.query.id;
let alertsAnomalies = getAlertsAnomalies();
7 years ago
let pos = alertsAnomalies.indexOf(id);
7 years ago
let enabled: boolean = (pos !== -1);
ctx.response.body = { enabled };
7 years ago
}
7 years ago
function setAlertEnabled(ctx: Router.IRouterContext) {
let id: AnalyticUnit.AnalyticUnitId = ctx.request.body.id;
let enabled: boolean = ctx.request.body.enabled;
let alertsAnomalies = getAlertsAnomalies();
7 years ago
let pos: number = alertsAnomalies.indexOf(id);
if(enabled && pos == -1) {
alertsAnomalies.push(id);
saveAlertsAnomalies(alertsAnomalies);
7 years ago
} else if(!enabled && pos > -1) {
alertsAnomalies.splice(pos, 1);
saveAlertsAnomalies(alertsAnomalies);
}
ctx.response.body = { status: 'OK' };
7 years ago
}
export const router = new Router();
7 years ago
router.get('/', getAlert);
7 years ago
router.post('/', setAlertEnabled);