Name
sn_analytics_api.AppseeAnalytics
Description
Contains business logic
Script
var AppseeAnalytics = Class.create();
AppseeAnalytics.prototype = {
initialize: function(config, params) {
this.logger = AnalyticsApiLogger.getLogger('AppseeAnalytics');
if (!params) {
var errMsg = 'Params not defined for the endpoint - ' + config.endpoint;
this.logger.error(errMsg);
throw new Error(errMsg);
}
var validation = this._validate(config, params);
if (validation.status == 'FAIL') {
errMsg = validation.message + ' for the endpoint - ' + config.endpoint;
this.logger.error(errMsg);
throw new Error(errMsg);
}
this.client = new AppseeHttpClient(config, params);
},
postRequest: function(payload) {
return this.client.doPost(payload);
},
getRequest: function() {
return this.client.doGet();
},
deleteRequest: function(payload) {
return this.client.doDelete(payload);
},
putRequest: function(payload) {
return this.client.doPut(payload);
},
patchRequest: function(payload) {
return this.client.doPatch(payload);
},
_validate: function(config, params) {
var paramKeys = Object.keys(params);
return this._validateRequiredParams(config.required_params, paramKeys);
},
_validateRequiredParams: function(requiredParams, paramKeys) {
for (var i = 0; i < requiredParams.length; i++) {
var hasParam = new global.ArrayUtil().contains(paramKeys, requiredParams[i]);
if (!hasParam) {
return {
status: 'FAIL',
message: 'Required param not found - ' + requiredParams[i]
};
}
}
return {
status: 'PASS',
};
},
createAddSessionPayload: function(payload) {
if (!Array.isArray(payload)) {
var errMsg = 'Error while processing the payload, please provide list of sessions.';
this.logger.error(errMsg);
throw new Error(errMsg);
}
return {
'sessions': payload,
};
},
type: 'AppseeAnalytics'
};
Sys ID
f24d2005538020101dccddeeff7b12d8