feat: resolved failing testcases

This commit is contained in:
=
2024-07-24 13:31:38 +05:30
parent 857de5c4b5
commit 5564461294
5 changed files with 98 additions and 17 deletions

View File

@ -40,8 +40,8 @@
"type:check": "tsc --noEmit",
"lint:fix": "eslint --fix --ext js,ts ./src",
"lint": "eslint 'src/**/*.ts'",
"test:e2e": "vitest run -c vitest.e2e.config.ts",
"test:e2e-watch": "vitest -c vitest.e2e.config.ts",
"test:e2e": "vitest run -c vitest.e2e.config.ts --bail=1",
"test:e2e-watch": "vitest -c vitest.e2e.config.ts --bail=<value>",
"test:e2e-coverage": "vitest run --coverage -c vitest.e2e.config.ts",
"generate:component": "tsx ./scripts/create-backend-file.ts",
"generate:schema": "tsx ./scripts/generate-schema-types.ts",

View File

@ -136,7 +136,6 @@ export const fnSecretBulkUpdate = async ({
encryptedValue,
userId,
encryptedComment,
version,
metadata,
reminderNote,
reminderRepeatDays
@ -149,7 +148,6 @@ export const fnSecretBulkUpdate = async ({
key,
userId,
encryptedComment,
version,
metadata,
reminderNote,
encryptedValue,

View File

@ -370,12 +370,12 @@ export const secretV2BridgeServiceFactory = ({
if (!folder)
throw new BadRequestError({
message: "Folder not found for the given environment slug & secret path",
name: "Create secret"
name: "Delete secret"
});
const folderId = folder.id;
if (ActorType.USER !== actor && inputSecret.type === SecretType.Personal) {
throw new BadRequestError({ message: "Must be user to create personal secret" });
throw new BadRequestError({ message: "Must be user to delete personal secret" });
}
const deletedSecret = await secretDAL.transaction(async (tx) =>

View File

@ -547,10 +547,51 @@ export const fnSecretBulkInsert = async ({
secretVersionTagDAL,
tx
}: TFnSecretBulkInsert) => {
const newSecrets = await secretDAL.insertMany(
inputSecrets.map(({ tags, references, ...el }) => ({ ...el, folderId })),
tx
const sanitizedInputSecrets = inputSecrets.map(
({
skipMultilineEncoding,
type,
userId,
version,
metadata,
algorithm,
secretKeyIV,
secretKeyTag,
secretValueIV,
keyEncoding,
secretValueTag,
secretCommentIV,
secretBlindIndex,
secretCommentTag,
secretKeyCiphertext,
secretReminderNote,
secretValueCiphertext,
secretCommentCiphertext,
secretReminderRepeatDays
}) => ({
skipMultilineEncoding,
folderId,
type,
userId,
version,
metadata,
algorithm,
secretKeyIV,
secretKeyTag,
secretValueIV,
keyEncoding,
secretValueTag,
secretCommentIV,
secretBlindIndex,
secretCommentTag,
secretKeyCiphertext,
secretReminderNote,
secretValueCiphertext,
secretCommentCiphertext,
secretReminderRepeatDays
})
);
const newSecrets = await secretDAL.insertMany(sanitizedInputSecrets, tx);
const newSecretGroupByBlindIndex = groupBy(newSecrets, (item) => item.secretBlindIndex as string);
const newSecretTags = inputSecrets.flatMap(({ tags: secretTags = [], secretBlindIndex }) =>
secretTags.map((tag) => ({
@ -559,9 +600,8 @@ export const fnSecretBulkInsert = async ({
}))
);
const secretVersions = await secretVersionDAL.insertMany(
inputSecrets.map(({ tags, references, ...el }) => ({
sanitizedInputSecrets.map((el) => ({
...el,
folderId,
secretId: newSecretGroupByBlindIndex[el.secretBlindIndex as string][0].id
})),
tx
@ -596,13 +636,55 @@ export const fnSecretBulkUpdate = async ({
secretTagDAL,
secretVersionTagDAL
}: TFnSecretBulkUpdate) => {
const newSecrets = await secretDAL.bulkUpdate(
inputSecrets.map(({ filter, data: { tags, references, ...data } }) => ({
const sanitizedInputSecrets = inputSecrets.map(
({
filter,
data: {
skipMultilineEncoding,
type,
userId,
metadata,
algorithm,
secretKeyIV,
secretKeyTag,
secretValueIV,
keyEncoding,
secretValueTag,
secretCommentIV,
secretBlindIndex,
secretCommentTag,
secretKeyCiphertext,
secretReminderNote,
secretValueCiphertext,
secretCommentCiphertext,
secretReminderRepeatDays
}
}) => ({
filter: { ...filter, folderId },
data
})),
tx
data: {
skipMultilineEncoding,
type,
userId,
metadata,
algorithm,
secretKeyIV,
secretKeyTag,
secretValueIV,
keyEncoding,
secretValueTag,
secretCommentIV,
secretBlindIndex,
secretCommentTag,
secretKeyCiphertext,
secretReminderNote,
secretValueCiphertext,
secretCommentCiphertext,
secretReminderRepeatDays
}
})
);
const newSecrets = await secretDAL.bulkUpdate(sanitizedInputSecrets, tx);
const secretVersions = await secretVersionDAL.insertMany(
newSecrets.map(({ id, createdAt, updatedAt, ...el }) => ({
...el,
@ -811,7 +893,7 @@ export const createManySecretsRawFnFactory = ({
const newSecrets = await secretDAL.transaction(async (tx) =>
fnSecretBulkInsert({
inputSecrets: inputSecrets.map(({ secretName, ...el }) => ({
inputSecrets: inputSecrets.map(({ secretName, tags: _, ...el }) => ({
...el,
version: 0,
secretBlindIndex: keyName2BlindIndex[secretName],

View File

@ -1675,6 +1675,7 @@ export const secretServiceFactory = ({
});
return { type: SecretProtectionType.Approval as const, approval };
}
const secrets = await createManySecret({
projectId,
environment,