kopia lustrzana https://github.com/c9/core
Merge pull request +11806 from c9/fix-analytics-ext-services
Fix analytics ext servicespull/248/head
commit
f52c209a3e
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
});
|
|
@ -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() {
|
||||
|
|
|
@ -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??
|
||||
}
|
||||
});
|
||||
}
|
Ładowanie…
Reference in New Issue