Name

global.VANotificationRefQualifier

Description

Reference qualifier methods for VA notification related fields

Script

var VANotificationRefQualifier = Class.create();

VANotificationRefQualifier.CHANNEL_TYPE = {CHAT: 'chat', MESSAGING: 'messaging'};
VANotificationRefQualifier.RECORD_CLASS = {CHAT: 'sys_notification_va_content',
  									   MESSAGING: 'sys_notification_va_content_messaging'};

/**
*
* @param {GlideRecord} vaNotificationContentGr
* @returns {string} Reference qualifier list
*/
VANotificationRefQualifier.getDeliveryChannelsForContent = function(vaNotificationContentGr) {
  var channelSysIDList = [];

  var notificationContentRecordClassName = vaNotificationContentGr.getRecordClassName();
  var alreadyPickedChannelSysIds = vaNotificationContentGr.getValue('delivery_channels');
  var sysCSChannelGr = new GlideRecord('sys_cs_channel');
  if (notificationContentRecordClassName === VANotificationRefQualifier.RECORD_CLASS.CHAT)
  	sysCSChannelGr.addQuery('type', VANotificationRefQualifier.CHANNEL_TYPE.CHAT);
  else if (notificationContentRecordClassName === VANotificationRefQualifier.RECORD_CLASS.MESSAGING)
  	sysCSChannelGr.addQuery('type', VANotificationRefQualifier.CHANNEL_TYPE.MESSAGING);

  sysCSChannelGr.addQuery('sys_id', 'NOT IN', alreadyPickedChannelSysIds);

  sysCSChannelGr.query();

  while(sysCSChannelGr.next())
  	channelSysIDList.push(sysCSChannelGr.getValue('sys_id'));

  return 'sys_idIN' + channelSysIDList.join(',');
},

/**
*
* @param {GlideRecord} vaNotificationContentGr
* @returns {string} Reference qualifier list for consumer account contexts
*/
VANotificationRefQualifier.getConsumerAccountContexts = function(vaNotificationContentGr) {
  var consumerAccountSysIdList = [];

  var alreadyPickedConsumerAccountContextSysIds = vaNotificationContentGr.getValue('consumer_account_contexts');
  var sysConsumerAccountContextGr = new GlideRecord('sys_cs_consumer_account_context');
  sysConsumerAccountContextGr.addQuery('sys_id', 'NOT IN', alreadyPickedConsumerAccountContextSysIds);

  sysConsumerAccountContextGr.query();

  while(sysConsumerAccountContextGr.next())
  	consumerAccountSysIdList.push(sysConsumerAccountContextGr.getValue('sys_id'));

  	gs.info('consumerAccountSysIdList: ' + consumerAccountSysIdList);

  return 'sys_idIN' + consumerAccountSysIdList.join(',');
};

Sys ID

82f74b7deb0c1110635ffceab552280b

Offical Documentation

Official Docs: