'use strict';
var Analytics = function(roomServer) {
this.analyticsPath_ = roomServer + '/a/';
};
Analytics.EventObject_ = {};
Analytics.prototype.reportEvent = function(eventType, roomId, flowId) {
var eventObj = {};
eventObj[enums.RequestField.EventField.EVENT_TYPE] = eventType;
eventObj[enums.RequestField.EventField.EVENT_TIME_MS] = Date.now();
if (roomId) {
eventObj[enums.RequestField.EventField.ROOM_ID] = roomId;
}
if (flowId) {
eventObj[enums.RequestField.EventField.FLOW_ID] = flowId;
}
this.sendEventRequest_(eventObj);
};
Analytics.prototype.sendEventRequest_ = function(eventObj) {
var request = {};
request[enums.RequestField.TYPE] = enums.RequestField.MessageType.EVENT;
request[enums.RequestField.REQUEST_TIME_MS] = Date.now();
request[enums.RequestField.EVENT] = eventObj;
sendAsyncUrlRequest('POST', this.analyticsPath_,
JSON.stringify(request))
.then(function() {}.bind(this), function(error) {
trace('Failed to send event request: ' + error.message);
}.bind(this));
};