Vulcan/packages/vulcan-events-segment/lib/server/segment-server.js
Justin Reynolds 75b6ece0a4 Fix linting
2018-01-25 15:03:03 -06:00

46 lines
1,022 B
JavaScript

import Analytics from 'analytics-node';
import { getSetting } from 'meteor/vulcan:core';
import {
/* addPageFunction, addInitFunction, */
addIdentifyFunction,
addTrackFunction,
} from 'meteor/vulcan:events';
const segmentWriteKey = getSetting('segment.serverKey');
if (segmentWriteKey) {
const analytics = new Analytics(segmentWriteKey);
/*
Identify User
*/
// eslint-disable-next-line no-inner-declarations
function segmentIdentifyServer(currentUser) {
analytics.identify({
userId: currentUser._id,
traits: {
email: currentUser.email,
pageUrl: currentUser.pageUrl,
},
});
}
addIdentifyFunction(segmentIdentifyServer);
/*
Track Event
*/
// eslint-disable-next-line no-inner-declarations
function segmentTrackServer(eventName, eventProperties, currentUser) {
analytics.track({
event: eventName,
properties: eventProperties,
userId: currentUser && currentUser._id,
});
}
addTrackFunction(segmentTrackServer);
}