From 72de8362de27d0380c2b164ae1b5452ba4227dd8 Mon Sep 17 00:00:00 2001 From: Hugo SUBTIL <ext.sopra.husubtil@grandlyon.com> Date: Mon, 2 May 2022 10:36:18 +0200 Subject: [PATCH] fix: request refactor --- src/index.js | 29 +---------------------------- src/parsing.js | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 28 deletions(-) create mode 100644 src/parsing.js diff --git a/src/index.js b/src/index.js index ab1d329..bef6f9c 100644 --- a/src/index.js +++ b/src/index.js @@ -10,6 +10,7 @@ const moment = require('moment') require('moment-timezone') const xml2js = require('xml2js') const { buildAgregatedData } = require('./aggregate') +const { parseSgeXmlData, parseSgeXmlTechnicalData } = require('./parsing') const { userTechnicalData, userMesureDetailles } = require('./request') moment.locale('fr') // set the language moment.tz.setDefault('Europe/Paris') // set the timezone @@ -279,34 +280,6 @@ function processStartDate() { } } -/** - * Return start date - * @param {string} result - * @returns {string} - */ -function parseSgeXmlTechnicalData(result) { - log('info', 'Parsing technical data') - let json = JSON.stringify(result) - return JSON.parse(json)['Envelope']['Body'][ - 'consulterDonneesTechniquesContractuellesResponse' - ]['point']['donneesGenerales'][ - 'dateDerniereModificationFormuleTarifaireAcheminement' - ] -} - -/** - * - * @param {string} result - * @returns {SGEData[]} - */ -function parseSgeXmlData(result) { - log('info', 'Parsing list of documents') - let json = JSON.stringify(result) - return JSON.parse(json)['Envelope']['Body'][ - 'consulterMesuresDetailleesResponse' - ]['grandeur']['mesure'] -} - /** * Save data in the right doctype db and prevent duplicated keys * @param {EnedisKonnectorData[]} data diff --git a/src/parsing.js b/src/parsing.js new file mode 100644 index 0000000..f8c417e --- /dev/null +++ b/src/parsing.js @@ -0,0 +1,35 @@ +// @ts-check +const { log } = require('cozy-konnector-libs') + +/** + * Return start date + * @param {string} result + * @returns {string} + */ +function parseSgeXmlTechnicalData(result) { + log('info', 'Parsing technical data') + let json = JSON.stringify(result) + return JSON.parse(json)['Envelope']['Body'][ + 'consulterDonneesTechniquesContractuellesResponse' + ]['point']['donneesGenerales'][ + 'dateDerniereModificationFormuleTarifaireAcheminement' + ] +} + +/** + * + * @param {string} result + * @returns {SGEData[]} + */ +function parseSgeXmlData(result) { + log('info', 'Parsing list of documents') + let json = JSON.stringify(result) + return JSON.parse(json)['Envelope']['Body'][ + 'consulterMesuresDetailleesResponse' + ]['grandeur']['mesure'] +} + +module.exports = { + parseSgeXmlData, + parseSgeXmlTechnicalData, +} -- GitLab