46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
const Matomo = require('matomo-tracker')
|
|
const { machineIdSync } = require('node-machine-id')
|
|
|
|
const id = machineIdSync()
|
|
const mat = new Matomo(7, 'https://speckle.matomo.cloud/matomo.php')
|
|
|
|
module.exports = {
|
|
startup() {
|
|
if (process.env.DISABLE_TRACKING !== 'true') {
|
|
mat.track({
|
|
url: 'http://speckle.server',
|
|
action_name: 'startup',
|
|
uid: id,
|
|
cip: id,
|
|
token_auth: '8402f0bdd767c74cce86f710fe830a2c'
|
|
})
|
|
}
|
|
},
|
|
apolloHelper(actionName) {
|
|
if (process.env.DISABLE_TRACKING !== 'true') {
|
|
mat.track({
|
|
url: 'http://speckle.server/gql',
|
|
action_name: actionName || 'gql api call',
|
|
cip: id,
|
|
uid: id,
|
|
token_auth: '8402f0bdd767c74cce86f710fe830a2c'
|
|
})
|
|
}
|
|
},
|
|
matomoMiddleware(req, res, next) {
|
|
if (process.env.DISABLE_TRACKING !== 'true') {
|
|
mat.track({
|
|
url: req.url,
|
|
action_name: 'api call',
|
|
cip: id,
|
|
uid: id,
|
|
cvar: JSON.stringify({
|
|
1: ['HTTP method', req.method]
|
|
}),
|
|
token_auth: '8402f0bdd767c74cce86f710fe830a2c'
|
|
})
|
|
}
|
|
next()
|
|
}
|
|
}
|