Name

sn_cmdb_ci_class.SGOTAssetTransformUtil

Description

No description available

Script

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

  // Return the sys id of the User matching the email address passed.
  getUserSysIdFromEmail: function(email){
  	if(gs.nil(email)){
  		return "";
  	}

  	var userRecord = new GlideRecord("sys_user");
  	var isMatchingRecordFound = userRecord.get("email", email);

  	if(!isMatchingRecordFound){
  		return "";
  	}

  	return userRecord.getUniqueValue();
  },

  // Get the sys id of the Group matching the group name passed.
  getGroupNameSysId: function(groupName){
  	if(gs.nil(groupName)){
  		return "";
  	}

  	var groupRecord = new GlideRecord("sys_user_group");
  	var isMatchingRecordFound = groupRecord.get("name", groupName);

  	if(!isMatchingRecordFound){
  		return "";
  	}

  	return groupRecord.getUniqueValue();
  },

  // Return the Asset criticality choice field value.
  getAssetCriticalityValue: function(criticality){

  	if(gs.nil(criticality)){
  		return "";
  	}

  	var receivedCriticality = criticality.trim().toLowerCase();

  	if(gs.nil(receivedCriticality)){
  		return sn_cmdb_ci_class.SGOTAssetConstants.ASSET_CRITICALITY.NONE;
  	}

  	if(receivedCriticality.includes("high") || receivedCriticality.includes("most critical")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.ASSET_CRITICALITY.MOST_CRITICAL;
  	}
  	else if(receivedCriticality.includes("medium") || receivedCriticality.includes("somewhat critical")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.ASSET_CRITICALITY.SOMEWHAT_CRITICAL;
  	}
  	else if(receivedCriticality.includes("low") || receivedCriticality.includes("less critical")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.ASSET_CRITICALITY.LESS_CRITICAL;
  	}
  	else if(receivedCriticality.includes("none") || receivedCriticality.includes("not critical")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.ASSET_CRITICALITY.NOT_CRITICAL;
  	}
  	else{
  		return sn_cmdb_ci_class.SGOTAssetConstants.ASSET_CRITICALITY.NONE;
  	}
  },

  // Returns the purdue choice field value.
  getPurdueLevelValue: function(level){

  	if(gs.nil(level)){
  		return "";
  	}

  	switch(level.trim()){
  		case "0":
  			return sn_cmdb_ci_class.SGOTAssetConstants.PURDUE_LEVEL.ZERO;
  		case "1":
  			return sn_cmdb_ci_class.SGOTAssetConstants.PURDUE_LEVEL.ONE;
  		case "1.5":
  			return sn_cmdb_ci_class.SGOTAssetConstants.PURDUE_LEVEL.ONE_FIVE;
  		case "2":
  			return sn_cmdb_ci_class.SGOTAssetConstants.PURDUE_LEVEL.TWO;
  		case "2.5":
  			return sn_cmdb_ci_class.SGOTAssetConstants.PURDUE_LEVEL.TWO_FIVE;
  		case "3":
  			return sn_cmdb_ci_class.SGOTAssetConstants.PURDUE_LEVEL.THREE;
  		case "3.5":
  			return sn_cmdb_ci_class.SGOTAssetConstants.PURDUE_LEVEL.THREE_FIVE;
  		case "4":
  			return sn_cmdb_ci_class.SGOTAssetConstants.PURDUE_LEVEL.FOUR;
  		case "5":
  			return sn_cmdb_ci_class.SGOTAssetConstants.PURDUE_LEVEL.FIVE;
  		default:
  			return "";
  	}
  },

  // returns the install choice field value.
  getInstallStatusValue: function(status){
  	if(gs.nil(status)){
  		return "";
  	}
  	var inputStatus = status.trim().toLowerCase();

  	if(inputStatus.includes("installed")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.INSTALL_STATUS.INSTALLED;
  	}
  	else if(inputStatus.includes("on order")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.INSTALL_STATUS.ON_ORDER;
  	}
  	else if(inputStatus.includes("in maintenance")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.INSTALL_STATUS.IN_MAINTENANCE;
  	}
  	else if(inputStatus.includes("pending install")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.INSTALL_STATUS.PENDING_INSTALL;
  	}
  	else if(inputStatus.includes("pending repair")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.INSTALL_STATUS.PENDING_REPAIR;
  	}
  	else if(inputStatus.includes("in stock")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.INSTALL_STATUS.IN_STOCK;
  	}
  	else if(inputStatus.includes("retired")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.INSTALL_STATUS.RETIRED;
  	}
  	else if(inputStatus.includes("stolen")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.INSTALL_STATUS.STOLEN;
  	}
  	else if(inputStatus.includes("absent")){
  		return sn_cmdb_ci_class.SGOTAssetConstants.INSTALL_STATUS.ABSENT;
  	}

  	return "";
  },

  // Returns the passed value if not empty else
  // returns the default serial number type sn_cmdb_ci_class.SGOTAssetConstants.SERIAL_NUMBER_DEFAULT
  getSerialNumberType: function(serialNumberType){
  	if(!gs.nil(serialNumberType)){
  		return serialNumberType;
  	}

  	return sn_cmdb_ci_class.SGOTAssetConstants.SERIAL_NUMBER_TYPE.DEFAULT;
  },

  //Concatenate 2 inputs, return empty string if both inputs are empty
  concatenate: function(input1, input2, joinCharacter) {
  	var separator = gs.nil(joinCharacter) ? ':::' : joinCharacter;
  	if (gs.nil(input1) && gs.nil(input2)) {
  		return '';
  	}
  	else {
  		return input1.concat(separator).concat(input2);
  	}
  },

  convertEpochToDateTime: function (timestamp) {

  	if (gs.nil(timestamp)) {
  		return "";
  	}

  	var gdt = new GlideDateTime();
  	var time = parseInt(timestamp);

  	if(isNaN(time)){
  		return "";
  	}

  	gdt.setValue(time);

  	return gdt.getValue();
  },

  convertDataTimeToEpoch: function(dateTime){
  	if (gs.nil(dateTime)) {
  		return 0;
  	}
  	var gdt = new GlideDateTime(dateTime);
  	return gdt.getNumericValue();
  },

  searchUserByAttribute: function (attributeName, attributeValue) {

  	if (gs.nil(attributeName) || gs.nil(attributeValue)) {
  		return "";
  	}

  	var userId = "";
  	var grRec = new GlideRecord("sys_user");
  	grRec.addQuery(attributeName, attributeValue);
  	grRec.query();
  	if (grRec.next()) {
  		userId = grRec.getUniqueValue();
  	}
  	return userId;
  },

  type: 'SGOTTransformUtil'
};

Sys ID

c3e0581553b320105570ddeeff7b1235

Offical Documentation

Official Docs: