-
Notifications
You must be signed in to change notification settings - Fork 69
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: added Segment track for CLI scripts (#2617)
* feat: added Segment track for CLI scripts * refactor: refactoring after review * refactor: refactoring after review * refactor: refactoring after review * refactor: code refactoring
- Loading branch information
1 parent
56836f0
commit 9af9a64
Showing
8 changed files
with
62 additions
and
80 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
const axios = require('axios'); | ||
|
||
/** | ||
* Sends request to the Netlify function to inform about specified event. | ||
* @param {string} eventId - tracking event id | ||
* @param {object} properties - tracking properties | ||
*/ | ||
function sendTrackInfo(eventId, properties) { | ||
const { BASE_URL, TRACK_ANONYMOUS_ANALYTICS } = process.env; | ||
if (TRACK_ANONYMOUS_ANALYTICS) { | ||
const url = `${BASE_URL}/.netlify/functions/sendTrackData`; | ||
axios.post(url, { eventId, properties }) | ||
.then(result => { | ||
// eslint-disable-next-line no-console | ||
console.log(`Track info is successfully sent (status ${result.status})`); | ||
}).catch(error => { | ||
// eslint-disable-next-line no-console | ||
console.log(`Track info request failed (${error})`); | ||
}); | ||
} | ||
} | ||
|
||
module.exports = { sendTrackInfo }; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
const { v4: uuidv4 } = require('uuid'); | ||
const Analytics = require('analytics-node'); | ||
|
||
const analytics = new Analytics(process.env.SEGMENT_KEY); | ||
|
||
exports.handler = async function eventHandler(event) { | ||
// Only allow POST | ||
if (event.httpMethod !== 'POST') { | ||
return { statusCode: 405, body: 'Method Not Allowed' }; | ||
} | ||
const { eventId, properties } = JSON.parse(event.body); | ||
// dispatch event to Segment | ||
analytics.track({ | ||
anonymousId: uuidv4(), | ||
event: eventId, | ||
properties, | ||
}); | ||
|
||
return { | ||
statusCode: 200, | ||
body: JSON.stringify({ success: true }), | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,12 @@ | ||
const { v4: uuidv4 } = require('uuid'); | ||
const Analytics = require('analytics-node'); | ||
|
||
const analytics = new Analytics(process.env.SEGMENT_KEY); | ||
const { handler: actualHandler } = require('./sendAnalyticsData'); | ||
|
||
exports.handler = async function eventHandler(event) { | ||
// Only allow POST | ||
if (event.httpMethod !== 'POST') { | ||
return { statusCode: 405, body: 'Method Not Allowed' }; | ||
} | ||
const { componentName } = JSON.parse(event.body); | ||
// dispatch event to Segment | ||
analytics.track({ | ||
anonymousId: uuidv4(), | ||
event: 'openedx.paragon.functions.track-generate-component.created', | ||
properties: { componentName }, | ||
const body = JSON.parse(event.body); | ||
event.body = JSON.stringify({ | ||
...body, | ||
eventId: 'openedx.paragon.functions.track-generate-component.created', | ||
properties: { componentName: body.componentName }, | ||
}); | ||
|
||
return { | ||
statusCode: 200, | ||
body: JSON.stringify({ success: true }), | ||
}; | ||
return actualHandler(event); | ||
}; |