From 4efea47567e329371823921fc3a7ef8c3b6dbdeb Mon Sep 17 00:00:00 2001
From: Yoan VALLET <ext.sopra.yvallet@grandlyon.com>
Date: Tue, 26 May 2020 19:58:45 +0200
Subject: [PATCH] fix: 500 error on konnector index

---
 src/services/initDataManagerService.ts | 4 ++++
 src/services/konnectorService.ts       | 9 +++++++++
 src/services/konnectorStatusService.ts | 2 --
 3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/services/initDataManagerService.ts b/src/services/initDataManagerService.ts
index 81194bb9f..5701fb20f 100644
--- a/src/services/initDataManagerService.ts
+++ b/src/services/initDataManagerService.ts
@@ -25,6 +25,8 @@ import ecogestureData from 'db/ecogestureData.json'
 import UserProfileDataManager from 'services/userProfileDataManagerService'
 import userProfileData from 'db/userProfileData.json'
 import KonnectorStatusService from 'services/konnectorStatusService'
+import KonnectorService from 'services/konnectorService'
+import { AccountService } from 'services/accountService'
 
 import { hashFile } from 'utils/hash'
 import {
@@ -388,6 +390,8 @@ export default class InitDataManager {
       await this.createIndex(GRDF_HOUR_DOCTYPE)
       await this.createIndex(GRDF_MONTH_DOCTYPE)
       await this.createIndex(GRDF_YEAR_DOCTYPE)
+      await KonnectorService.createIndexKonnector(this._client)
+      await AccountService.createIndexAccount(this._client)
       return true
     } catch (error) {
       console.log('Context error: ', error)
diff --git a/src/services/konnectorService.ts b/src/services/konnectorService.ts
index b2521df2e..8684ae0e4 100644
--- a/src/services/konnectorService.ts
+++ b/src/services/konnectorService.ts
@@ -98,4 +98,13 @@ export default class KonnectorService {
       throw error
     }
   }
+
+  static createIndexKonnector = async (client: Client) => {
+    const query = client
+      .find('io.cozy.konnectors')
+      // eslint-disable-next-line @typescript-eslint/camelcase
+      .where({ _id: 'index' })
+      .limitBy(1)
+    return await client.query(query)
+  }
 }
diff --git a/src/services/konnectorStatusService.ts b/src/services/konnectorStatusService.ts
index 3bce39885..0b241f9f9 100644
--- a/src/services/konnectorStatusService.ts
+++ b/src/services/konnectorStatusService.ts
@@ -105,8 +105,6 @@ export default class KonnectorStatusService {
   async getKonnectorAccountStatus(): Promise<FluidType[]> {
     try {
       const fluidConfig = new FluidConfigService().getFluidConfig()
-      // Create Index if not exists
-      await AccountService.createIndexAccount(this._client)
       const [elecData, gasData, waterData] = await Promise.all([
         AccountService.getAccountByType(
           this._client,
-- 
GitLab