@programisto/edrm-exams 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -137,11 +137,11 @@ class CandidateRouter extends EnduranceRouter {
137
137
  // Envoyer l'email avec le lien magique
138
138
  const magicLink = `${process.env.CANDIDATE_MAGIC_LINK}${token}`;
139
139
  await enduranceEmitter.emit(enduranceEventTypes.SEND_EMAIL, {
140
- template: 'candidate-magic-link-turing',
140
+ template: 'candidate-magic-link',
141
141
  to: email,
142
- from: process.env.EMAIL_USER_TURING,
143
- emailUser: process.env.EMAIL_USER_TURING,
144
- emailPassword: process.env.EMAIL_PASSWORD_TURING,
142
+ from: process.env.EMAIL_USER,
143
+ emailUser: process.env.EMAIL_USER,
144
+ emailPassword: process.env.EMAIL_PASSWORD,
145
145
  data: {
146
146
  magicLink
147
147
  }
@@ -549,14 +549,13 @@ class ExamsRouter extends EnduranceRouter {
549
549
  // Construire le lien d'invitation
550
550
  const testLink = process.env.TEST_INVITATION_LINK || '';
551
551
  // Récupérer les credentials d'envoi
552
- const emailUser = process.env.EMAIL_USER_TURING;
553
- const emailPassword = process.env.EMAIL_PASSWORD_TURING;
552
+ const emailUser = process.env.EMAIL_USER;
553
+ const emailPassword = process.env.EMAIL_PASSWORD;
554
554
  // Envoyer l'email via l'event emitter
555
555
  await emitter.emit(eventTypes.SEND_EMAIL, {
556
- template: 'test-invitation-turing',
556
+ template: 'test-invitation',
557
557
  to: email,
558
558
  from: emailUser,
559
- subject: 'Vous êtes invité à passer un test technique - École de Turing',
560
559
  emailUser,
561
560
  emailPassword,
562
561
  data: {
@@ -822,14 +821,36 @@ class ExamsRouter extends EnduranceRouter {
822
821
  expertiseLevel: categoryInfo.expertiseLevel,
823
822
  otherQuestions: otherQuestions.map(question => question.instruction).join('\n')
824
823
  }, true);
825
- const question = new TestQuestion(JSON.parse(generatedQuestion));
826
- await question.save();
827
- generatedQuestions.push(question);
828
- test.questions.push({ questionId: question._id, order: test.questions.length });
824
+ // Vérifier si la réponse est un JSON valide
825
+ if (generatedQuestion === 'Brain freezed, I cannot generate a live message right now.') {
826
+ console.error('Échec de génération de question pour la catégorie:', categoryDoc.name);
827
+ continue; // Passer à la question suivante
828
+ }
829
+ try {
830
+ const question = new TestQuestion(JSON.parse(generatedQuestion));
831
+ await question.save();
832
+ generatedQuestions.push(question);
833
+ test.questions.push({ questionId: question._id, order: test.questions.length });
834
+ }
835
+ catch (parseError) {
836
+ console.error('Erreur lors du parsing de la question générée:', parseError);
837
+ console.error('Réponse reçue:', generatedQuestion);
838
+ continue; // Passer à la question suivante
839
+ }
829
840
  }
830
841
  }
842
+ // Vérifier qu'au moins une question a été générée
843
+ if (generatedQuestions.length === 0) {
844
+ return res.status(500).json({
845
+ message: 'Aucune question n\'a pu être générée. Veuillez réessayer plus tard.'
846
+ });
847
+ }
831
848
  await test.save();
832
- res.status(200).json({ message: 'Questions générées avec succès', questions: generatedQuestions, test });
849
+ res.status(200).json({
850
+ message: `${generatedQuestions.length} question(s) générée(s) avec succès`,
851
+ questions: generatedQuestions,
852
+ test
853
+ });
833
854
  }
834
855
  catch (err) {
835
856
  console.error('Erreur lors de la génération des questions : ', err);
@@ -937,16 +958,15 @@ class ExamsRouter extends EnduranceRouter {
937
958
  return res.status(404).json({ message: 'Test not found' });
938
959
  }
939
960
  const email = candidate.email;
940
- const emailUser = process.env.EMAIL_USER_TURING;
941
- const emailPassword = process.env.EMAIL_PASSWORD_TURING;
961
+ const emailUser = process.env.EMAIL_USER;
962
+ const emailPassword = process.env.EMAIL_PASSWORD;
942
963
  // Construire le lien d'invitation
943
964
  const testLink = process.env.TEST_INVITATION_LINK || '';
944
965
  // Envoyer l'email via l'event emitter
945
966
  await emitter.emit(eventTypes.SEND_EMAIL, {
946
- template: 'test-invitation-turing',
967
+ template: 'test-invitation',
947
968
  to: email,
948
969
  from: emailUser,
949
- subject: 'Vous êtes invité à passer un test technique - École de Turing',
950
970
  emailUser,
951
971
  emailPassword,
952
972
  data: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@programisto/edrm-exams",
4
- "version": "0.2.2",
4
+ "version": "0.2.4",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },