Name

sn_data_discovery.FindingsTableUtil

Description

This Util can be used for Findings table updates.

Script

var FindingsTableUtil = Class.create();
FindingsTableUtil.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
updateState: function(dictionarySysIds, dataClassSysIds, stateValue) {
  var m2mDictDataClass = new GlideRecordSecure('m2m_dictionary_dataclass');
      m2mDictDataClass.addQuery('sys_dictionary', 'IN', dictionarySysIds);
  	m2mDictDataClass.addQuery('data_class', 'IN', dataClassSysIds);
      m2mDictDataClass.query();
  var findingsSysDictEntriesToUpdate = "";
  while (m2mDictDataClass.next()) {
  	findingsSysDictEntriesToUpdate += m2mDictDataClass.getValue("sys_dictionary");
  	findingsSysDictEntriesToUpdate += ",";
      }

  if (findingsSysDictEntriesToUpdate.length > 0) {
  	var discFindinngRec = new GlideRecordSecure('sn_data_discovery_finding');
          	discFindinngRec.addQuery('sys_dictionary', 'IN', findingsSysDictEntriesToUpdate);
          	discFindinngRec.setValue('status', stateValue);
          	discFindinngRec.updateMultiple();
  }
  },
updateStateByFindingSysId: function() {
  var sysIds = this.getParameter("sysparm_findingSysIds");
  var statusValue = this.getParameter("sysparm_statusValue");
  var discFindingRec = new GlideRecordSecure('sn_data_discovery_finding');
  	discFindingRec.addQuery('sys_id', 'IN', sysIds);
  discFindingRec.addQuery('status', '!=', 'classified');
      discFindingRec.setValue('status', statusValue);
      discFindingRec.updateMultiple();
},	
getClassifiedDictionaryIdsFromFindings: function(sysIds) {
  var dictionarySysIds = "";
  var findingGr = new GlideRecord("sn_data_discovery_finding");
   	findingGr.addQuery("sys_id", "IN", sysIds);
   	findingGr.query();
  while (findingGr.next()) {
  	dictionarySysIds += findingGr.getValue("sys_dictionary");
  	dictionarySysIds += ",";
   	}
  dictionarySysIds = this._trim(dictionarySysIds);
  var m2mDictDataClass = new GlideRecordSecure('m2m_dictionary_dataclass');
  	m2mDictDataClass.addQuery('sys_dictionary', 'IN', dictionarySysIds);
 	m2mDictDataClass.query();
  var findingsSysDictEntriesToUpdate = "";
  while (m2mDictDataClass.next()) {
  	findingsSysDictEntriesToUpdate += m2mDictDataClass.getValue("sys_dictionary");
  	findingsSysDictEntriesToUpdate += ",";
  	}
  findingsSysDictEntriesToUpdate = this._trim(findingsSysDictEntriesToUpdate);
  return findingsSysDictEntriesToUpdate;
},
_trim: function(ids) {
  return ids.substring(0, ids.length - 1);
},
  type: 'FindingsTableUtil'
});

Sys ID

065ee5437324611020581f877bf6a77c

Offical Documentation

Official Docs: