Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/strapi/lib/services/metrics/ drwxr-xr-x | |
| Viewing file: Select action/file-type: 'use strict';
const os = require('os');
const _ = require('lodash');
const isDocker = require('is-docker');
const { machineIdSync } = require('node-machine-id');
const fetch = require('node-fetch');
const ciEnv = require('ci-info');
const ee = require('../../utils/ee');
const stringifyDeep = require('./stringify-deep');
const defaultQueryOpts = {
timeout: 1000,
headers: { 'Content-Type': 'application/json' },
};
const ANALYTICS_URI = 'https://analytics.strapi.io';
/**
* Add properties from the package.json strapi key in the metadata
* @param {object} metadata
*/
const addPackageJsonStrapiMetadata = (metadata, strapi) => {
const { packageJsonStrapi = {} } = strapi.config;
_.defaults(metadata, packageJsonStrapi);
};
/**
* Create a send function for event with all the necessary metadatas
* @param {Object} strapi strapi app
* @returns {Function} (event, payload) -> Promise{boolean}
*/
module.exports = strapi => {
const { uuid } = strapi.config;
const deviceId = machineIdSync();
const isEE = strapi.EE === true && ee.isEE === true;
const anonymous_metadata = {
environment: strapi.config.environment,
os: os.type(),
osPlatform: os.platform(),
osRelease: os.release(),
nodeVersion: process.version,
docker: process.env.DOCKER || isDocker(),
isCI: ciEnv.isCI,
version: strapi.config.info.strapi,
strapiVersion: strapi.config.info.strapi,
projectType: isEE ? 'Enterprise' : 'Community',
};
addPackageJsonStrapiMetadata(anonymous_metadata, strapi);
return async (event, payload = {}, opts = {}) => {
const reqParams = {
method: 'POST',
body: JSON.stringify({
event,
uuid,
deviceId,
properties: stringifyDeep({
...payload,
...anonymous_metadata,
}),
}),
..._.merge({}, defaultQueryOpts, opts),
};
try {
const res = await fetch(`${ANALYTICS_URI}/track`, reqParams);
return res.ok;
} catch (err) {
return false;
}
};
};
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0359 ]-- |