. * * @package LibreNMS * @link http://librenms.org * @copyright 2018 Neil Lathwood * @author Neil Lathwood */ use LibreNMS\Alerting\QueryBuilderParser; header('Content-type: application/json'); if (!Auth::user()->hasGlobalAdmin()) { die(json_encode([ 'status' => 'error', 'message' => 'ERROR: You need to be admin', ])); } $template_id = $vars['template_id']; if (is_numeric($template_id)) { $rules = get_rules_from_json(); $rule = $rules[$template_id]; $default_extra = [ 'mute' => false, 'count' => '-1', 'delay' => 60, 'invert' => false, 'interval' => 300, 'recovery' => true, ]; $output = [ 'status' => 'ok', 'name' => $rule['name'], 'builder' => $rule['builder'] ?: QueryBuilderParser::fromOld($rule['rule'])->toArray(), 'extra' => array_replace($default_extra, (array)$rule['extra']), 'severity' => $rule['severity'] ?: 'critical' ]; } else { $output = [ 'status' => 'error', 'message' => 'Invalid template' ]; } die(json_encode($output));