mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 05:37:22 +01:00
Loggly-only user support events (#12676)
* feat(analytics): Loggly-only user support events * fix(analytics): clean up more Unknowns
This commit is contained in:
@@ -221,6 +221,7 @@ api.createChallenge = {
|
|||||||
groupID: group._id,
|
groupID: group._id,
|
||||||
groupName: group.privacy === 'private' ? null : group.name,
|
groupName: group.privacy === 'private' ? null : group.name,
|
||||||
groupType: group._id === TAVERN_ID ? 'tavern' : group.type,
|
groupType: group._id === TAVERN_ID ? 'tavern' : group.type,
|
||||||
|
headers: req.headers,
|
||||||
});
|
});
|
||||||
|
|
||||||
res.respond(201, response);
|
res.respond(201, response);
|
||||||
@@ -286,6 +287,7 @@ api.joinChallenge = {
|
|||||||
groupID: group._id,
|
groupID: group._id,
|
||||||
groupName: group.privacy === 'private' ? null : group.name,
|
groupName: group.privacy === 'private' ? null : group.name,
|
||||||
groupType: group._id === TAVERN_ID ? 'tavern' : group.type,
|
groupType: group._id === TAVERN_ID ? 'tavern' : group.type,
|
||||||
|
headers: req.headers,
|
||||||
});
|
});
|
||||||
|
|
||||||
res.respond(200, response);
|
res.respond(200, response);
|
||||||
@@ -335,6 +337,7 @@ api.leaveChallenge = {
|
|||||||
groupID: challenge.group._id,
|
groupID: challenge.group._id,
|
||||||
groupName: challenge.group.privacy === 'private' ? null : challenge.group.name,
|
groupName: challenge.group.privacy === 'private' ? null : challenge.group.name,
|
||||||
groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type,
|
groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type,
|
||||||
|
headers: req.headers,
|
||||||
});
|
});
|
||||||
|
|
||||||
res.respond(200, {});
|
res.respond(200, {});
|
||||||
@@ -748,6 +751,7 @@ api.deleteChallenge = {
|
|||||||
groupID: challenge.group._id,
|
groupID: challenge.group._id,
|
||||||
groupName: challenge.group.privacy === 'private' ? null : challenge.group.name,
|
groupName: challenge.group.privacy === 'private' ? null : challenge.group.name,
|
||||||
groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type,
|
groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type,
|
||||||
|
headers: req.headers,
|
||||||
});
|
});
|
||||||
|
|
||||||
res.respond(200, {});
|
res.respond(200, {});
|
||||||
@@ -798,6 +802,7 @@ api.selectChallengeWinner = {
|
|||||||
groupID: challenge.group._id,
|
groupID: challenge.group._id,
|
||||||
groupName: challenge.group.privacy === 'private' ? null : challenge.group.name,
|
groupName: challenge.group.privacy === 'private' ? null : challenge.group.name,
|
||||||
groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type,
|
groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type,
|
||||||
|
headers: req.headers,
|
||||||
});
|
});
|
||||||
|
|
||||||
res.respond(200, {});
|
res.respond(200, {});
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ api.inviteToQuest = {
|
|||||||
questName: questKey,
|
questName: questKey,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
headers: req.headers,
|
headers: req.headers,
|
||||||
});
|
}, true);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -217,7 +217,7 @@ api.acceptQuest = {
|
|||||||
questName: group.quest.key,
|
questName: group.quest.key,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
headers: req.headers,
|
headers: req.headers,
|
||||||
});
|
}, true);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -278,7 +278,7 @@ api.rejectQuest = {
|
|||||||
questName: group.quest.key,
|
questName: group.quest.key,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
headers: req.headers,
|
headers: req.headers,
|
||||||
});
|
}, true);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -338,7 +338,7 @@ api.forceStart = {
|
|||||||
questName: group.quest.key,
|
questName: group.quest.key,
|
||||||
uuid: user._id,
|
uuid: user._id,
|
||||||
headers: req.headers,
|
headers: req.headers,
|
||||||
});
|
}, true);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ api.checkoutSuccess = {
|
|||||||
if (!customerId) throw new BadRequest(apiError('missingCustomerId'));
|
if (!customerId) throw new BadRequest(apiError('missingCustomerId'));
|
||||||
|
|
||||||
await paypalPayments.checkoutSuccess({
|
await paypalPayments.checkoutSuccess({
|
||||||
user, gemsBlock, gift, paymentId, customerId,
|
user, gemsBlock, gift, paymentId, customerId, headers: req.headers,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (req.query.noRedirect) {
|
if (req.query.noRedirect) {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ api.checkout = {
|
|||||||
const { groupId, coupon, gemsBlock } = req.query;
|
const { groupId, coupon, gemsBlock } = req.query;
|
||||||
|
|
||||||
await stripePayments.checkout({
|
await stripePayments.checkout({
|
||||||
token, user, gemsBlock, gift, sub, groupId, coupon,
|
token, user, gemsBlock, gift, sub, groupId, coupon, headers: req.headers,
|
||||||
});
|
});
|
||||||
|
|
||||||
res.respond(200, {});
|
res.respond(200, {});
|
||||||
|
|||||||
@@ -174,7 +174,7 @@ function _formatDataForAmplitude (data) {
|
|||||||
return ampData;
|
return ampData;
|
||||||
}
|
}
|
||||||
|
|
||||||
function _sendDataToAmplitude (eventType, data) {
|
function _sendDataToAmplitude (eventType, data, loggerOnly) {
|
||||||
const amplitudeData = _formatDataForAmplitude(data);
|
const amplitudeData = _formatDataForAmplitude(data);
|
||||||
|
|
||||||
amplitudeData.event_type = eventType;
|
amplitudeData.event_type = eventType;
|
||||||
@@ -183,6 +183,8 @@ function _sendDataToAmplitude (eventType, data) {
|
|||||||
logger.info('Amplitude Event', amplitudeData);
|
logger.info('Amplitude Event', amplitudeData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (loggerOnly) return Promise.resolve(null);
|
||||||
|
|
||||||
return amplitude
|
return amplitude
|
||||||
.track(amplitudeData)
|
.track(amplitudeData)
|
||||||
.catch(err => logger.error(err, 'Error while sending data to Amplitude.'));
|
.catch(err => logger.error(err, 'Error while sending data to Amplitude.'));
|
||||||
@@ -312,9 +314,9 @@ function _setOnce (dataToSetOnce, uuid) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// There's no error handling directly here because it's handled inside _sendDataTo{Amplitude|Google}
|
// There's no error handling directly here because it's handled inside _sendDataTo{Amplitude|Google}
|
||||||
async function track (eventType, data) {
|
async function track (eventType, data, loggerOnly = false) {
|
||||||
const promises = [
|
const promises = [
|
||||||
_sendDataToAmplitude(eventType, data),
|
_sendDataToAmplitude(eventType, data, loggerOnly),
|
||||||
_sendDataToGoogle(eventType, data),
|
_sendDataToGoogle(eventType, data),
|
||||||
];
|
];
|
||||||
if (data.user && data.user.registeredThrough) {
|
if (data.user && data.user.registeredThrough) {
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ function trackCronAnalytics (analytics, user, _progress, options) {
|
|||||||
user,
|
user,
|
||||||
questName: user.party.quest.key,
|
questName: user.party.quest.key,
|
||||||
headers: options.headers,
|
headers: options.headers,
|
||||||
});
|
}, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user