mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-14 21:27:23 +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,
|
||||
groupName: group.privacy === 'private' ? null : group.name,
|
||||
groupType: group._id === TAVERN_ID ? 'tavern' : group.type,
|
||||
headers: req.headers,
|
||||
});
|
||||
|
||||
res.respond(201, response);
|
||||
@@ -286,6 +287,7 @@ api.joinChallenge = {
|
||||
groupID: group._id,
|
||||
groupName: group.privacy === 'private' ? null : group.name,
|
||||
groupType: group._id === TAVERN_ID ? 'tavern' : group.type,
|
||||
headers: req.headers,
|
||||
});
|
||||
|
||||
res.respond(200, response);
|
||||
@@ -335,6 +337,7 @@ api.leaveChallenge = {
|
||||
groupID: challenge.group._id,
|
||||
groupName: challenge.group.privacy === 'private' ? null : challenge.group.name,
|
||||
groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type,
|
||||
headers: req.headers,
|
||||
});
|
||||
|
||||
res.respond(200, {});
|
||||
@@ -748,6 +751,7 @@ api.deleteChallenge = {
|
||||
groupID: challenge.group._id,
|
||||
groupName: challenge.group.privacy === 'private' ? null : challenge.group.name,
|
||||
groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type,
|
||||
headers: req.headers,
|
||||
});
|
||||
|
||||
res.respond(200, {});
|
||||
@@ -798,6 +802,7 @@ api.selectChallengeWinner = {
|
||||
groupID: challenge.group._id,
|
||||
groupName: challenge.group.privacy === 'private' ? null : challenge.group.name,
|
||||
groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type,
|
||||
headers: req.headers,
|
||||
});
|
||||
|
||||
res.respond(200, {});
|
||||
|
||||
@@ -156,7 +156,7 @@ api.inviteToQuest = {
|
||||
questName: questKey,
|
||||
uuid: user._id,
|
||||
headers: req.headers,
|
||||
});
|
||||
}, true);
|
||||
},
|
||||
};
|
||||
|
||||
@@ -217,7 +217,7 @@ api.acceptQuest = {
|
||||
questName: group.quest.key,
|
||||
uuid: user._id,
|
||||
headers: req.headers,
|
||||
});
|
||||
}, true);
|
||||
},
|
||||
};
|
||||
|
||||
@@ -278,7 +278,7 @@ api.rejectQuest = {
|
||||
questName: group.quest.key,
|
||||
uuid: user._id,
|
||||
headers: req.headers,
|
||||
});
|
||||
}, true);
|
||||
},
|
||||
};
|
||||
|
||||
@@ -338,7 +338,7 @@ api.forceStart = {
|
||||
questName: group.quest.key,
|
||||
uuid: user._id,
|
||||
headers: req.headers,
|
||||
});
|
||||
}, true);
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ api.checkoutSuccess = {
|
||||
if (!customerId) throw new BadRequest(apiError('missingCustomerId'));
|
||||
|
||||
await paypalPayments.checkoutSuccess({
|
||||
user, gemsBlock, gift, paymentId, customerId,
|
||||
user, gemsBlock, gift, paymentId, customerId, headers: req.headers,
|
||||
});
|
||||
|
||||
if (req.query.noRedirect) {
|
||||
|
||||
@@ -35,7 +35,7 @@ api.checkout = {
|
||||
const { groupId, coupon, gemsBlock } = req.query;
|
||||
|
||||
await stripePayments.checkout({
|
||||
token, user, gemsBlock, gift, sub, groupId, coupon,
|
||||
token, user, gemsBlock, gift, sub, groupId, coupon, headers: req.headers,
|
||||
});
|
||||
|
||||
res.respond(200, {});
|
||||
|
||||
@@ -174,7 +174,7 @@ function _formatDataForAmplitude (data) {
|
||||
return ampData;
|
||||
}
|
||||
|
||||
function _sendDataToAmplitude (eventType, data) {
|
||||
function _sendDataToAmplitude (eventType, data, loggerOnly) {
|
||||
const amplitudeData = _formatDataForAmplitude(data);
|
||||
|
||||
amplitudeData.event_type = eventType;
|
||||
@@ -183,6 +183,8 @@ function _sendDataToAmplitude (eventType, data) {
|
||||
logger.info('Amplitude Event', amplitudeData);
|
||||
}
|
||||
|
||||
if (loggerOnly) return Promise.resolve(null);
|
||||
|
||||
return amplitude
|
||||
.track(amplitudeData)
|
||||
.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}
|
||||
async function track (eventType, data) {
|
||||
async function track (eventType, data, loggerOnly = false) {
|
||||
const promises = [
|
||||
_sendDataToAmplitude(eventType, data),
|
||||
_sendDataToAmplitude(eventType, data, loggerOnly),
|
||||
_sendDataToGoogle(eventType, data),
|
||||
];
|
||||
if (data.user && data.user.registeredThrough) {
|
||||
|
||||
@@ -225,7 +225,7 @@ function trackCronAnalytics (analytics, user, _progress, options) {
|
||||
user,
|
||||
questName: user.party.quest.key,
|
||||
headers: options.headers,
|
||||
});
|
||||
}, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user