Name

global.SaUploadedFiles

Description

Script for getting uploaded files remotely from MID Server

Script

var SaUploadedFiles = Class.create();
SaUploadedFiles.prototype = {
  initialize: function() {
  },
  
  // create xml with all user uploaded files
  getAll: function() {
  	var $ = GlideXMLUtil;
  	var doc = $.newDocument('uploaded_files');
  	var root = doc.getDocumentElement();
  	
  	var gr = new GlideRecord('sa_uploaded_file');
  	gr.query();
  	
  	var map = {};
  	while (gr.next()) {
  		var fileEle = $.newElement(root, 'uploaded_file');
  		fileEle.setAttribute('logical_name',gr.getValue('name'));
  		fileEle.setAttribute('os_type',gr.getValue('os_type'));
  		fileEle.setAttribute('os_architecture',gr.getValue('os_architecture'));
  		fileEle.setAttribute('file_name',this.getFileName(gr.getValue('sys_id')));
  	}
  	
  	return doc;
  },
  
  // get file name from sys_attachment using the sa_uploaded_file's record sysId
  getFileName: function(sysId) {
  	var sysAttachments = new GlideSysAttachment();
  	var gra = sysAttachments.getAttachments('sa_uploaded_file',sysId);
  	var filename = null;
  	// Assuming only one record is returned!
  	if (gra.next()) {
  		filename = gra.getValue('file_name');
  	}
  	
  	return filename;
  },
  
  notifyMIDs: function() {
  	gs.log("*** About to notify MID Servers to synchronize uploaded files ***");
  	new MIDNotificationHandler().notifyMIDServers('FileChange', 'sa_uploaded_file');
  },

  type: 'SaUploadedFiles'
};

Sys ID

13af9513ff023100ab8fffffffffff2c

Offical Documentation

Official Docs: