feat(analytics): Server tweaks

Remove duplicate browser-side tracking for new user registration. Move quest tracking to server side and expand to include all quest accept/reject actions.
This commit is contained in:
Sabe Jones
2015-07-10 13:47:03 -05:00
parent 8d1231a1ee
commit 5e89ae200d
3 changed files with 22 additions and 10 deletions
+22
View File
@@ -17,6 +17,7 @@ var EmailUnsubscription = require('./../models/emailUnsubscription').model;
var isProd = nconf.get('NODE_ENV') === 'production';
var api = module.exports;
var pushNotify = require('./pushNotifications');
var analytics = utils.analytics;
/*
------------------------------------------------------------------------
@@ -919,6 +920,13 @@ api.questAccept = function(req, res, next) {
// or everyone has either accepted/rejected, then we store quest key in user object.
_.each(group.members, function(m){
if (m == user._id) {
var analyticsData = {
category: 'behavior',
owner: true,
response: 'accept',
questName: key
};
analytics.track('quest',analyticsData);
group.quest.members[m] = true;
group.quest.leader = user._id;
} else {
@@ -957,6 +965,13 @@ api.questAccept = function(req, res, next) {
// Party member accepting the invitation
} else {
if (!group.quest.key) return res.json(400,{err:'No quest invitation has been sent out yet.'});
var analyticsData = {
category: 'behavior',
owner: false,
response: 'accept',
questName: group.quest.key
};
analytics.track('quest',analyticsData);
group.quest.members[user._id] = true;
User.update({_id:user._id}, {$set: {'party.quest.RSVPNeeded': false}}).exec();
questStart(req,res,next);
@@ -968,6 +983,13 @@ api.questReject = function(req, res, next) {
var user = res.locals.user;
if (!group.quest.key) return res.json(400,{err:'No quest invitation has been sent out yet.'});
var analyticsData = {
category: 'behavior',
owner: false,
response: 'reject',
questName: key
};
analytics.track('quest',analyticsData);
group.quest.members[user._id] = false;
User.update({_id:user._id}, {$set: {'party.quest.RSVPNeeded': false, 'party.quest.key': null}}).exec();
questStart(req,res,next);