From d03863a4209572de4b2601f889f555d8e61dcf64 Mon Sep 17 00:00:00 2001
From: Bastien DUMONT <bdumont@grandlyon.com>
Date: Thu, 22 Sep 2022 06:56:35 +0000
Subject: [PATCH] fix: wrong error message login failed

---
 src/core/contractActivation.js   | 10 ++++++----
 src/core/contractVerification.js | 10 ++++++----
 src/core/findUserPdl.js          | 10 ++++++----
 src/index.js                     |  2 +-
 4 files changed, 19 insertions(+), 13 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 de191fe..b522561 100644
--- a/src/core/findUserPdl.js
+++ b/src/core/findUserPdl.js
@@ -50,10 +50,12 @@ async function findUserPdl(
     return parseUserPdl(parsedReply)
   } catch (error) {
     log('error', 'Error while parsing user PDL: ' + 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/index.js b/src/index.js
index 899af77..42678cf 100644
--- a/src/index.js
+++ b/src/index.js
@@ -168,7 +168,7 @@ async function start(fields, cozyParameters) {
       consentId: consent.ID,
     })
   } else {
-    // AlternateStart
+    log('info', 'Alternate start...')
     const accountData = await getAccount(ACCOUNT_ID)
     const userConsent = await getBoConsent(
       boBaseUrl,
-- 
GitLab