From 36a4bf73a608ea93469012ca381cdfcbd603e13a Mon Sep 17 00:00:00 2001 From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com> Date: Mon, 29 Jan 2024 15:10:55 +0400 Subject: [PATCH] Types --- .../secret-approval-request-service.ts | 38 +++++++++++++++---- backend/src/server/routes/v2/mfa-router.ts | 8 +++- backend/src/server/routes/v3/login-router.ts | 6 +-- 3 files changed, 41 insertions(+), 11 deletions(-) diff --git a/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts b/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts index 9680a6271d..81be863047 100644 --- a/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts +++ b/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts @@ -269,7 +269,14 @@ export const secretApprovalRequestServiceFactory = ({ const { secsGroupedByBlindIndex: conflictGroupByBlindIndex } = await secretService.fnSecretBlindIndexCheckV2({ folderId, - inputSecrets: secretCreationCommits.map(({ secretBlindIndex }) => ({ secretBlindIndex })) + inputSecrets: secretCreationCommits.map(({ secretBlindIndex }) => { + if (!secretBlindIndex) { + throw new BadRequestError({ + message: "Missing secret blind index" + }); + } + return { secretBlindIndex }; + }) }); secretCreationCommits .filter(({ secretBlindIndex }) => conflictGroupByBlindIndex[secretBlindIndex || ""]) @@ -291,7 +298,14 @@ export const secretApprovalRequestServiceFactory = ({ ({ secretBlindIndex, secret }) => secret && secret.secretBlindIndex !== secretBlindIndex ) - .map(({ secretBlindIndex }) => ({ secretBlindIndex })) + .map(({ secretBlindIndex }) => { + if (!secretBlindIndex) { + throw new BadRequestError({ + message: "Missing secret blind index" + }); + } + return { secretBlindIndex }; + }) }); secretUpdationCommits .filter( @@ -381,10 +395,14 @@ export const secretApprovalRequestServiceFactory = ({ folderId, tx, actorId: "", - inputSecrets: secretDeletionCommits.map(({ secretBlindIndex }) => ({ - secretBlindIndex, - type: SecretType.Shared - })) + inputSecrets: secretDeletionCommits.map(({ secretBlindIndex }) => { + if (!secretBlindIndex) { + throw new BadRequestError({ + message: "Missing secret blind index" + }); + } + return { secretBlindIndex, type: SecretType.Shared }; + }) }) : []; const updatedSecretApproval = await secretApprovalRequestDAL.updateById( @@ -638,7 +656,13 @@ export const secretApprovalRequestServiceFactory = ({ ), tx ); - const commitsGroupByBlindIndex = groupBy(approvalCommits, (i) => i.secretBlindIndex); + + const commitsGroupByBlindIndex = groupBy(approvalCommits, (i) => { + if (!i.secretBlindIndex) { + throw new BadRequestError({ message: "Missing secret blind index" }); + } + return i.secretBlindIndex; + }); if (tagIds.length) { await secretApprovalRequestSecretDAL.insertApprovalSecretTags( Object.keys(commitTagIds).flatMap((blindIndex) => diff --git a/backend/src/server/routes/v2/mfa-router.ts b/backend/src/server/routes/v2/mfa-router.ts index 6efda72213..02006a4704 100644 --- a/backend/src/server/routes/v2/mfa-router.ts +++ b/backend/src/server/routes/v2/mfa-router.ts @@ -86,7 +86,13 @@ export const registerMfaRouter = async (server: FastifyZodProvider) => { secure: appCfg.HTTPS_ENABLED }); - return { token: token.access, ...user }; + return { + ...user, + token: token.access, + protectedKey: user.protectedKey || null, + protectedKeyIV: user.protectedKeyIV || null, + protectedKeyTag: user.protectedKeyTag || null + }; } }); }; diff --git a/backend/src/server/routes/v3/login-router.ts b/backend/src/server/routes/v3/login-router.ts index 22d7b8be74..1c513c183c 100644 --- a/backend/src/server/routes/v3/login-router.ts +++ b/backend/src/server/routes/v3/login-router.ts @@ -96,9 +96,9 @@ export const registerLoginRouter = async (server: FastifyZodProvider) => { encryptedPrivateKey: data.user.encryptedPrivateKey, iv: data.user.iv, tag: data.user.tag, - protectedKey: data.user.protectedKey, - protectedKeyIV: data.user.protectedKeyIV, - protectedKeyTag: data.user.protectedKeyTag + protectedKey: data.user.protectedKey || null, + protectedKeyIV: data.user.protectedKeyIV || null, + protectedKeyTag: data.user.protectedKeyTag || null } as const; } });