Name
sn_agent.ACCResultsSorter
Description
Provides the orderered field lists based on the OSQuery and JSON results array
Script
var ACCResultsSorter = Class.create();
ACCResultsSorter.prototype = {
initialize: function() {
},
/**
* SortOSQuery
*
* @param resultsTable {array}
* example [{"computer_name":"winserver2019","local_hostname":"winserver2019"}]
* @param input_query {string} of OSQuery request for restructuring order
* example "select local_hostname, computer_name from system_info"
* example "select * from system_info"
* Returns {array} of the orderered fields based on the OSQuery, or just return back what was in results
*/
sortOSQuery: function(resultsTable, input_query) {
var queryFields = input_query.split(" from ")[0];
queryFields = queryFields.split(",");
queryFields = queryFields.map(function(s){
return s.trim().split(" ").pop();
});
var keys = Object.keys(resultsTable[0]);
if (keys.every(function(field) { return queryFields.indexOf(field) != -1; }))
return queryFields;
return keys;
},
type: 'ACCResultsSorter'
};
Sys ID
2e8965e30f120110ce4d142386767efe