Name
sn_appclient.AppsDAO
Description
No description available
Script
var AppsDAO = {
appMapper: ['sys_id', 'customization', 'name', 'logo', 'vendor', 'short_description', 'scope', 'latest_version', 'products', 'indicators', 'lob', 'ir_query_score', 'version', 'assigned_version', 'update_available'],
appsData: new AppsData(),
getApps: function(args, tableName, rowMapper) {
var result = {};
//if rowMapper doesnot exist just return row count
var isMapperExist = rowMapper && rowMapper.length > 0;
var gr = new GlideRecord(tableName);
if (args.encodedQuery)
gr.addEncodedQuery(args.encodedQuery);
if (args.requirePagination) {
var offset = args[Constants.SYSPARM_OFFSET];
var lastRow = offset + args[Constants.SYSPARM_LIMIT];
gr.chooseWindow(offset, lastRow);
}
if (args[Constants.SORT_BY_PARAM]) {
if (args[Constants.SORT_BY_PARAM] === 'a-z')
gr.orderBy('name');
else if (args[Constants.SORT_BY_PARAM] === 'z-a')
gr.orderByDesc('name');
else if (args[Constants.SORT_BY_PARAM] === 'recently_released')
gr.orderByDesc('publish_date');
}
gr.query();
var hasLogo = rowMapper.indexOf('logo') != -1;
var appsInfo = [];
while (isMapperExist && gr.next()) {
var appInfo = {};
for (var index in rowMapper) {
var colName = rowMapper[index];
appInfo[colName] = gr.getValue(colName);
}
if (hasLogo)
appInfo['logo'] = AppsDAO.appsData.getLogo(gr);
appsInfo.push(appInfo)
}
result.apps = appsInfo;
result.count = gr.getRowCount();
return result;
}
};
Sys ID
b16f1a4853ea11102c05ddeeff7b12ee