Skip to content

Commit b272375

Browse files
authored
fix: ajout de messages d'erreurs et gestion correcte des erreurs (#2344)
1 parent 41bf43d commit b272375

File tree

2 files changed

+41
-15
lines changed

2 files changed

+41
-15
lines changed

server/src/services/etablissement.service.ts

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -658,6 +658,7 @@ export const entrepriseOnboardingWorkflow = {
658658
naf_label: "naf_label" in siretResponse ? siretResponse.naf_label : undefined,
659659
naf_code: "naf_code" in siretResponse ? siretResponse.naf_code : undefined,
660660
}
661+
661662
if (existingFormulaire) {
662663
const result = await getDbCollection("recruiters").findOneAndUpdate(
663664
{ cfa_delegated_siret, establishment_siret: siret },
@@ -668,22 +669,48 @@ export const entrepriseOnboardingWorkflow = {
668669
},
669670
}
670671
)
672+
671673
if (!result) {
672-
throw new Error(`inattendu: recruiter introuvable`)
674+
const err = new Error("inattendu: recruiter introuvable lors de l'édition du compte par un CFA")
675+
sentryCaptureException(err)
676+
return {
677+
error: true,
678+
message: "Une erreur est survenue lors de l'édition du compte. Merci de contacter le support.",
679+
errorCode: BusinessErrorCodes.UNKNOWN,
680+
}
673681
}
674682
return result
675683
} else {
676-
const formulaireInfo = await createFormulaire(
677-
{
678-
...entrepriseToRecruiter(entreprise),
679-
...updatedFields,
680-
jobs: [],
681-
cfa_delegated_siret,
682-
origin,
683-
},
684-
managedBy
685-
)
686-
return formulaireInfo
684+
try {
685+
const formulaireInfo = await createFormulaire(
686+
{
687+
...entrepriseToRecruiter(entreprise),
688+
...updatedFields,
689+
jobs: [],
690+
cfa_delegated_siret,
691+
origin,
692+
},
693+
managedBy
694+
)
695+
696+
return formulaireInfo
697+
} catch (err: any) {
698+
sentryCaptureException(err)
699+
700+
if (err.message?.includes("duplicate key error")) {
701+
return {
702+
error: true,
703+
message: "Un compte est déjà associé à ce couple email/siret.",
704+
errorCode: BusinessErrorCodes.EMAIL_ALREADY_EXISTS,
705+
}
706+
}
707+
708+
return {
709+
error: true,
710+
message: "Une erreur est survenue lors de la création du compte. Merci de contacter le support.",
711+
errorCode: BusinessErrorCodes.UNKNOWN,
712+
}
713+
}
687714
}
688715
},
689716
}

ui/app/(espace-pro)/espace-pro/(connected)/cfa/creation-entreprise/[siret]/page.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,8 @@ const Formulaire = ({ siret: establishment_siret }: { siret: string }) => {
3535
})
3636
router.push(PAGES.dynamic.backCfaEntrepriseCreationOffre(data.establishment_id).getPath())
3737
})
38-
.catch(({ response }) => {
39-
const payload: { error: string; statusCode: number; message: string } = response.data as any
40-
setFieldError("email", payload.message)
38+
.catch((err) => {
39+
setFieldError("email", err.message)
4140
setSubmitting(false)
4241
})
4342
}

0 commit comments

Comments
 (0)