From ed6e1723431ce58fd2d63e60e8feadb1652c0c9c Mon Sep 17 00:00:00 2001
From: Yoan VALLET <ext.sopra.yvallet@grandlyon.com>
Date: Fri, 5 Jun 2020 12:02:13 +0200
Subject: [PATCH] publish: feat: use usage point id retrieve by oauth

generated from commit 6df0a654bce869d5959553eae460fefb29e550a8
---
 index.js           | 22 +++++++++++++++++-----
 manifest.konnector |  2 +-
 package.json       |  2 +-
 3 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/index.js b/index.js
index 26d2262..dc0abf3 100644
--- a/index.js
+++ b/index.js
@@ -114,7 +114,7 @@ const startLoadDate = moment()
   .subtract(7, 'day')
   .format('YYYY-MM-DD')
 const endDate = moment().format('YYYY-MM-DD')
-const baseUrl = 'https://gw.hml.api.enedis.fr'
+const baseUrl = 'https://gw.prd.api.enedis.fr'
 
 /**
  * The start function is run by the BaseKonnector instance only when it got all the account
@@ -133,9 +133,21 @@ async function start(fields, cozyParameters, doRetry = true) {
   const accountId = getAccountId()
   try {
     const { access_token } = fields
-    // const { oauth_callback_results } = fields
-    // const usage_point_id = oauth_callback_results.usage_point_id
-    const usage_point_id = 22516914714270
+    let usage_point_id = ''
+    if (
+      this._account &&
+      this._account.oauth_callback_results &&
+      this._account.oauth_callback_results.usage_points_id
+    ) {
+      const usage_points_id = this._account.oauth_callback_results.usage_points_id.split(
+        ','
+      )
+      usage_point_id = usage_points_id[0]
+    } else {
+      log('error', 'no usage_point_id found')
+      throw errors.USER_ACTION_NEEDED_OAUTH_OUTDATED
+    }
+
     log('info', 'Fetching enedis daily data')
     const fetchedDailyData = await getDailyData(access_token, usage_point_id)
     log('info', 'Process enedis daily data')
@@ -123771,7 +123783,7 @@ const fs = __webpack_require__(167);
 
 const path = __webpack_require__(160);
 
-let manifest = typeof {"version":"0.1.0","name":"Enedis","type":"konnector","language":"node","icon":"icon.png","slug":"enedis","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/enedis-konnector.git","editor":"Grand Lyon","vendor_link":"https://www.enedis.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"half hour enedis load profile data":{"type":"io.enedis.minute"},"hourly enedis load profile":{"type":"io.enedis.hour"},"daily enedis load profile":{"type":"io.enedis.day"},"monthly enedis load profile":{"type":"io.enedis.month"},"year enedis load profile":{"type":"io.enedis.year"}},"developer":{"name":"Grand Lyon","url":"https://www.grandlyon.com/"},"langs":["fr","en"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API Enedis","long_description":"Ce connecteur récupère la courbe de charge électrique enregistrée par le compteur Linky","permissions":{"load profile":{"description":"La courbe de charge électrique enregistrée par le compteur Linky"},"accounts":{"description":"Utilisé pour obtenir les données du compte"}}},"en":{"short_description":"Fetch your Load profile from Enedis API","long_description":"This connector fetches the electrical load profile recorded by the Linky electricity meter","permissions":{"load profile":{"description":"The load profile recorded by Linky"},"accounts":{"description":"Required to get the account's data"}}}},"manifest_version":"2"} === 'undefined' ? {} : {"version":"0.1.0","name":"Enedis","type":"konnector","language":"node","icon":"icon.png","slug":"enedis","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/enedis-konnector.git","editor":"Grand Lyon","vendor_link":"https://www.enedis.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"half hour enedis load profile data":{"type":"io.enedis.minute"},"hourly enedis load profile":{"type":"io.enedis.hour"},"daily enedis load profile":{"type":"io.enedis.day"},"monthly enedis load profile":{"type":"io.enedis.month"},"year enedis load profile":{"type":"io.enedis.year"}},"developer":{"name":"Grand Lyon","url":"https://www.grandlyon.com/"},"langs":["fr","en"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API Enedis","long_description":"Ce connecteur récupère la courbe de charge électrique enregistrée par le compteur Linky","permissions":{"load profile":{"description":"La courbe de charge électrique enregistrée par le compteur Linky"},"accounts":{"description":"Utilisé pour obtenir les données du compte"}}},"en":{"short_description":"Fetch your Load profile from Enedis API","long_description":"This connector fetches the electrical load profile recorded by the Linky electricity meter","permissions":{"load profile":{"description":"The load profile recorded by Linky"},"accounts":{"description":"Required to get the account's data"}}}},"manifest_version":"2"};
+let manifest = typeof {"version":"0.1.1","name":"Enedis","type":"konnector","language":"node","icon":"icon.png","slug":"enedis","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/enedis-konnector.git","editor":"Grand Lyon","vendor_link":"https://www.enedis.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"half hour enedis load profile data":{"type":"io.enedis.minute"},"hourly enedis load profile":{"type":"io.enedis.hour"},"daily enedis load profile":{"type":"io.enedis.day"},"monthly enedis load profile":{"type":"io.enedis.month"},"year enedis load profile":{"type":"io.enedis.year"}},"developer":{"name":"Grand Lyon","url":"https://www.grandlyon.com/"},"langs":["fr","en"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API Enedis","long_description":"Ce connecteur récupère la courbe de charge électrique enregistrée par le compteur Linky","permissions":{"load profile":{"description":"La courbe de charge électrique enregistrée par le compteur Linky"},"accounts":{"description":"Utilisé pour obtenir les données du compte"}}},"en":{"short_description":"Fetch your Load profile from Enedis API","long_description":"This connector fetches the electrical load profile recorded by the Linky electricity meter","permissions":{"load profile":{"description":"The load profile recorded by Linky"},"accounts":{"description":"Required to get the account's data"}}}},"manifest_version":"2"} === 'undefined' ? {} : {"version":"0.1.1","name":"Enedis","type":"konnector","language":"node","icon":"icon.png","slug":"enedis","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/enedis-konnector.git","editor":"Grand Lyon","vendor_link":"https://www.enedis.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"half hour enedis load profile data":{"type":"io.enedis.minute"},"hourly enedis load profile":{"type":"io.enedis.hour"},"daily enedis load profile":{"type":"io.enedis.day"},"monthly enedis load profile":{"type":"io.enedis.month"},"year enedis load profile":{"type":"io.enedis.year"}},"developer":{"name":"Grand Lyon","url":"https://www.grandlyon.com/"},"langs":["fr","en"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API Enedis","long_description":"Ce connecteur récupère la courbe de charge électrique enregistrée par le compteur Linky","permissions":{"load profile":{"description":"La courbe de charge électrique enregistrée par le compteur Linky"},"accounts":{"description":"Utilisé pour obtenir les données du compte"}}},"en":{"short_description":"Fetch your Load profile from Enedis API","long_description":"This connector fetches the electrical load profile recorded by the Linky electricity meter","permissions":{"load profile":{"description":"The load profile recorded by Linky"},"accounts":{"description":"Required to get the account's data"}}}},"manifest_version":"2"};
 
 if (false) {}
 
diff --git a/manifest.konnector b/manifest.konnector
index d84958b..5c8db4a 100644
--- a/manifest.konnector
+++ b/manifest.konnector
@@ -1,5 +1,5 @@
 {
-  "version": "0.1.0",
+  "version": "0.1.1",
   "name": "Enedis",
   "type": "konnector",
   "language": "node",
diff --git a/package.json b/package.json
index 8047365..fc5a265 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "enedis",
-  "version": "0.1.0",
+  "version": "0.1.1",
   "description": "",
   "repository": {
     "type": "git",
-- 
GitLab