diff --git a/backend/src/controllers/v3/secretsController.ts b/backend/src/controllers/v3/secretsController.ts index 297976aca..c733da60c 100644 --- a/backend/src/controllers/v3/secretsController.ts +++ b/backend/src/controllers/v3/secretsController.ts @@ -1138,6 +1138,38 @@ export const updateSecretByName = async (req: Request, res: Response) => { } } + if (type !== "personal") { + const existingSecret = await SecretService.getSecret({ + secretName, + workspaceId: new Types.ObjectId(workspaceId), + environment, + type, + secretPath, + 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 + }); + } + } + const secret = await SecretService.updateSecret({ secretName, workspaceId: new Types.ObjectId(workspaceId), diff --git a/backend/src/helpers/reminder.ts b/backend/src/helpers/reminder.ts index 0497df126..aebb8cbd4 100644 --- a/backend/src/helpers/reminder.ts +++ b/backend/src/helpers/reminder.ts @@ -1,9 +1,9 @@ +import { ISecret } from "../models"; import { createSecretReminderCron, deleteSecretReminderCron, updateSecretReminderCron } from "../queues/reminders/sendSecretReminders"; -import { ISecret } from "../models"; type TPartialSecret = Pick< ISecret, diff --git a/backend/src/queues/reminders/sendSecretReminders.ts b/backend/src/queues/reminders/sendSecretReminders.ts index b8c2d5207..6ec117b78 100644 --- a/backend/src/queues/reminders/sendSecretReminders.ts +++ b/backend/src/queues/reminders/sendSecretReminders.ts @@ -1,7 +1,7 @@ -import { Types } from "mongoose"; -import { sendMail } from "../../helpers"; import Queue, { Job } from "bull"; import { IUser, Membership, Organization, Workspace } from "../../models"; +import { Types } from "mongoose"; +import { sendMail } from "../../helpers"; type TSendSecretReminders = { workspaceId: string;