RIFT-14874: Allow deny of duplicate events in loggin
[osm/UI.git] / skyquake / plugins / logging / api / logging.js
index 00cd1d6..3ef9027 100644 (file)
@@ -112,10 +112,10 @@ function requestCallback(resolve, reject, transformFunc) {
       } else {
         var data = JSON.stringify(response.body);
       }
-      return resolve_with_delay(resolve, {
+      return resolve({
         statusCode: response.statusCode,
         data: data
-      }, 0);
+      });
     };
   };
 }
@@ -322,6 +322,34 @@ Config.deleteDefaultSeverity = function(req) {
 
 }
 
+// NOTE: In rel_4.3 we are going to affect syslog sink category by default
+
+Config.setDefaultSyslogSeverity = function(req) {
+  // TODO: verify there is one key at root of data: 'default-severity'
+  // OR just filter on the request body
+  return handlePutRequest(req, APIVersion + '/api/config/logging/sink/syslog');
+}
+
+Config.deleteDefaultSyslogSeverity = function(req) {
+  // TODO: verify there is one key at root of data: 'default-severity'
+  // OR just filter on the request body
+  var Categories = req.params.nulledCategories.split(',');
+  var promises = [];
+  return new Promise(function(resolve, reject) {
+    promises.concat(Categories.map(function(categoryName) {
+        return handleDeleteRequest(req, APIVersion + '/api/config/logging/sink/syslog/filter/category/' + categoryName);
+      }));
+      return Promise.all(promises).then(
+        function(data) {
+          resolve({statusCode:  data[0].statusCode, data: data[0].data});
+        },
+        function(data) {
+          reject({statusCode:  data[0].statusCode, data: data[0].data});
+        }
+      )
+    });
+}
+
 /*
   get body of forms
 
@@ -341,15 +369,14 @@ Config.deleteDefaultSeverity = function(req) {
 Config.setAllowDuplicateEvents = function(req) {
   // TODO: verify there is one key at root of data: 'default-severity'
   // OR just filter on the request body
-
-  if (req.body.hasOwnProperty('allowDuplicateEvents') &&
-    typeof req.body.allowDuplicateEvents == 'boolean') {
-    if (req.body.allowDuplicateEvents) {
-      return handlePutRequest(req, APIVersion + '/api/config/logging/allow', {
+console.log(req.body)
+  if (req.body.hasOwnProperty('allowDuplicateEvents')) {
+    if (req.body.allowDuplicateEvents.toUpperCase() == "TRUE") {
+      return handlePutRequest(req, '/api/config/logging/allow', {
         "duplicate": "events"
       });
     } else { // false, remove entry from logging config
-      return handleDeleteRequest(req, APIVersion + '/api/config/logging/allow/duplicate');
+      return handleDeleteRequest(req, '/api/config/logging/allow/duplicate');
     }
   } else {
     return handleReject(statusCode=400,