Name

global.ContactDao

Description

Dao for use cases related to Contact object.

Script

var ContactDao = Class.create();
ContactDao.prototype = {
  initialize: function() {
  	this.logger = CSMBaseLogger.getLogger("ContactDao");
  },

  createContact : function(params){
  	var contactGr = CSMBaseAPIUtils.prepareGlideRecord(params, CSMBaseConstants.CONTACT_TABLE);
  	var contactCreateResult = contactGr.insert();
  	if(!contactCreateResult){
  		this.logger.error("last error message = " + contactGr.getLastErrorMessage());
  		return CSMBaseAPIErrorHandler.getFormattedError(403, "Operation Failed", contactGr.getLastErrorMessage());
  	}
  	if(contactCreateResult && params.social_handle && params.social_channel && params.social_handle_url){
  		this.socialUtils = new SocialUtils();
  		this.socialUtils.bindContactToSocialProfile(contactCreateResult, params.social_handle, params.social_handle_url, params.social_channel);
  	}
  	this.logger.info("inside ContactDao:createContact result = "+contactCreateResult);
  	return contactCreateResult;
  },

  getContactBySearchQueryString : function(searchQueryStr, offset, limit){
  	this.logger.info("inside ContactDao:getContactBySearchQueryString searchQueryStr = "+searchQueryStr);

  	var resultJson = {};
  	var contactObjArr = [];
  	var contactGr = new GlideRecordSecure(CSMBaseConstants.CONTACT_TABLE);
  	if(JSUtil.notNil(searchQueryStr))
  		contactGr.addEncodedQuery(searchQueryStr);
  	contactGr.orderBy("name");
  	var firstRow = parseInt(offset);
  	var lastRow = firstRow+parseInt(limit);
  	contactGr.chooseWindow(firstRow, lastRow);
  	contactGr.query();
  	resultJson.totalRecords = CSMBaseAPIUtils.getRowsCount(CSMBaseConstants.CONTACT_TABLE,searchQueryStr);
  	while(contactGr.next()){
  		var contactObj = CSMBaseAPIUtils.getJSONFromGR(contactGr);
  		this.logger.debug("inside ContactDao:getContactBySearchQueryString contactObj = "+JSON.stringify(contactObj));
  		contactObjArr.push(contactObj);
  	}
  	resultJson.contacts = contactObjArr;
  	return resultJson;
  }, 

  getContactById : function(id, displayValue){
  	this.logger.info("inside ContactDao:getContactById id = "+id);

  	var contactObj = null;
  	if(id){
  		var contactGr = new GlideRecordSecure(CSMBaseConstants.CONTACT_TABLE);
  		if(contactGr.get(id)){
  			contactObj = CSMBaseAPIUtils.getJSONFromGR(contactGr, displayValue);
  			this.logger.debug("inside ContactDao:getContactById contactObj = "+JSON.stringify(contactObj));
  		}
  	}
  	return contactObj;
  },

  type: 'ContactDao'
};

Sys ID

7db424af5312030097a2ddeeff7b1224

Offical Documentation

Official Docs: