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