Skip to content

Commit 2f8d3d1

Browse files
committed
feat: 1149 envoi mails confirmation agrement (retours revue)
1 parent 6fa0f0a commit 2f8d3d1

4 files changed

Lines changed: 16 additions & 17 deletions

File tree

packages/backend/src/usagers/agrements/agrements.mail.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export const AgrementMailUsagers = {
5959
regionDreets,
6060
}: {
6161
email: string[];
62-
regionDreets: string;
62+
regionDreets: string | null;
6363
}) => {
6464
log.i("sendStatutCompletudeMail - In", { email });
6565
if (!email) {
@@ -74,7 +74,7 @@ export const AgrementMailUsagers = {
7474
{
7575
p: [
7676
"Bonjour,",
77-
`Votre demande de renouvellement d’agrément a été examinée par la DREETS ${regionDreets}.`,
77+
`Votre demande de renouvellement d’agrément a été examinée par la DREETS ${regionDreets || "compétente"}.`,
7878
"Conformément à la réglementation, l’administration dispose d’un délai de 2 mois pour instruire votre dossier et rendre une décision (ce délai est géré par la DREETS).",
7979
`À défaut de décision dans ce délai, votre agrément sera réputé accordé (règle du "silence vaut accord"). La décision implicite d’acceptation du dossier ne court qu'à compter du moment où l’ensemble des pièces sont fournies par l’OVA.`,
8080
"Vous pouvez suivre l’avancement de votre demande à tout moment depuis votre espace sur le portail VAO :",

packages/backend/src/usagers/agrements/agrements.service.ts

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ import type {
22
ActiviteDto,
33
AgrementDto,
44
AgrementMessage,
5+
OrganismeDto,
56
} from "@vao/shared-bridge";
67
import {
78
addYears,
89
AGREMENT_HISTORY_TYPE,
910
AGREMENT_STATUT,
11+
ORGANISME_TYPE,
1012
} from "@vao/shared-bridge";
1113

1214
import { AgrementMailAdmin } from "../../admin/agrements/agrements.mail";
@@ -210,17 +212,20 @@ export const AgrementService = {
210212
let emailRegion: string | null = null;
211213

212214
try {
213-
const organisme = await Organisme.getOne({
215+
const organisme: OrganismeDto | null = await Organisme.getOne({
214216
"o.id": agrement.organismeId,
215217
});
216-
if (
217-
organisme.typeOrganisme === "personne_morale" &&
218+
219+
if (!organisme) {
220+
log.w(`Organisme introuvable pour agrementId=${agrementId}`);
221+
} else if (
222+
organisme.typeOrganisme === ORGANISME_TYPE.PERSONNE_MORALE &&
218223
organisme.personneMorale
219224
) {
220225
organismeName = organisme.personneMorale.raisonSociale || "";
221226
siret = organisme.personneMorale.siret || "";
222227
} else if (
223-
organisme.typeOrganisme === "personne_physique" &&
228+
organisme.typeOrganisme === ORGANISME_TYPE.PERSONNE_PHYSIQUE &&
224229
organisme.personnePhysique
225230
) {
226231
organismeName =
@@ -236,17 +241,6 @@ export const AgrementService = {
236241
nomObtentionRegion = region.text;
237242
emailRegion = await getEmailRegion(codeObtentionRegion);
238243
}
239-
if (!organisme) {
240-
log.w(`Organisme introuvable pour agrementId=${agrementId}`);
241-
} else if (!codeObtentionRegion) {
242-
log.w(
243-
`Région introuvable pour codeObtentionRegion=${codeObtentionRegion}`,
244-
);
245-
} else if (!emailRegion) {
246-
log.w(
247-
`Email de région manquant pour codeObtentionRegion=${codeObtentionRegion}`,
248-
);
249-
}
250244
} catch (e) {
251245
log.w(
252246
"Impossible d'envoyer l'email à la région : informations manquantes ou erreur lors de la récupération. AgrementId=" +

packages/shared-bridge/src/constantes/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ export * from "./demandeSejour";
44
export * from "./errors";
55
export * from "./featureFlags";
66
export * from "./file";
7+
export * from "./organisme";
78
export * from "./tracking";
89
export * from "./users";
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export enum ORGANISME_TYPE {
2+
PERSONNE_MORALE = "personne_morale",
3+
PERSONNE_PHYSIQUE = "personne_physique",
4+
}

0 commit comments

Comments
 (0)