Name

sn_em_connector.PushConnectorUtil

Description

This is used to map common parameters required in all push connector. e.g. flattenpayload for additional info

Script

var PushConnectorUtil = Class.create();
PushConnectorUtil.prototype = {
  initialize: function() {},

  additionalInfo: function(alert, request, first_level) {
      var additional_info = {};
      var flatPayload = {};
      var flattenPayload = new sn_em_connector.FlattenPayload();
      if (first_level == true) {
          flatPayload = flattenPayload.getFlattenPayloadWithFirstLevel(alert);
      } else {
          flatPayload = flattenPayload.getFlattenPayload(alert);
      }
      for (var key in flatPayload) {
          additional_info[key] = flatPayload[key];
      }

      var endpointParamsUtil = new EndpointParamsUtil();
      endpointParamsUtil.updateAdditionalInfoWithEndpointParams(request.queryParams, additional_info);
      return additional_info;
  },

  createEventObject: function(source) {
      var gr = new GlideRecord('em_event');
      gr.initialize();
      gr.source = source;
      gr.event_class = source;
      return gr;
  },

  buildResponseBody: function(responseBody, gr) {
      responseBody.eventSysIds.push(gr.insert());
      return responseBody;
  },

  /**
   *
   * @param {*} connectorSysId - Push Connector sys_id.
   * @param {*} request - HttpRequest for incoming event
   * @param {*} reqBody - Parsed Request body
   * @param {*} eventGr - Event GlideRecord object where domain information is to be populated
   *
   * This method populates sys_domain and sys_domain_path fields in event object using domain metadata properties.
   */
  populateDomain: function(connectorSysId, request, reqBody, eventGr) {
  	new sn_em_connector.PushConnectorCustomDomainUtil().populateDomain(connectorSysId, request, reqBody, eventGr);
  },


  type: 'PushConnectorUtil'
};

Sys ID

f6eb53f5dba638544e0d817913961925

Offical Documentation

Official Docs: