|
|
|
@ -9,6 +9,31 @@ function acceptedIpAddress(ipAddress) { |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function accessToken(req) { |
|
|
|
|
const valid_token = process.env.METRICS_ACCESS_TOKEN; |
|
|
|
|
let token; |
|
|
|
|
if (req.headers && req.headers.authorization) { |
|
|
|
|
var parts = req.headers.authorization.split(" "); |
|
|
|
|
|
|
|
|
|
if (parts.length === 2) { |
|
|
|
|
var scheme = parts[0]; |
|
|
|
|
var credentials = parts[1]; |
|
|
|
|
|
|
|
|
|
if (/^Bearer$/i.test(scheme)) { |
|
|
|
|
token = credentials; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (!token && req.query && req.query.access_token) { |
|
|
|
|
token = req.query.access_token; |
|
|
|
|
} |
|
|
|
|
return ( |
|
|
|
|
token !== undefined &&
|
|
|
|
|
valid_token !== undefined && |
|
|
|
|
token == valid_token |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const getBoardTitleWithMostActivities = (dateWithXdaysAgo, nbLimit) => { |
|
|
|
|
return Promise.await( |
|
|
|
|
Activities.rawCollection() |
|
|
|
@ -49,7 +74,7 @@ Meteor.startup(() => { |
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// List of trusted ip adress will be found in environment variable "METRICS_ACCEPTED_IP_ADDRESS" (separeted with commas)
|
|
|
|
|
if (acceptedIpAddress(ipAddress)) { |
|
|
|
|
if (acceptedIpAddress(ipAddress) || (accessToken(req)) { |
|
|
|
|
let metricsRes = ''; |
|
|
|
|
let resCount = 0; |
|
|
|
|
//connected users
|
|
|
|
|