Name
global.ConsumerDao
Description
Dao for use cases related to Contact object.
Script
var ConsumerDao = Class.create();
ConsumerDao.prototype = {
initialize: function() {
this.logger = CSMBaseLogger.getLogger("ConsumerDao");
},
createConsumer : function(params){
var consumerGr = CSMBaseAPIUtils.prepareGlideRecord(params, CSMBaseConstants.CONSUMER_TABLE);
var consumerCreateResult = consumerGr.insert();
if(!consumerCreateResult){
this.logger.error("last error message = " + consumerGr.getLastErrorMessage());
return CSMBaseAPIErrorHandler.getFormattedError(403, "Operation Failed", consumerGr.getLastErrorMessage());
}
if(consumerCreateResult && params.social_handle && params.social_channel && params.social_handle_url){
this.socialUtils = new SocialUtils();
this.socialUtils.bindConsumerToSocialProfile(consumerCreateResult, params.social_handle, params.social_handle_url, params.social_channel);
}
this.logger.info("inside ConsumerDao:createConsumer result = "+consumerCreateResult);
return consumerCreateResult;
},
getConsumerBySearchQueryString : function(searchQueryStr, offset, limit){
this.logger.info("inside ConsumerDao:getConsumerBySearchQueryString searchQueryStr = "+searchQueryStr);
var resultJson = {};
var consumerObjArr = [];
var consumerGr = new GlideRecordSecure(CSMBaseConstants.CONSUMER_TABLE);
if(JSUtil.notNil(searchQueryStr))
consumerGr.addEncodedQuery(searchQueryStr);
consumerGr.orderBy("name");
var firstRow = parseInt(offset);
var lastRow = firstRow+parseInt(limit);
consumerGr.chooseWindow(firstRow, lastRow);
consumerGr.query();
resultJson.totalRecords = CSMBaseAPIUtils.getRowsCount(CSMBaseConstants.CONSUMER_TABLE,searchQueryStr);
while(consumerGr.next()){
var consumerObj = CSMBaseAPIUtils.getJSONFromGR(consumerGr);
this.logger.debug("inside ConsumerDao:getConsumerBySearchQueryString consumerObj = "+JSON.stringify(consumerObj));
consumerObjArr.push(consumerObj);
}
resultJson.consumers = consumerObjArr;
return resultJson;
},
getConsumerById : function(id, displayValue){
this.logger.info("inside ConsumerDao:getConsumerById id = "+id);
var consumerObj = null;
if(id){
var consumerGr = new GlideRecordSecure(CSMBaseConstants.CONSUMER_TABLE);
if(consumerGr.get(id)){
consumerObj = CSMBaseAPIUtils.getJSONFromGR(consumerGr,displayValue);
this.logger.debug("inside ConsumerDao:getConsumerById consumerObj = "+JSON.stringify(consumerObj));
}
}
return consumerObj;
},
/**
* This function returns the sys_user record class name for any given user/contact
* If user is not specified, this returns logged in user's class name
* Currently this function is being used by CSP portal's Support Profile menu as check condition
*/
getContactClass: function(userID) {
if(gs.nil(userID))
userID = gs.getUser().getID();
var userClassKey = userID + "_userClass",
userClass = gs.getSession().getClientData(userClassKey);
if (gs.nil(userClass)) {
var sysUserGR = new GlideRecord("sys_user");
if (sysUserGR.get(userID)) {
userClass = sysUserGR.getValue("sys_class_name");
gs.getSession().putClientData(userClassKey, userClass);
}
}
return userClass;
},
type: 'ConsumerDao'
};
Sys ID
144fbc675352030097a2ddeeff7b1238