From a81bad24e09c028c89eaacdaa97ce619b9895402 Mon Sep 17 00:00:00 2001 From: Douglas Gubert <douglas.gubert@gmail.com> Date: Mon, 21 Aug 2023 17:48:35 -0300 Subject: [PATCH] fix: Trigger app post user created event correctly (#30006) --- .changeset/slow-lizards-breathe.md | 5 +++++ .../app/authentication/server/startup/index.js | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 .changeset/slow-lizards-breathe.md diff --git a/.changeset/slow-lizards-breathe.md b/.changeset/slow-lizards-breathe.md new file mode 100644 index 00000000000..fd773b17f5c --- /dev/null +++ b/.changeset/slow-lizards-breathe.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Fixed Apps-Engine event `IPostUserCreated` execution diff --git a/apps/meteor/app/authentication/server/startup/index.js b/apps/meteor/app/authentication/server/startup/index.js index 0382c0de138..e3b97c1aae8 100644 --- a/apps/meteor/app/authentication/server/startup/index.js +++ b/apps/meteor/app/authentication/server/startup/index.js @@ -249,11 +249,6 @@ const onCreateUserAsync = async function (options, user = {}) { await callbacks.run('onCreateUser', options, user); } - if (!options.skipAppsEngineEvent) { - // App IPostUserCreated event hook - await Apps.triggerEvent(AppEvents.IPostUserCreated, { user, performedBy: await safeGetMeteorUser() }); - } - if (!options.skipEmailValidation && !validateEmailDomain(user)) { throw new Meteor.Error(403, 'User validation failed'); } @@ -353,6 +348,13 @@ const insertUserDocAsync = async function (options, user) { } } + if (!options.skipAppsEngineEvent) { + // `post` triggered events don't need to wait for the promise to resolve + Apps.triggerEvent(AppEvents.IPostUserCreated, { user, performedBy: await safeGetMeteorUser() }).catch((e) => { + Apps.getRocketChatLogger().error('Error while executing post user created event:', e); + }); + } + return _id; }; -- GitLab