From a02a8b8802bc31c1697d4d24d62297aec7c296ee Mon Sep 17 00:00:00 2001
From: Hugo SUBTIL <ext.sopra.husubtil@grandlyon.com>
Date: Fri, 20 Aug 2021 14:25:55 +0200
Subject: [PATCH] feat(dacc): add better error handling

---
 src/targets/services/aggregatorUsageEvents.ts | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/targets/services/aggregatorUsageEvents.ts b/src/targets/services/aggregatorUsageEvents.ts
index 800522f4a..489e1b76f 100644
--- a/src/targets/services/aggregatorUsageEvents.ts
+++ b/src/targets/services/aggregatorUsageEvents.ts
@@ -38,6 +38,9 @@ interface Indicator {
 // Store all id of events read during the process
 const readUsageEvents: UsageEvent[] = []
 
+// Store error events
+const errorEvent: { error: any; doctype: string }[] = []
+
 const sendIndicator = async (
   indicator: Indicator,
   client: Client
@@ -943,6 +946,17 @@ const AggregatorUsageEvents = async ({
     client,
     uniqueReadUsageEvents
   )
+
+  if (errorEvent.length > 0) {
+    // Build error
+    let error = `Process end with ${errorEvent.length} errors : `
+    errorEvent.forEach(el => {
+      error += `${el.doctype}, `
+    })
+    log('error', error)
+    throw error
+  }
+
   log('info', 'End of service')
 }
 
-- 
GitLab