diff --git a/src/index.js b/src/index.js index ab1d32997f2ddfb06e0bf1023d49b5021eca1fe5..bef6f9c7d97131c902970b06f0b6ecd5f3b3d26b 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 0000000000000000000000000000000000000000..f8c417ee7c8ecf04e13d5ee58c5be7b1320069f7 --- /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, +}