From d05b00fb344d8d07b1067ffca5db27288d8773c1 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Tue, 27 Oct 2015 17:39:37 +0100 Subject: [PATCH] fix(analytics): enable analytics and correctly export methods --- website/src/controllers/auth.js | 4 ++-- website/src/controllers/groups.js | 6 +++--- website/src/controllers/payments/index.js | 6 +++--- website/src/utils.js | 14 +++++++++++--- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/website/src/controllers/auth.js b/website/src/controllers/auth.js index bc7fae6609..b9bea19b51 100644 --- a/website/src/controllers/auth.js +++ b/website/src/controllers/auth.js @@ -120,7 +120,7 @@ api.registerUser = function(req, res, next) { type: 'local', gaLabel: 'local' }; - //analytics.track('register', analyticsData) + analytics.track('register', analyticsData) user.save(function(err, savedUser){ // Clean previous email preferences @@ -214,7 +214,7 @@ api.loginSocial = function(req, res, next) { type: network, gaLabel: network }; - //analytics.track('register', analyticsData) + analytics.track('register', analyticsData) }] }, function(err, results){ if (err) return res.json(401, {err: err.toString ? err.toString() : err}); diff --git a/website/src/controllers/groups.js b/website/src/controllers/groups.js index 2ced96eff8..573142887c 100644 --- a/website/src/controllers/groups.js +++ b/website/src/controllers/groups.js @@ -914,7 +914,7 @@ api.questAccept = function(req, res, next) { gaLabel: 'accept', questName: key }; - //analytics.track('quest',analyticsData); + analytics.track('quest',analyticsData); group.quest.members[m] = true; group.quest.leader = user._id; } else { @@ -960,7 +960,7 @@ api.questAccept = function(req, res, next) { gaLabel: 'accept', questName: group.quest.key }; - //analytics.track('quest',analyticsData); + 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); @@ -979,7 +979,7 @@ api.questReject = function(req, res, next) { gaLabel: 'reject', questName: group.quest.key }; - //analytics.track('quest',analyticsData); + 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); diff --git a/website/src/controllers/payments/index.js b/website/src/controllers/payments/index.js index 26a14b40b1..1f8935645d 100644 --- a/website/src/controllers/payments/index.js +++ b/website/src/controllers/payments/index.js @@ -85,7 +85,7 @@ exports.createSubscription = function(data, cb) { gift: !!data.gift, // coerced into a boolean purchaseValue: block.price } - //utils.analytics.trackPurchase(analyticsData); + utils.analytics.trackPurchase(analyticsData); } data.user.purchased.txnCount++; if (data.gift){ @@ -133,7 +133,7 @@ exports.cancelSubscription = function(data, cb) { gaLabel: data.paymentMethod, paymentMethod: data.paymentMethod } - //utils.analytics.track('unsubscribe', analyticsData); + utils.analytics.track('unsubscribe', analyticsData); } exports.buyGems = function(data, cb) { @@ -154,7 +154,7 @@ exports.buyGems = function(data, cb) { gift: !!data.gift, // coerced into a boolean purchaseValue: amt } - //utils.analytics.trackPurchase(analyticsData); + utils.analytics.trackPurchase(analyticsData); } if (data.gift){ diff --git a/website/src/utils.js b/website/src/utils.js index 5d1e4ac2ba..4f17cc1c9d 100644 --- a/website/src/utils.js +++ b/website/src/utils.js @@ -159,6 +159,10 @@ module.exports.makeSalt = function() { return crypto.randomBytes(Math.ceil(len / 2)).toString('hex').substring(0, len); } +// Prepare to export analytics object +// Export emoty methods until the right ones are ready +module.exports.analytics = { track: function() { }, trackPurchase: function() { } }; + /** * Load nconf and define default configuration values if config.json or ENV vars are not found */ @@ -182,9 +186,13 @@ module.exports.setupConfig = function(){ googleAnalytics: nconf.get('GA_ID') } - module.exports.analytics = analytics - ? analytics(analyticsTokens) - : { track: function() { }, trackPurchase: function() { } }; + if(analytics){ + analytics = analytics(analyticsTokens); + // Use the right analytics methods, don't substitute the entire object + // or all the require() across the code will keep the empty methods + module.exports.analytics.track = analytics.track; + module.exports.analytics.trackPurchase = analytics.trackPurchase; + } }; var algorithm = 'aes-256-ctr';