@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
|
|
140
|
+
template: 'candidate-magic-link',
|
|
141
141
|
to: email,
|
|
142
|
-
from: process.env.
|
|
143
|
-
emailUser: process.env.
|
|
144
|
-
emailPassword: process.env.
|
|
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.
|
|
553
|
-
const emailPassword = process.env.
|
|
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
|
|
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
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
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({
|
|
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.
|
|
941
|
-
const emailPassword = process.env.
|
|
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
|
|
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: {
|