From 1feb571a91f5978a39407db5597d4ed2ca8a8872 Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Thu, 7 Sep 2023 00:13:09 +0200 Subject: [PATCH] Add event to sync project data more frequently - admin users count + active admin users count (#17857) Co-authored-by: Marc-Roig --- packages/core/admin/ee/server/bootstrap.js | 4 ++-- packages/core/admin/server/bootstrap.js | 4 +++- packages/core/admin/server/services/metrics.js | 17 +++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/core/admin/ee/server/bootstrap.js b/packages/core/admin/ee/server/bootstrap.js index 5467f8bc74..dc544a99b8 100644 --- a/packages/core/admin/ee/server/bootstrap.js +++ b/packages/core/admin/ee/server/bootstrap.js @@ -7,7 +7,7 @@ const { getService } = require('../../server/utils'); const actions = require('./config/admin-actions'); const { persistTablesWithPrefix } = require('./utils/persisted-tables'); -module.exports = async () => { +module.exports = async (args) => { const { actionProvider } = getService('permission'); if (features.isEnabled('sso')) { @@ -37,5 +37,5 @@ module.exports = async () => { await getService('seat-enforcement').seatEnforcementWorkflow(); - await executeCEBootstrap(); + await executeCEBootstrap(args); }; diff --git a/packages/core/admin/server/bootstrap.js b/packages/core/admin/server/bootstrap.js index 82f5778b3e..4900c1b755 100644 --- a/packages/core/admin/server/bootstrap.js +++ b/packages/core/admin/server/bootstrap.js @@ -70,7 +70,7 @@ const syncAPITokensPermissions = async () => { } }; -module.exports = async () => { +module.exports = async ({ strapi }) => { await registerAdminConditions(); await registerPermissionActions(); registerModelHooks(); @@ -93,6 +93,8 @@ module.exports = async () => { await syncAuthSettings(); await syncAPITokensPermissions(); + getService('metrics').startCron(strapi); + apiTokenService.checkSaltIsDefined(); transferService.token.checkSaltIsDefined(); tokenService.checkSecretIsDefined(); diff --git a/packages/core/admin/server/services/metrics.js b/packages/core/admin/server/services/metrics.js index 678ad83e0b..9d5856c451 100644 --- a/packages/core/admin/server/services/metrics.js +++ b/packages/core/admin/server/services/metrics.js @@ -20,8 +20,25 @@ const sendDidChangeInterfaceLanguage = async () => { strapi.telemetry.send('didChangeInterfaceLanguage', { userProperties: { languagesInUse } }); }; +const sendUpdateProjectInformation = async () => { + const numberOfActiveAdminUsers = await getService('user').count({ isActive: true }); + const numberOfAdminUsers = await getService('user').count(); + + strapi.telemetry.send('didUpdateProjectInformation', { + groupProperties: { numberOfActiveAdminUsers, numberOfAdminUsers }, + }); +}; + +const startCron = (strapi) => { + strapi.cron.add({ + '0 0 0 * * *': () => sendUpdateProjectInformation(), + }); +}; + module.exports = { sendDidInviteUser, sendDidUpdateRolePermissions, sendDidChangeInterfaceLanguage, + sendUpdateProjectInformation, + startCron, };