Merge pull request +11806 from c9/fix-analytics-ext-services

Fix analytics ext services
pull/248/head
Dana Ivan 2016-01-26 09:04:23 +01:00
commit f52c209a3e
5 zmienionych plików z 19 dodań i 23 usunięć

Wyświetl plik

@ -11,7 +11,7 @@ define(function(require, exports, module) {
if (!user) return {}; // empty traits get ignored
var traits = {
uid: user.id || user.uid,
uid: user.id,
username: user.name || user.username,
email: user.email,
createdAt: user.date_add,

Wyświetl plik

@ -10,12 +10,10 @@ define(function(require, exports, module) {
var internalTestNames = ["c9test", "c9 test"];
var regex = new RegExp("^(" + internalTestNames.join("|") + ")+");
function hasInternalTestName(user) {
if (!user.name && !user.username) return false;
function hasInternalTestName(name) {
if (!name) return false;
var testedName = user.name ? user.name : user.username;
return regex.test(testedName);
return regex.test(name);
}
module.exports = hasInternalTestName;

22
node_modules/c9/skip-analytics.js wygenerowano vendored
Wyświetl plik

@ -10,23 +10,21 @@ define(function(require, exports, module) {
var hasInternalDomain = require("c9/has-internal-domain");
var hasInternalTestName = require("c9/has-internal-test-name");
function skipAnalytics(user, allowUnauthorized) {
if (!user) return true;
function skipAnalytics(userId, name, email, allowUnauthorized) {
if (!user.id && !user.uid) return true; // users without an id should never reach the Segment library
if (typeof userId == "object") {
var user = userId;
return skipAnalytics(user.id, user.name || user.username, user.email, name); // make it backwards compatible for the client
}
if (!userId) return true; // users without an id should never reach the Segment library
if (!allowUnauthorized && hasUnauthorizedId(user)) return true;
if (!allowUnauthorized && userId === -1) return true;
if (hasInternalTestName(user)) return true;
if (hasInternalDomain(user.email)) return true;
if (hasInternalTestName(name)) return true;
if (hasInternalDomain(email)) return true;
return false;
}
function hasUnauthorizedId(user) {
if (user.id === -1) return true;
if (!user.id && user.uid === -1) return true;
}
module.exports = skipAnalytics;
});

4
node_modules/c9/skip-analytics_test.js wygenerowano vendored
Wyświetl plik

@ -8,10 +8,10 @@ var skipAnalytics = require("c9/skip-analytics");
describe("skip-analytics", function() {
it("returns true when user undefined", function() {
it("returns true when user or user id undefined", function() {
var user;
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user undefined");
assert.equal(true, skipAnalytics(null, user), "skipAnalytics should return true when user undefined");
});
it("returns true when user id is -1", function() {

Wyświetl plik

@ -12,11 +12,11 @@ function plugin(options, imports, register) {
register(null, {
"analytics": {
log: function() {},
track: function() {},
identify: function() {},
logClean: function() {},
trackClean: function() {}
updateTraits: function() {},
alias: function() {},
logClean: function() {} // huh??
}
});
}