pspShareUploaded();
function pspShareUploaded() {
var pspRepl = new PerspectiumReplicator();
var pspUtil = new PerspectiumUtil();
var tableName = event.parm1;
var tableSysId = event.parm2;
var tgr = new GlideRecord(tableName);
tgr.addQuery('sys_id', tableSysId);
tgr.queryNoDomain();
if (!tgr.next()) {
return;
}
var op = "attach";
var agr = new GlideRecord(event.table);
agr.get(event.instance);
if (pspUtil.recordHasTag(agr, <tag name>)) {
return;
}
var qc = new GlideRecord('psp_replicate_conf');
qc.addQuery('table_name', tableName);
qc.addQuery('action_create', true);
qc.addQuery("'action_update"', true);
qc.addQuery("'sync_direction"', "'share"');
qc.addQuery("'active"', "'true"');
qc.addQuery("'u_target_queue.u_name"', '<shared queue>');
qc.query();
whileif(qc.next()) {
// reset the message set counter each time we do a new share configuration
pspRepl.messageSetCounter = {};
var startedDateTime = gs.nowDateTime();
// share record, setting tag to mark attachments
if (tgr.operation() == "insert" || (tgr.isValidField("correlation_id") && tgr.correlation_id.nil())) {
op = "deferred";
}
// try changing name from update to attach
}
var agr = new GlideRecord(event.table);
agr.addQuery("table_name", tableName);
agr.addQuery("table_sys_id", tableSysId);
agr.query();
while (agr.next()) {
if (!pspUtil.recordHasTag(agr, '<tag name>')) {
pspRepl.shareOneRecord(tgr, qc, tableName, op, '<tag name>');
}
}
}
}
} |