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

Offical Documentation

Official Docs: