From 2d4c2efa1768a20feee2c1e87523fcbe083c7a8d Mon Sep 17 00:00:00 2001 From: Pierre Lehnen <55164754+pierre-lehnen-rc@users.noreply.github.com> Date: Wed, 22 Mar 2023 16:18:29 -0300 Subject: [PATCH] refactor: remove Promise.await from LDAP files (#28527) --- .../server/classes/ImportDataConverter.ts | 16 ++++++++-------- .../app/importer/server/classes/ImporterBase.js | 6 +++--- .../server/definitions/IConversionCallbacks.ts | 4 ++-- apps/meteor/ee/server/configuration/ldap.ts | 4 ++-- apps/meteor/ee/server/lib/ldap/Manager.ts | 6 +++--- apps/meteor/server/configuration/ldap.ts | 4 ++-- apps/meteor/server/lib/ldap/DataConverter.ts | 4 ++-- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/apps/meteor/app/importer/server/classes/ImportDataConverter.ts b/apps/meteor/app/importer/server/classes/ImportDataConverter.ts index 283badcdd4c..a4aa2e88203 100644 --- a/apps/meteor/app/importer/server/classes/ImportDataConverter.ts +++ b/apps/meteor/app/importer/server/classes/ImportDataConverter.ts @@ -302,7 +302,7 @@ export class ImportDataConverter { return ImportData.getAllUsers().toArray(); } - findExistingUser(data: IImportUser): IUser | undefined { + async findExistingUser(data: IImportUser): Promise { if (data.emails.length) { const emailUser = Users.findOneByEmailAddress(data.emails[0], {}); @@ -321,7 +321,7 @@ export class ImportDataConverter { const users = (await this.getUsersToImport()) as IImportUserRecord[]; for await (const { data, _id } of users) { try { - if (beforeImportFn && !beforeImportFn(data, 'user')) { + if (beforeImportFn && !(await beforeImportFn(data, 'user'))) { await this.skipRecord(_id); continue; } @@ -333,7 +333,7 @@ export class ImportDataConverter { throw new Error('importer-user-missing-email-and-username'); } - let existingUser = this.findExistingUser(data); + let existingUser = await this.findExistingUser(data); if (existingUser && this._options.skipExistingUsers) { await this.skipRecord(_id); continue; @@ -367,7 +367,7 @@ export class ImportDataConverter { } if (afterImportFn) { - afterImportFn(data, 'user', isNewUser); + await afterImportFn(data, 'user', isNewUser); } } catch (e) { this._logger.error(e); @@ -555,7 +555,7 @@ export class ImportDataConverter { for await (const { data, _id } of messages) { try { - if (beforeImportFn && !beforeImportFn(data, 'message')) { + if (beforeImportFn && !(await beforeImportFn(data, 'message'))) { await this.skipRecord(_id); continue; } @@ -624,7 +624,7 @@ export class ImportDataConverter { } if (afterImportFn) { - afterImportFn(data, 'message', true); + await afterImportFn(data, 'message', true); } } catch (e) { await this.saveError(_id, e instanceof Error ? e : new Error(String(e))); @@ -905,7 +905,7 @@ export class ImportDataConverter { const channels = await this.getChannelsToImport(); for await (const { data, _id } of channels) { try { - if (beforeImportFn && !beforeImportFn(data, 'channel')) { + if (beforeImportFn && !(await beforeImportFn(data, 'channel'))) { await this.skipRecord(_id); continue; } @@ -934,7 +934,7 @@ export class ImportDataConverter { } if (afterImportFn) { - afterImportFn(data, 'channel', !existingRoom); + await afterImportFn(data, 'channel', !existingRoom); } } catch (e) { await this.saveError(_id, e instanceof Error ? e : new Error(String(e))); diff --git a/apps/meteor/app/importer/server/classes/ImporterBase.js b/apps/meteor/app/importer/server/classes/ImporterBase.js index e18ae6d7f2b..f6111335738 100644 --- a/apps/meteor/app/importer/server/classes/ImporterBase.js +++ b/apps/meteor/app/importer/server/classes/ImporterBase.js @@ -168,7 +168,7 @@ export class Base { const started = Date.now(); const startedByUserId = Meteor.userId(); - const beforeImportFn = (data, type) => { + const beforeImportFn = async (data, type) => { switch (type) { case 'channel': { const id = data.t === 'd' ? '__directMessages__' : data.importIds[0]; @@ -195,8 +195,8 @@ export class Base { return true; }; - const afterImportFn = () => { - Promise.await(this.addCountCompleted(1)); + const afterImportFn = async () => { + return this.addCountCompleted(1); }; process.nextTick(async () => { diff --git a/apps/meteor/app/importer/server/definitions/IConversionCallbacks.ts b/apps/meteor/app/importer/server/definitions/IConversionCallbacks.ts index aeb28262c65..a1abfffe416 100644 --- a/apps/meteor/app/importer/server/definitions/IConversionCallbacks.ts +++ b/apps/meteor/app/importer/server/definitions/IConversionCallbacks.ts @@ -1,11 +1,11 @@ import type { IImportUser, IImportMessage, IImportChannel } from '@rocket.chat/core-typings'; type ImporterBeforeImportCallback = { - (data: IImportUser | IImportChannel | IImportMessage, type: string): boolean; + (data: IImportUser | IImportChannel | IImportMessage, type: string): Promise; }; export type ImporterAfterImportCallback = { - (data: IImportUser | IImportChannel | IImportMessage, type: string, isNewRecord: boolean): void; + (data: IImportUser | IImportChannel | IImportMessage, type: string, isNewRecord: boolean): Promise; }; export interface IConversionCallbacks { diff --git a/apps/meteor/ee/server/configuration/ldap.ts b/apps/meteor/ee/server/configuration/ldap.ts index c75878d9fd5..c2418b11d9f 100644 --- a/apps/meteor/ee/server/configuration/ldap.ts +++ b/apps/meteor/ee/server/configuration/ldap.ts @@ -88,12 +88,12 @@ Meteor.startup(() => callbacks.add( 'onLDAPLogin', - ({ user, ldapUser, isNewUser }: { user: IUser; ldapUser: ILDAPEntry; isNewUser: boolean }, ldap?: LDAPConnection) => { + async ({ user, ldapUser, isNewUser }: { user: IUser; ldapUser: ILDAPEntry; isNewUser: boolean }, ldap?: LDAPConnection) => { if (!ldap) { return; } - Promise.await(LDAPEEManager.advancedSyncForUser(ldap, user, isNewUser, ldapUser.dn)); + await LDAPEEManager.advancedSyncForUser(ldap, user, isNewUser, ldapUser.dn); }, callbacks.priority.MEDIUM, 'advancedLDAPSync', diff --git a/apps/meteor/ee/server/lib/ldap/Manager.ts b/apps/meteor/ee/server/lib/ldap/Manager.ts index 34d6ab43c6c..682e840a231 100644 --- a/apps/meteor/ee/server/lib/ldap/Manager.ts +++ b/apps/meteor/ee/server/lib/ldap/Manager.ts @@ -40,8 +40,8 @@ export class LDAPEEManager extends LDAPManager { } await converter.convertUsers({ - afterImportFn: ((data: IImportUser, _type: string, isNewRecord: boolean): void => - Promise.await(this.advancedSync(ldap, data, converter, isNewRecord))) as ImporterAfterImportCallback, + afterImportFn: (async (data: IImportUser, _type: string, isNewRecord: boolean): Promise => + this.advancedSync(ldap, data, converter, isNewRecord)) as ImporterAfterImportCallback, }); } catch (error) { logger.error(error); @@ -126,7 +126,7 @@ export class LDAPEEManager extends LDAPManager { converter: LDAPDataConverter, isNewRecord: boolean, ): Promise { - const user = converter.findExistingUser(importUser); + const user = await converter.findExistingUser(importUser); if (!user?.username) { return; } diff --git a/apps/meteor/server/configuration/ldap.ts b/apps/meteor/server/configuration/ldap.ts index 46a57613e9f..aed20b3b245 100644 --- a/apps/meteor/server/configuration/ldap.ts +++ b/apps/meteor/server/configuration/ldap.ts @@ -5,12 +5,12 @@ import { callbacks } from '../../lib/callbacks'; import { settings } from '../../app/settings/server'; // Register ldap login handler -Accounts.registerLoginHandler('ldap', function (loginRequest: Record) { +Accounts.registerLoginHandler('ldap', async function (loginRequest: Record) { if (!loginRequest.ldap || !loginRequest.ldapOptions) { return undefined; } - return Promise.await(LDAP.loginRequest(loginRequest.username, loginRequest.ldapPass)); + return LDAP.loginRequest(loginRequest.username, loginRequest.ldapPass); }); // Prevent password logins by LDAP users when LDAP is enabled diff --git a/apps/meteor/server/lib/ldap/DataConverter.ts b/apps/meteor/server/lib/ldap/DataConverter.ts index 862b28e7da6..097c628788c 100644 --- a/apps/meteor/server/lib/ldap/DataConverter.ts +++ b/apps/meteor/server/lib/ldap/DataConverter.ts @@ -18,9 +18,9 @@ export class LDAPDataConverter extends VirtualDataConverter { this.mergeExistingUsers = settings.get('LDAP_Merge_Existing_Users') ?? true; } - findExistingUser(data: IImportUser): IUser | undefined { + async findExistingUser(data: IImportUser): Promise { if (data.services?.ldap?.id) { - const importedUser = Promise.await(Users.findOneByLDAPId(data.services.ldap.id, data.services.ldap.idAttribute)); + const importedUser = await Users.findOneByLDAPId(data.services.ldap.id, data.services.ldap.idAttribute); if (importedUser) { return importedUser; }