fix(secrets-api): deletion of secret reminders on secret delete

This commit is contained in:
Daniel Hougaard
2024-12-16 15:53:56 +01:00
parent 9cd0dc8970
commit c00f6601bd
+30 -8
View File
@@ -491,8 +491,8 @@ export const secretServiceFactory = ({
secretDAL secretDAL
}); });
const deletedSecret = await secretDAL.transaction(async (tx) => const deletedSecret = await secretDAL.transaction(async (tx) => {
fnSecretBulkDelete({ const secrets = await fnSecretBulkDelete({
projectId, projectId,
folderId, folderId,
actorId, actorId,
@@ -505,8 +505,19 @@ export const secretServiceFactory = ({
} }
], ],
tx tx
}) });
);
for await (const secret of secrets) {
if (secret.secretReminderRepeatDays !== null && secret.secretReminderRepeatDays !== undefined) {
await secretQueueService.removeSecretReminder({
repeatDays: secret.secretReminderRepeatDays,
secretId: secret.id
});
}
}
return secrets;
});
if (inputSecret.type === SecretType.Shared) { if (inputSecret.type === SecretType.Shared) {
await snapshotService.performSnapshot(folderId); await snapshotService.performSnapshot(folderId);
@@ -971,8 +982,8 @@ export const secretServiceFactory = ({
secretDAL secretDAL
}); });
const secretsDeleted = await secretDAL.transaction(async (tx) => const secretsDeleted = await secretDAL.transaction(async (tx) => {
fnSecretBulkDelete({ const secrets = await fnSecretBulkDelete({
secretDAL, secretDAL,
secretQueueService, secretQueueService,
inputSecrets: inputSecrets.map(({ type, secretName }) => ({ inputSecrets: inputSecrets.map(({ type, secretName }) => ({
@@ -983,8 +994,19 @@ export const secretServiceFactory = ({
folderId, folderId,
actorId, actorId,
tx tx
}) });
);
for await (const secret of secrets) {
if (secret.secretReminderRepeatDays !== null && secret.secretReminderRepeatDays !== undefined) {
await secretQueueService.removeSecretReminder({
repeatDays: secret.secretReminderRepeatDays,
secretId: secret.id
});
}
}
return secrets;
});
await snapshotService.performSnapshot(folderId); await snapshotService.performSnapshot(folderId);
await secretQueueService.syncSecrets({ await secretQueueService.syncSecrets({