From bbad1819d26ee3a313f3d51e3aeca4d2c65cbeb0 Mon Sep 17 00:00:00 2001 From: Reinaldo Neto Date: Mon, 28 Feb 2022 19:57:11 -0300 Subject: [PATCH 1/2] Chore: Migrate REST API - e2eGetUsersOfRoomWithoutKey to Typescript --- app/definitions/rest/v1/e2e.ts | 8 ++++++++ app/lib/encryption/room.ts | 4 ++-- app/lib/rocketchat/services/restApi.ts | 4 +--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/definitions/rest/v1/e2e.ts b/app/definitions/rest/v1/e2e.ts index 4e41ef56219..b88ff6bc8c5 100644 --- a/app/definitions/rest/v1/e2e.ts +++ b/app/definitions/rest/v1/e2e.ts @@ -1,5 +1,13 @@ +import { IUser } from '../../IUser'; + export type E2eEndpoints = { 'e2e.setUserPublicAndPrivateKeys': { POST: (params: { public_key: string; private_key: string }) => void; }; + 'e2e.getUsersOfRoomWithoutKey': { + GET: (params: { rid: string }) => { + users: Pick[]; + success: boolean; + }; + }; }; diff --git a/app/lib/encryption/room.ts b/app/lib/encryption/room.ts index a68ccc49fc6..ee3519207a1 100644 --- a/app/lib/encryption/room.ts +++ b/app/lib/encryption/room.ts @@ -158,12 +158,12 @@ export default class EncryptionRoom { const result = await RocketChat.e2eGetUsersOfRoomWithoutKey(this.roomId); if (result.success) { const { users } = result; - await Promise.all(users.map((user: IUser) => this.encryptRoomKeyForUser(user))); + await Promise.all(users.map(user => this.encryptRoomKeyForUser(user))); } }; // Encrypt the room key to each user in - encryptRoomKeyForUser = async (user: IUser) => { + encryptRoomKeyForUser = async (user: Pick) => { if (user?.e2e?.public_key) { const { public_key: publicKey } = user.e2e; const userKey = await SimpleCrypto.RSA.importKey(EJSON.parse(publicKey)); diff --git a/app/lib/rocketchat/services/restApi.ts b/app/lib/rocketchat/services/restApi.ts index b24129af5f2..c150333d963 100644 --- a/app/lib/rocketchat/services/restApi.ts +++ b/app/lib/rocketchat/services/restApi.ts @@ -43,10 +43,8 @@ export const e2eRequestSubscriptionKeys = (): any => // RC 0.72.0 sdk.methodCallWrapper('e2e.requestSubscriptionKeys'); -export const e2eGetUsersOfRoomWithoutKey = (rid: string): any => +export const e2eGetUsersOfRoomWithoutKey = (rid: string) => // RC 0.70.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('e2e.getUsersOfRoomWithoutKey', { rid }); export const e2eSetRoomKeyID = (rid: string, keyID: string): any => From 154ce6ef09a426b7852ab0bab08e5b9fd1a847cc Mon Sep 17 00:00:00 2001 From: Reinaldo Neto <47038980+reinaldonetof@users.noreply.github.com> Date: Wed, 2 Mar 2022 15:22:59 -0300 Subject: [PATCH 2/2] Update app/definitions/rest/v1/e2e.ts Co-authored-by: Gleidson Daniel Silva --- app/definitions/rest/v1/e2e.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/app/definitions/rest/v1/e2e.ts b/app/definitions/rest/v1/e2e.ts index b88ff6bc8c5..b62f312f504 100644 --- a/app/definitions/rest/v1/e2e.ts +++ b/app/definitions/rest/v1/e2e.ts @@ -7,7 +7,6 @@ export type E2eEndpoints = { 'e2e.getUsersOfRoomWithoutKey': { GET: (params: { rid: string }) => { users: Pick[]; - success: boolean; }; }; };