Name

sn_cmdb_ci_class.NIDSRecordAjax

Description

The Client Callable Utility class to support the CURD operations on the NIDS object.

Script

var NIDSRecordAjax = Class.create();
NIDSRecordAjax.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
  //Function to return know are there any devices that are detected by the scensor or not.
  hasDetectedDevices: function() {
      var nidsId = this.getParameter('sysparm_obj_id');
      var gr = new GlideRecordSecure("cmdb_rel_ci");
      gr.addQuery("parent", nidsId);
      gr.addQuery("type", NIDSRecordAjax.REL_TYPE.DEVICES.ID);
      gr.setLimit(1);
      gr.query();
      if (gr.getRowCount() == 1) {
          return true;
      } else {
          return false;
      }
  },
  hasDectectedDevicesForList: function() {
      var nidsId = this.getParameter('sysparm_obj_id');
      var gr = new GlideRecordSecure("cmdb_rel_ci");
      gr.addQuery("parent", 'IN', nidsId);
      gr.addQuery("type", NIDSRecordAjax.REL_TYPE.DEVICES.ID);
      gr.setLimit(1);
      gr.query();
      while (gr.next()) {
          if (gr.getRowCount() == 1) {
              return true;
          }
      }
      return false;
  },
  proceedWithDeleteFromForm: function() {
      var objSysId = this.getParameter('sysparm_obj_id');
      var tblName = this.getParameter('sysparm_table_name');
      var gRecord = new GlideRecordSecure(tblName);
      if (gRecord.get(objSysId)) {
          if (gRecord.canDelete()) {
              gRecord.deleteRecord();
          }
      }
      return true;
  },
  proceedWithDeleteFromList: function() {
      var objSysId = this.getParameter('sysparm_obj_id');
      var tblName = this.getParameter('sysparm_table_name');
      var objList = objSysId.split(',');
      var sysIds = '';
      for (var i = 0; i < objList.length; i++) {
          if (objList[i] == null || objList[i] == '') {
              continue;
          }
          var gr = new GlideRecordSecure(tblName);
          if (gr.get('sys_id', objList[i]) && gr.canDelete()) {
              if (sysIds != '') {
                  sysIds += ',';
              }
              sysIds += objList[i];
          }
      }
      if (sysIds != '') {
          var gRecord = new GlideRecordSecure(tblName);
          gRecord.addQuery('sys_id', 'IN', sysIds);
          gRecord.query();
          gRecord.deleteMultiple();
      }
      return true;
  },
  getNidsKeyFields: function() {
  	return gs.getProperty('sn_cmdb_ci_class.nids_key_fields');
  },
  hasValidated: function() {
      var objSysId = this.getParameter('sysparm_obj_id');
      var tblName = this.getParameter('sysparm_table_name');
  	var newValue = this.getParameter('sysparm_new_value');
  	var columnName = this.getParameter('sysparm_column_name');
  	
      var gRecord = new GlideRecordSecure(tblName);
      gRecord.addQuery('sys_id', 'IN', objSysId);
      gRecord.query();
      while (gRecord.hasNext() && gRecord.next()) {
          if (gRecord.getValue('validated') == 1 && gRecord.getValue(columnName) != newValue) {
              return true;
          }
      }
  	return false;
  },
  type: 'NIDSRecordAjax'
});

NIDSRecordAjax.REL_TYPE = {};
NIDSRecordAjax.REL_TYPE.DEVICES = {
  NAME: 'Detects::Detected by',
  ID: '5296a5e1537260108fabddeeff7b1254'
};

Sys ID

09beba2377d10110b9459cfb3c5a995f

Offical Documentation

Official Docs: