Skip to content

Commit feab3b5

Browse files
committed
feat(api): implement sending dropout canceled email to AAP
1 parent cb3b769 commit feab3b5

File tree

1 file changed

+26
-13
lines changed

1 file changed

+26
-13
lines changed

packages/reva-api/modules/candidacy/features/updateCandidateCandidacyDropoutDecision.ts

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { logCandidacyAuditEvent } from "@/modules/candidacy-log/features/logCandidacyAuditEvent";
2+
import { getBackofficeUrl } from "@/modules/shared/email";
23
import { prismaClient } from "@/prisma/client";
34

5+
import { sendCandidacyDropOutCanceledEmailToAap } from "../emails/sendCandidacyDropOutCanceledEmailToAap";
46
import { sendCandidacyDropOutConfirmedEmailToAap } from "../emails/sendCandidacyDropOutConfirmedEmailToAap";
57
import { sendCandidacyDropOutConfirmedEmailToCandidate } from "../emails/sendCandidacyDropOutConfirmedEmailToCandidate";
68

@@ -44,6 +46,17 @@ export const updateCandidateCandidacyDropoutDecision = async ({
4446
"La décision d'abandon a déjà été confirmée automatiquement",
4547
);
4648
}
49+
const aapEmail =
50+
dropOut.candidacy?.organism?.emailContact ||
51+
dropOut.candidacy?.organism?.contactAdministrativeEmail;
52+
53+
const aapLabel =
54+
dropOut.candidacy.organism?.nomPublic || dropOut.candidacy.organism?.label;
55+
56+
const candidateFullName =
57+
dropOut.candidacy.candidate?.firstname +
58+
" " +
59+
dropOut.candidacy.candidate?.lastname;
4760

4861
if (dropOutConfirmed) {
4962
const candidacy = await prismaClient.candidacy.update({
@@ -58,19 +71,6 @@ export const updateCandidateCandidacyDropoutDecision = async ({
5871
...userInfo,
5972
});
6073

61-
const aapEmail =
62-
dropOut.candidacy?.organism?.emailContact ||
63-
dropOut.candidacy?.organism?.contactAdministrativeEmail;
64-
65-
const aapLabel =
66-
dropOut.candidacy.organism?.nomPublic ||
67-
dropOut.candidacy.organism?.label;
68-
69-
const candidateFullName =
70-
dropOut.candidacy.candidate?.firstname +
71-
" " +
72-
dropOut.candidacy.candidate?.lastname;
73-
7474
if (aapEmail && aapLabel) {
7575
await sendCandidacyDropOutConfirmedEmailToAap({
7676
aapEmail,
@@ -100,6 +100,19 @@ export const updateCandidateCandidacyDropoutDecision = async ({
100100
eventType: "CANDIDACY_DROPOUT_CANCELED_BY_CANDIDATE",
101101
...userInfo,
102102
});
103+
104+
const candidacyUrl = getBackofficeUrl({
105+
path: `/candidacies/${candidacyId}/summary`,
106+
});
107+
if (aapEmail) {
108+
await sendCandidacyDropOutCanceledEmailToAap({
109+
aapEmail,
110+
aapLabel: aapLabel || "",
111+
candidateFullName,
112+
candidacyUrl,
113+
});
114+
}
115+
103116
return candidacy;
104117
}
105118
};

0 commit comments

Comments
 (0)