mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 05:37:22 +01:00
properly update user properties in events
This commit is contained in:
Submodule habitica-images updated: e3215f16f9...aa72332019
@@ -160,7 +160,7 @@ export default function randomDrop (user, options, req = {}, analytics) {
|
|||||||
|
|
||||||
if (analytics && moment().diff(user.auth.timestamps.created, 'days') < 7) {
|
if (analytics && moment().diff(user.auth.timestamps.created, 'days') < 7) {
|
||||||
analytics.track('dropped item', {
|
analytics.track('dropped item', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
itemKey: drop.key,
|
itemKey: drop.key,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ export function checkOnboardingStatus (user, req, analytics) {
|
|||||||
user.addNotification('ONBOARDING_COMPLETE');
|
user.addNotification('ONBOARDING_COMPLETE');
|
||||||
if (analytics) {
|
if (analytics) {
|
||||||
analytics.track('onboarding complete', {
|
analytics.track('onboarding complete', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ export class AbstractBuyOperation {
|
|||||||
sendToAnalytics (additionalData = {}) {
|
sendToAnalytics (additionalData = {}) {
|
||||||
// spread-operator produces an "unexpected token" error
|
// spread-operator produces an "unexpected token" error
|
||||||
const analyticsData = merge(additionalData, {
|
const analyticsData = merge(additionalData, {
|
||||||
user: pick(this.user, ['preferences', 'registeredThrough']),
|
user: this.user,
|
||||||
uuid: this.user._id,
|
uuid: this.user._id,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
headers: this.req.headers,
|
headers: this.req.headers,
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ export class BuyArmoireOperation extends AbstractGoldItemOperation { // eslint-d
|
|||||||
this.analytics.track(
|
this.analytics.track(
|
||||||
'Enchanted Armoire',
|
'Enchanted Armoire',
|
||||||
{
|
{
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
itemKey: key,
|
itemKey: key,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ export default async function buyMysterySet (user, req = {}, analytics) {
|
|||||||
|
|
||||||
if (analytics) {
|
if (analytics) {
|
||||||
analytics.track('buy', {
|
analytics.track('buy', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
itemKey: mysterySet.key,
|
itemKey: mysterySet.key,
|
||||||
itemType: 'Subscriber Gear',
|
itemType: 'Subscriber Gear',
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ export default async function purchaseHourglass (user, req = {}, analytics, quan
|
|||||||
|
|
||||||
if (analytics) {
|
if (analytics) {
|
||||||
analytics.track('buy', {
|
analytics.track('buy', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
itemKey: key,
|
itemKey: key,
|
||||||
itemType: type,
|
itemType: type,
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ export default async function purchase (user, req = {}, analytics) {
|
|||||||
/* eslint-enable no-await-in-loop */
|
/* eslint-enable no-await-in-loop */
|
||||||
if (analytics) {
|
if (analytics) {
|
||||||
analytics.track('buy', {
|
analytics.track('buy', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
itemKey: key,
|
itemKey: key,
|
||||||
itemType: type,
|
itemType: type,
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ export default async function changeClass (user, req = {}, analytics) {
|
|||||||
|
|
||||||
if (analytics) {
|
if (analytics) {
|
||||||
analytics.track('change class', {
|
analytics.track('change class', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
class: klass,
|
class: klass,
|
||||||
currency: balanceRemoved === 0 ? 'Free' : 'Gems',
|
currency: balanceRemoved === 0 ? 'Free' : 'Gems',
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ export default function feed (user, req = {}, analytics) {
|
|||||||
|
|
||||||
if (analytics && moment().diff(user.auth.timestamps.created, 'days') < 7) {
|
if (analytics && moment().diff(user.auth.timestamps.created, 'days') < 7) {
|
||||||
analytics.track('pet feed', {
|
analytics.track('pet feed', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
foodKey: food.key,
|
foodKey: food.key,
|
||||||
petKey: pet.key,
|
petKey: pet.key,
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ export default function hatch (user, req = {}, analytics) {
|
|||||||
|
|
||||||
if (analytics && moment().diff(user.auth.timestamps.created, 'days') < 7) {
|
if (analytics && moment().diff(user.auth.timestamps.created, 'days') < 7) {
|
||||||
analytics.track('pet hatch', {
|
analytics.track('pet hatch', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
petKey: pet,
|
petKey: pet,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export default async function rebirth (user, tasks = [], req = {}, analytics) {
|
|||||||
|
|
||||||
const analyticsData = {
|
const analyticsData = {
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ export default async function releaseMounts (user, req = {}, analytics) {
|
|||||||
|
|
||||||
if (analytics) {
|
if (analytics) {
|
||||||
analytics.track('release mounts', {
|
analytics.track('release mounts', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
currency: 'Gems',
|
currency: 'Gems',
|
||||||
gemCost: 4,
|
gemCost: 4,
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ export default function releasePets (user, req = {}, analytics) {
|
|||||||
|
|
||||||
if (analytics) {
|
if (analytics) {
|
||||||
analytics.track('release pets', {
|
analytics.track('release pets', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
currency: 'Gems',
|
currency: 'Gems',
|
||||||
gemCost: 4,
|
gemCost: 4,
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ export default async function reroll (user, tasks = [], req = {}, analytics) {
|
|||||||
|
|
||||||
if (analytics) {
|
if (analytics) {
|
||||||
analytics.track('Fortify Potion', {
|
analytics.track('Fortify Potion', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
currency: 'Gems',
|
currency: 'Gems',
|
||||||
gemCost: 4,
|
gemCost: 4,
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ export default function revive (user, req = {}, analytics) {
|
|||||||
|
|
||||||
if (analytics) {
|
if (analytics) {
|
||||||
analytics.track('Death', {
|
analytics.track('Death', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
lostItem,
|
lostItem,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ export function sleep (user, req = {}, analytics) {
|
|||||||
|
|
||||||
if (analytics) {
|
if (analytics) {
|
||||||
analytics.track('sleep', {
|
analytics.track('sleep', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
status: user.preferences.sleep,
|
status: user.preferences.sleep,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -318,7 +318,7 @@ export default async function unlock (user, req = {}, analytics) {
|
|||||||
|
|
||||||
if (analytics) {
|
if (analytics) {
|
||||||
analytics.track('buy', {
|
analytics.track('buy', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
itemKey: path,
|
itemKey: path,
|
||||||
itemType: 'customization',
|
itemType: 'customization',
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ api.loginLocal = {
|
|||||||
await user.save();
|
await user.save();
|
||||||
|
|
||||||
res.analytics.track('login', {
|
res.analytics.track('login', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
type: 'local',
|
type: 'local',
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
|
|||||||
@@ -291,7 +291,7 @@ api.createChallenge = {
|
|||||||
response.group = getChallengeGroupResponse(group);
|
response.group = getChallengeGroupResponse(group);
|
||||||
|
|
||||||
res.analytics.track('challenge create', {
|
res.analytics.track('challenge create', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -360,7 +360,7 @@ api.joinChallenge = {
|
|||||||
response.leader = chalLeader ? chalLeader.toJSON({ minimize: true }) : null;
|
response.leader = chalLeader ? chalLeader.toJSON({ minimize: true }) : null;
|
||||||
|
|
||||||
res.analytics.track('challenge join', {
|
res.analytics.track('challenge join', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -411,7 +411,7 @@ api.leaveChallenge = {
|
|||||||
await challenge.unlinkTasks(user, keep);
|
await challenge.unlinkTasks(user, keep);
|
||||||
|
|
||||||
res.analytics.track('challenge leave', {
|
res.analytics.track('challenge leave', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -896,7 +896,7 @@ api.deleteChallenge = {
|
|||||||
await challenge.closeChal({ broken: 'CHALLENGE_DELETED' });
|
await challenge.closeChal({ broken: 'CHALLENGE_DELETED' });
|
||||||
|
|
||||||
res.analytics.track('challenge delete', {
|
res.analytics.track('challenge delete', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -957,7 +957,7 @@ api.selectChallengeWinner = {
|
|||||||
await challenge.closeChal({ broken: 'CHALLENGE_CLOSED', winner });
|
await challenge.closeChal({ broken: 'CHALLENGE_CLOSED', winner });
|
||||||
|
|
||||||
res.analytics.track('challenge close', {
|
res.analytics.track('challenge close', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ api.postChat = {
|
|||||||
// Check if account is newer than the minimum age for chat participation
|
// Check if account is newer than the minimum age for chat participation
|
||||||
if (moment().diff(user.auth.timestamps.created, 'minutes') < ACCOUNT_MIN_CHAT_AGE) {
|
if (moment().diff(user.auth.timestamps.created, 'minutes') < ACCOUNT_MIN_CHAT_AGE) {
|
||||||
analytics.track('chat age error', {
|
analytics.track('chat age error', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -239,7 +239,7 @@ api.postChat = {
|
|||||||
await Promise.all(toSave);
|
await Promise.all(toSave);
|
||||||
|
|
||||||
const analyticsObject = {
|
const analyticsObject = {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ api.createGroup = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const analyticsObject = {
|
const analyticsObject = {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -220,7 +220,7 @@ api.createGroupPlan = {
|
|||||||
const savedGroup = results[1];
|
const savedGroup = results[1];
|
||||||
|
|
||||||
res.analytics.track('join group', {
|
res.analytics.track('join group', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -705,7 +705,7 @@ api.joinGroup = {
|
|||||||
promises.push(group.save());
|
promises.push(group.save());
|
||||||
|
|
||||||
const analyticsObject = {
|
const analyticsObject = {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -737,7 +737,7 @@ api.transferGems = {
|
|||||||
|
|
||||||
if (res.analytics) {
|
if (res.analytics) {
|
||||||
res.analytics.track('transfer gems', {
|
res.analytics.track('transfer gems', {
|
||||||
user: pick(sender, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: sender._id,
|
uuid: sender._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ api.inviteToQuest = {
|
|||||||
|
|
||||||
// track that the inviting user has accepted the quest
|
// track that the inviting user has accepted the quest
|
||||||
analytics.track('quest', {
|
analytics.track('quest', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
headers: req.headers,
|
headers: req.headers,
|
||||||
@@ -233,7 +233,7 @@ api.acceptQuest = {
|
|||||||
|
|
||||||
// track that a user has accepted the quest
|
// track that a user has accepted the quest
|
||||||
analytics.track('quest', {
|
analytics.track('quest', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
owner: false,
|
owner: false,
|
||||||
response: 'accept',
|
response: 'accept',
|
||||||
@@ -298,7 +298,7 @@ api.rejectQuest = {
|
|||||||
res.respond(200, savedGroup.quest);
|
res.respond(200, savedGroup.quest);
|
||||||
|
|
||||||
analytics.track('quest', {
|
analytics.track('quest', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
owner: false,
|
owner: false,
|
||||||
response: 'reject',
|
response: 'reject',
|
||||||
@@ -362,7 +362,7 @@ api.forceStart = {
|
|||||||
res.respond(200, savedGroup.quest);
|
res.respond(200, savedGroup.quest);
|
||||||
|
|
||||||
analytics.track('quest', {
|
analytics.track('quest', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
owner: user._id === group.quest.leader,
|
owner: user._id === group.quest.leader,
|
||||||
response: 'force-start',
|
response: 'force-start',
|
||||||
|
|||||||
@@ -333,7 +333,7 @@ api.createChallengeTasks = {
|
|||||||
|
|
||||||
tasks.forEach(task => {
|
tasks.forEach(task => {
|
||||||
res.analytics.track('challenge task created', {
|
res.analytics.track('challenge task created', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -703,7 +703,7 @@ api.updateTask = {
|
|||||||
|
|
||||||
if (group) {
|
if (group) {
|
||||||
res.analytics.track('task edit', {
|
res.analytics.track('task edit', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ api.createGroupTasks = {
|
|||||||
|
|
||||||
tasks.forEach(task => {
|
tasks.forEach(task => {
|
||||||
res.analytics.track('team task created', {
|
res.analytics.track('team task created', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -253,7 +253,7 @@ api.assignTask = {
|
|||||||
res.respond(200, task);
|
res.respond(200, task);
|
||||||
|
|
||||||
res.analytics.track('task assign', {
|
res.analytics.track('task assign', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -326,7 +326,7 @@ api.deleteUser = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
res.analytics.track('account delete', {
|
res.analytics.track('account delete', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -219,7 +219,7 @@ async function registerLocal (req, res, { isV3 = false }) {
|
|||||||
|
|
||||||
if (!existingUser) {
|
if (!existingUser) {
|
||||||
res.analytics.track('register', {
|
res.analytics.track('register', {
|
||||||
user: pick(savedUser, ['preferences', 'registeredThrough']),
|
user: savedUser,
|
||||||
category: 'acquisition',
|
category: 'acquisition',
|
||||||
type: 'local',
|
type: 'local',
|
||||||
uuid: savedUser._id,
|
uuid: savedUser._id,
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ export async function loginSocial (req, res) { // eslint-disable-line import/pre
|
|||||||
|
|
||||||
if (!existingUser) {
|
if (!existingUser) {
|
||||||
res.analytics.track('register', {
|
res.analytics.track('register', {
|
||||||
user: pick(savedUser, ['preferences', 'registeredThrough']),
|
user: savedUser,
|
||||||
uuid: savedUser._id,
|
uuid: savedUser._id,
|
||||||
category: 'acquisition',
|
category: 'acquisition',
|
||||||
type: network,
|
type: network,
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ function trackCronAnalytics (analytics, user, _progress, options) {
|
|||||||
analytics.track('Cron', {
|
analytics.track('Cron', {
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
resting: user.preferences.sleep,
|
resting: user.preferences.sleep,
|
||||||
cronCount: user.flags.cronCount,
|
cronCount: user.flags.cronCount,
|
||||||
progressUp: Math.min(_progress.up, 900),
|
progressUp: Math.min(_progress.up, 900),
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ async function inviteByUUID (uuid, group, inviter, req, res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const analyticsObject = {
|
const analyticsObject = {
|
||||||
user: pick(inviter, ['preferences', 'registeredThrough']),
|
user: inviter,
|
||||||
uuid: inviter._id,
|
uuid: inviter._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -209,7 +209,7 @@ async function inviteByEmail (invite, group, inviter, req, res) {
|
|||||||
if (!userIsUnsubscribed) sendTxnEmail(invite, `invite-friend${groupLabel}`, variables);
|
if (!userIsUnsubscribed) sendTxnEmail(invite, `invite-friend${groupLabel}`, variables);
|
||||||
|
|
||||||
const analyticsObject = {
|
const analyticsObject = {
|
||||||
user: pick(inviter, ['preferences', 'registeredThrough']),
|
user: inviter,
|
||||||
uuid: inviter._id,
|
uuid: inviter._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -247,7 +247,7 @@ async function inviteByUserName (username, group, inviter, req, res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const analyticsObject = {
|
const analyticsObject = {
|
||||||
user: pick(inviter, ['preferences', 'registeredThrough']),
|
user: inviter,
|
||||||
uuid: inviter._id,
|
uuid: inviter._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ export async function buyGems (data) {
|
|||||||
if (!data.gift) txnEmail(data.user, 'donation');
|
if (!data.gift) txnEmail(data.user, 'donation');
|
||||||
|
|
||||||
analytics.trackPurchase({
|
analytics.trackPurchase({
|
||||||
user: pick(data.user, ['preferences', 'registeredThrough']),
|
user: data.user,
|
||||||
uuid: data.user._id,
|
uuid: data.user._id,
|
||||||
itemPurchased: 'Gems',
|
itemPurchased: 'Gems',
|
||||||
sku: `${data.paymentMethod.toLowerCase()}-checkout`,
|
sku: `${data.paymentMethod.toLowerCase()}-checkout`,
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ async function buyGryphatrice (data) {
|
|||||||
data.user.purchased.txnCount += 1;
|
data.user.purchased.txnCount += 1;
|
||||||
|
|
||||||
analytics.trackPurchase({
|
analytics.trackPurchase({
|
||||||
user: pick(data.user, ['preferences', 'registeredThrough']),
|
user: data.user,
|
||||||
uuid: data.user._id,
|
uuid: data.user._id,
|
||||||
itemPurchased: 'Gryphatrice',
|
itemPurchased: 'Gryphatrice',
|
||||||
sku: `${data.paymentMethod.toLowerCase()}-checkout`,
|
sku: `${data.paymentMethod.toLowerCase()}-checkout`,
|
||||||
|
|||||||
@@ -465,7 +465,7 @@ async function cancelSubscription (data) {
|
|||||||
|
|
||||||
analytics.track(cancelType, {
|
analytics.track(cancelType, {
|
||||||
uuid: data.user._id,
|
uuid: data.user._id,
|
||||||
user: pick(data.user, ['preferences', 'registeredThrough']),
|
user: data.user,
|
||||||
groupId,
|
groupId,
|
||||||
paymentMethod: data.paymentMethod,
|
paymentMethod: data.paymentMethod,
|
||||||
headers: data.headers,
|
headers: data.headers,
|
||||||
|
|||||||
@@ -516,7 +516,7 @@ async function scoreTask (user, task, direction, req, res) {
|
|||||||
role = 'member';
|
role = 'member';
|
||||||
}
|
}
|
||||||
res.analytics.track('team task scored', {
|
res.analytics.track('team task scored', {
|
||||||
user: pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ export async function update (req, res, { isV3 = false }) {
|
|||||||
user.invitations.party = {};
|
user.invitations.party = {};
|
||||||
user.invitations.parties = [];
|
user.invitations.parties = [];
|
||||||
res.analytics.track('Starts Looking for Party', {
|
res.analytics.track('Starts Looking for Party', {
|
||||||
user: _.pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -201,7 +201,7 @@ export async function update (req, res, { isV3 = false }) {
|
|||||||
if (key === 'party.seeking' && val === null) {
|
if (key === 'party.seeking' && val === null) {
|
||||||
user.party.seeking = undefined;
|
user.party.seeking = undefined;
|
||||||
res.analytics.track('Leaves Looking for Party', {
|
res.analytics.track('Leaves Looking for Party', {
|
||||||
user: _.pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
@@ -292,7 +292,7 @@ export async function reset (req, res, { isV3 = false }) {
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
res.analytics.track('account reset', {
|
res.analytics.track('account reset', {
|
||||||
user: _.pick(user, ['preferences', 'registeredThrough']),
|
user,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
hitType: 'event',
|
hitType: 'event',
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
|
|||||||
Reference in New Issue
Block a user