From d5c5495475d6b9ff282a830f272c1daf8390b62a Mon Sep 17 00:00:00 2001 From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com> Date: Tue, 28 Nov 2023 12:07:02 +0400 Subject: [PATCH] Fix bug with updating overwritten secrets --- .../src/controllers/v3/secretsController.ts | 40 ++++++++++--------- backend/src/validation/secrets.ts | 2 +- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/backend/src/controllers/v3/secretsController.ts b/backend/src/controllers/v3/secretsController.ts index c733da60c..040b16bdf 100644 --- a/backend/src/controllers/v3/secretsController.ts +++ b/backend/src/controllers/v3/secretsController.ts @@ -1116,25 +1116,27 @@ export const updateSecretByName = async (req: Request, res: Response) => { authData: req.authData }); - if ( - (secretReminderCron && existingSecret.secretReminderCron !== secretReminderCron) || - (secretReminderNote && existingSecret.secretReminderNote !== secretReminderNote) - ) { - await createReminder(existingSecret, { - _id: existingSecret._id, - secretReminderCron, - secretReminderNote, - workspace: existingSecret.workspace - }); - } else if ( - secretReminderCron === null && - secretReminderNote === null && - existingSecret.secretReminderCron - ) { - await deleteReminder({ - _id: existingSecret._id, - secretReminderCron: existingSecret.secretReminderCron - }); + if (secretReminderCron !== undefined) { + if ( + (secretReminderCron && existingSecret.secretReminderCron !== secretReminderCron) || + (secretReminderNote && existingSecret.secretReminderNote !== secretReminderNote) + ) { + await createReminder(existingSecret, { + _id: existingSecret._id, + secretReminderCron, + secretReminderNote, + workspace: existingSecret.workspace + }); + } else if ( + secretReminderCron === null && + secretReminderNote === null && + existingSecret.secretReminderCron + ) { + await deleteReminder({ + _id: existingSecret._id, + secretReminderCron: existingSecret.secretReminderCron + }); + } } } diff --git a/backend/src/validation/secrets.ts b/backend/src/validation/secrets.ts index 4ed23f546..283185853 100644 --- a/backend/src/validation/secrets.ts +++ b/backend/src/validation/secrets.ts @@ -368,7 +368,7 @@ export const UpdateSecretByNameV3 = z.object({ .trim() .optional() .nullable() - .refine((val) => val === null || (val && isValidCron(val))), + .refine((val) => val === null || val === undefined || (val && isValidCron(val))), secretReminderNote: z.string().trim().nullable().optional(), tags: z.string().array().optional(),