From 4df40a0c6bf423bba47257dce9bd96c312f3eb10 Mon Sep 17 00:00:00 2001
From: "thibaud.rimensbe" <thibaud.rimensbe@hes-so.ch>
Date: Mon, 14 Apr 2025 15:23:50 +0200
Subject: [PATCH] fix(creation qcm): ajout methode toJSON()

---
 .../frontend/src/app/classes/Fetch.ts         |  4 ++--
 .../frontend/src/app/classes/qcm/QcmData.ts   | 20 +++++++++++++++----
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/microservices/frontend/src/app/classes/Fetch.ts b/microservices/frontend/src/app/classes/Fetch.ts
index f28c3e37..d0b1a1e1 100644
--- a/microservices/frontend/src/app/classes/Fetch.ts
+++ b/microservices/frontend/src/app/classes/Fetch.ts
@@ -436,7 +436,7 @@ export class Fetch{
                 method: 'POST',
                 headers: this.headersObject,
                 body: JSON.stringify({
-                    qcm: JSON.stringify(qcmData),
+                    qcm: qcmData.toJSON(),
                     idUser: idUser,
                 })
             })
@@ -515,7 +515,7 @@ export class Fetch{
                 method: 'PUT',
                 headers: this.headersObject,
                 body: JSON.stringify({
-                    qcm: JSON.stringify(qcmData),
+                    qcm: qcmData.toJSON(),
                 })
             })
             .then(response => {
diff --git a/microservices/frontend/src/app/classes/qcm/QcmData.ts b/microservices/frontend/src/app/classes/qcm/QcmData.ts
index 90e9ef3b..b9f18483 100644
--- a/microservices/frontend/src/app/classes/qcm/QcmData.ts
+++ b/microservices/frontend/src/app/classes/qcm/QcmData.ts
@@ -1,9 +1,10 @@
 import { Question } from "./Question"
+import "tslib"
 
 export class QcmData{
     idQcm: number
     nomQcm: string
-    private _tempsMax: number
+    #tempsMax: number
     tempsStart: number
     randomQuestion: boolean
     questions : Question[]
@@ -13,16 +14,16 @@ export class QcmData{
         this.nomQcm = nomQcm
         this.questions = questions
         this.randomQuestion = randomQuestion
-        this._tempsMax = tempsMax
+        this.#tempsMax = tempsMax
         this.tempsStart = tempsStart
     }
 
     get tempsMax(): number {
-        return this._tempsMax / 60
+        return this.#tempsMax / 60
     }
 
     set tempsMax(value: number) {
-        this._tempsMax = value * 60
+        this.#tempsMax = value * 60
     }
 
     public delQuestion(q: Question): void{
@@ -30,4 +31,15 @@ export class QcmData{
             this.questions = this.questions.filter(choice => choice !== q);
         }
     }
+
+    toJSON() {
+        return {
+            idQcm: this.idQcm,
+            nomQcm: this.nomQcm,
+            tempsMax: this.tempsMax,
+            tempsStart: this.tempsStart,
+            randomQuestion: this.randomQuestion,
+            questions : this.questions,
+        };
+    }
 }
\ No newline at end of file
-- 
GitLab