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