From 64de6e1198291e94832f08044378073b259af75f Mon Sep 17 00:00:00 2001
From: Bastien DUMONT <bdumont@grandlyon.com>
Date: Wed, 21 Sep 2022 10:04:20 +0200
Subject: [PATCH] try erorr before logging it

---
 src/core/contractActivation.js   | 10 ++++++----
 src/core/contractVerification.js | 10 ++++++----
 src/core/findUserPdl.js          |  6 ++++++
 3 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/src/core/contractActivation.js b/src/core/contractActivation.js
index a1d05db..8c1370b 100644
--- a/src/core/contractActivation.js
+++ b/src/core/contractActivation.js
@@ -58,10 +58,12 @@ async function activateContract(
     return parseServiceId(parsedReply)
   } catch (error) {
     log('error', 'Error while activating contract: ' + error)
-    log(
-      'error',
-      `Enedis issue ${parsedReply.Envelope.Body.Fault.detail.erreur.resultat.$.code}: ${parsedReply.Envelope.Body.Fault.faultstring}`
-    )
+    if (parsedReply.Envelope.Body.Fault) {
+      log(
+        'error',
+        `Enedis issue ${parsedReply.Envelope.Body.Fault.detail.erreur.resultat.$.code}: ${parsedReply.Envelope.Body.Fault.faultstring}`
+      )
+    }
     //TODO: handle SGT4B8: Il existe déjà plusieurs demandes en cours sur le point ?
     throw errors.LOGIN_FAILED
   }
diff --git a/src/core/contractVerification.js b/src/core/contractVerification.js
index 6216819..28b8913 100644
--- a/src/core/contractVerification.js
+++ b/src/core/contractVerification.js
@@ -63,10 +63,12 @@ async function verifyContract(url, apiAuthKey, appLogin, contractId, pointId) {
     return null
   } catch (error) {
     log('error', 'Error while parsing user contract: ' + error)
-    log(
-      'error',
-      `Enedis issue ${parsedReply.Envelope.Body.Fault.detail.erreur.resultat.$.code}: ${parsedReply.Envelope.Body.Fault.faultstring}`
-    )
+    if (parsedReply.Envelope.Body.Fault) {
+      log(
+        'error',
+        `Enedis issue ${parsedReply.Envelope.Body.Fault.detail.erreur.resultat.$.code}: ${parsedReply.Envelope.Body.Fault.faultstring}`
+      )
+    }
     throw errors.LOGIN_FAILED
   }
 }
diff --git a/src/core/findUserPdl.js b/src/core/findUserPdl.js
index e7c46bb..b522561 100644
--- a/src/core/findUserPdl.js
+++ b/src/core/findUserPdl.js
@@ -50,6 +50,12 @@ async function findUserPdl(
     return parseUserPdl(parsedReply)
   } catch (error) {
     log('error', 'Error while parsing user PDL: ' + error)
+    if (parsedReply.Envelope.Body.Fault) {
+      log(
+        'error',
+        `Enedis issue ${parsedReply.Envelope.Body.Fault.detail.erreur.resultat.$.code}: ${parsedReply.Envelope.Body.Fault.faultstring}`
+      )
+    }
     throw errors.LOGIN_FAILED
   }
 }
-- 
GitLab