Name
global.AccountDao
Description
Dao for use cases related to Account object.
Script
var AccountDao = Class.create();
AccountDao.prototype = {
initialize: function() {
this.logger = CSMBaseLogger.getLogger("AccountDao");
},
getAccountBySearchQueryString : function(searchQueryStr, offset, limit){
this.logger.info("inside AccountDao:getAccountBySearchQueryString searchQueryStr = "+searchQueryStr);
var resultJson = {};
var accountObjArr = [];
var accountGr = new GlideRecordSecure(CSMBaseConstants.ACCOUNT_TABLE);
if(JSUtil.notNil(searchQueryStr))
accountGr.addEncodedQuery(searchQueryStr);
accountGr.orderBy('number');
var firstRow = parseInt(offset);
var lastRow = firstRow+parseInt(limit);
accountGr.chooseWindow(firstRow, lastRow);
accountGr.query();
resultJson.totalRecords = CSMBaseAPIUtils.getRowsCount(CSMBaseConstants.ACCOUNT_TABLE,searchQueryStr);
while(accountGr.next()){
var accountObj = CSMBaseAPIUtils.getJSONFromGR(accountGr);
this.logger.debug("inside AccountDao:getAccountBySearchQueryString accountObj = "+JSON.stringify(accountObj));
accountObjArr.push(accountObj);
}
resultJson.accounts = accountObjArr;
return resultJson;
},
getAccountById : function(id,displayValue){
this.logger.info("inside AccountDao:getAccountById id = "+id);
var accountObj = null;
if(id){
var accountGr = new GlideRecordSecure(CSMBaseConstants.ACCOUNT_TABLE);
if(accountGr.get(id)){
accountObj = CSMBaseAPIUtils.getJSONFromGR(accountGr,displayValue);
this.logger.debug("inside AccountDao:getAccountById accountObj = "+JSON.stringify(accountObj));
}
}
return accountObj;
},
getAccountsWithManageAccess: function(accounts) {
var managedAccessAccounts = {};
var gr = new GlideRecord(CSMBaseConstants.ACCOUNT_ACCESS_TABLE);
if(!gs.nil(accounts)) gr.addQuery('account', 'IN', accounts.join());
gr.addQuery('restrict_contact_access', true);
gr.query();
while(gr.next()) {
if(!gs.nil(gr.account+''))managedAccessAccounts[gr.account+''] = true;
}
return managedAccessAccounts;
},
type: 'AccountDao'
};
Sys ID
8d9cb4f75312030097a2ddeeff7b129e