var itemImageList = main.imageSearch(itemArray);
imageSearch: function(idArray) {
log.debug('idArray', idArray)
var resultObj = {}
var resultObj1 = {}
try {
var websiteInternalID = '2'
var wesite = record.load({
type: record.Type.WEBSITE,
id: websiteInternalID
})
var dataArray = ['imageitemfielddelimiter', 'imagestructurefielddelimiter', 'imageuniquefield']
var delimitor = wesite.getValue({
fieldId: dataArray[0]
}) || '_' ;
var delimitor_1 = wesite.getValue({
fieldId: dataArray[1]
}) || '-' ;
var uniqField = wesite.getValue({
fieldId: dataArray[2]
}) || 'itemid' ;
// var delimitor = '_';
// var delimitor_1 = '-';
// var uniqField = 'itemid';
log.debug('debug@uniqField', uniqField)
var itemSearchObj = search.create({
type: "item",
filters: [
["internalid", "anyof", idArray],
"AND",
["isonline", "is", "T"],
],
columns: [
search.createColumn({
name: "internalid",
label: "Internal ID"
}),
search.createColumn({
name: "formulatext",
formula: "CONCAT({" + uniqField + "}, '" + delimitor + "')",
label: "Formula (Text)"
})
]
});
var searchResultCount = itemSearchObj.runPaged().count;
log.debug("itemSearchObj result count", searchResultCount);
var oldArray = []
itemSearchObj.run().each(function(result) {
// .run().each has a limit of 4,000 results
var item = result.getValue({
name: "internalid"
});
log.debug(" item", item);
var imageUrl = result.getValue({
name: "formulatext"
});
log.debug("imageUrl", imageUrl);
// resultObj[item] = imageUrl ? (main.fileSearch(imageUrl)) : '';
var imageUrlRef = imageUrl || '';
log.debug("imageUrlRef", imageUrlRef);
if (imageUrlRef) {
resultObj1[item] = {
old: imageUrlRef,
new: ''
}
oldArray.push(imageUrlRef)
}
return true;
});
// remove the empty string from the array
var newArray = oldArray.filter(function(v) { return v !== '' });
if (newArray.length && newArray.length > 0) {
var resultObjNew = main.fileSearchAdv(newArray);
log.debug('resultObjNew', resultObjNew)
for (var key in resultObj1) {
var keyImag = resultObj1[key].old;
log.debug('keyImag', keyImag)
resultObj[key] = resultObjNew[keyImag] ? resultObjNew[keyImag][0] : '';
log.debug(' resultObj', resultObj)
}
}
} catch (e) {
log.debug('error@imageSearch', e)
log.error('error@imageSearch', e)
}
return resultObj;
},
fileSearchAdv: function(imageName) {
var resultObj = {}
try {
var filter = [
['availablewithoutlogin', 'is', 'T']
]
var newImageArr = [];
if (imageName.length > 1) {
log.debug('image lengthmore')
var newImageArr = [],
i = 0
imageName.forEach(function(each) {
newImageArr.push(["name", "contains", each])
i++;
if (i < imageName.length)
newImageArr.push("OR")
});
log.debug('newImageArr', newImageArr)
} else
var newImageArr = ["name", "contains", imageName]
log.debug('newImageArr', newImageArr)
if (newImageArr.length > 0) {
filter.push("AND")
filter.push(newImageArr)
}
var fileSearchObj = search.create({
type: "file",
filters: filter,
columns: [
search.createColumn({
name: "internalid",
label: "Internal ID"
}),
search.createColumn({
name: "name",
sort: search.Sort.ASC
})
]
}).runPaged({
pageSize: 1000
});
log.debug('fileSearchObj', fileSearchObj)
var page = fileSearchObj.pageRanges;
for (var k = 0; k < page.length; k++) {
var data = fileSearchObj.fetch({
index: k
}).data.forEach(function(result) {
var tempObj = {};
var name = result.getValue({
name: "name"
});
imageName.forEach(function(v) {
if (name.indexOf(v) >= 0) {
if (resultObj[v]) {
resultObj[v].push(name)
} else {
resultObj[v] = [name]
}
}
})
});
}
for (var eachArr in resultObj) {
log.debug(eachArr)
resultObj[eachArr].sort();
}
} catch (err) {
log.debug('error@fileSearchNew', err)
log.error('error@fileSearchNew', err)
}
return resultObj;
}