requested changes & edge cases

This commit is contained in:
Daniel Hougaard
2025-04-26 05:19:02 +04:00
parent 9ea6eca560
commit e7783fe6cc
13 changed files with 127 additions and 17 deletions
@@ -396,6 +396,7 @@ export const decryptSecretRaw = (
id: secret.id,
user: secret.userId,
tags: secret.tags?.map((el) => ({ ...el, name: el.slug })),
secretReminderRecipients: [],
skipMultilineEncoding: secret.skipMultilineEncoding,
secretReminderRepeatDays: secret.secretReminderRepeatDays,
secretReminderNote: secret.secretReminderNote,
+14 -2
View File
@@ -259,6 +259,8 @@ export const secretQueueFactory = ({
});
}
const existingRecipients = await secretReminderRecipientsDAL.findUsersBySecretId(newSecret.id);
if (recipients?.length) {
await secretReminderRecipientsDAL.transaction(async (tx) => {
await secretReminderRecipientsDAL.delete({ secretId: newSecret.id }, tx);
@@ -271,6 +273,8 @@ export const secretQueueFactory = ({
tx
);
});
} else if (existingRecipients) {
await secretReminderRecipientsDAL.delete({ secretId: newSecret.id });
}
await queueService.queue(
@@ -306,12 +310,20 @@ export const secretQueueFactory = ({
};
const handleSecretReminder = async ({ newSecret, oldSecret, projectId }: THandleReminderDTO) => {
const { secretReminderRepeatDays, secretReminderNote } = newSecret;
const { secretReminderRepeatDays, secretReminderNote, secretReminderRecipients } = newSecret;
const recipientsUpdated =
secretReminderRecipients?.some(
(newId) => !oldSecret.secretReminderRecipients?.find((oldId) => newId === oldId)
) ||
(secretReminderRecipients?.length !== oldSecret.secretReminderRecipients?.length &&
secretReminderRepeatDays !== null);
if (newSecret.type !== SecretType.Personal && secretReminderRepeatDays !== undefined) {
if (
(secretReminderRepeatDays && oldSecret.secretReminderRepeatDays !== secretReminderRepeatDays) ||
(secretReminderNote && oldSecret.secretReminderNote !== secretReminderNote)
(secretReminderNote && oldSecret.secretReminderNote !== secretReminderNote) ||
recipientsUpdated
) {
await addSecretReminder({
oldSecret,
@@ -685,6 +685,7 @@ export const secretServiceFactory = ({
...secret,
workspace: projectId,
environment,
secretReminderRecipients: [],
secretPath: groupedPaths[secret.folderId][0].path
}))
};