diff --git a/index.js b/index.js index 6c8f645c9b6e098328e37465e32deff346b82da7..fa57ae894fde4df746db1b8bb36bd270cc2b3a0b 100644 --- a/index.js +++ b/index.js @@ -22,6 +22,7 @@ const { parseTags, parseValue, parseValueHalfHour, + parsePointId, } = __webpack_require__(1599) const { consultationMesuresDetailleesMaxPower, @@ -109,7 +110,7 @@ async function start(fields, cozyParameters) { name: 'SGE Konnector', }) - const pointId = parseInt(fields.pointId) + const pointId = parsePointId(parseInt(fields.pointId)) let baseUrl = fields.wso2BaseUrl let apiAuthKey = fields.apiToken let contractId = fields.contractId @@ -293,7 +294,7 @@ async function start(fields, cozyParameters) { * @param {string} apiAuthKey * @param {string} sgeLogin * @param {string} contractId - * @param {number} pointId + * @param {string} pointId * @param {string} boBaseUrl * @param {string} boToken * @param {boolean} isConsentExpired @@ -339,7 +340,7 @@ async function deleteConsent( * @param {string} baseUrl * @param {string} apiAuthKey * @param {string} sgeLogin - * @param {number} pointId + * @param {string} pointId */ async function gatherData(baseUrl, apiAuthKey, sgeLogin, pointId) { log('info', 'Querying data...') @@ -379,7 +380,7 @@ async function gatherData(baseUrl, apiAuthKey, sgeLogin, pointId) { * @param {string} url * @param {string} apiAuthKey * @param {string} userLogin - * @param {number} pointId + * @param {string} pointId */ async function getData(url, apiAuthKey, userLogin, pointId) { log('info', 'Fetching data') @@ -424,7 +425,7 @@ async function getData(url, apiAuthKey, userLogin, pointId) { * @param {string} url * @param {string} apiAuthKey * @param {string} userLogin - * @param {number} pointId + * @param {string} pointId */ async function getMaxPowerData(url, apiAuthKey, userLogin, pointId) { log('info', 'Fetching Max Power data') @@ -488,7 +489,7 @@ function limitStartDate() { * @param {string} url * @param {string} apiAuthKey * @param {string} userLogin - * @param {number} pointId + * @param {string} pointId */ async function getDataHalfHour(url, apiAuthKey, userLogin, pointId) { log('info', 'Fetching data') @@ -229253,11 +229254,29 @@ function removeAddressNumber(str) { return str.replace(/\d+ |b |B |T |t |\d+/g, '') } +/** + * Parse PDL and to validate correct length of 14 digits + * @param {number} pointId - some pdl start with 0 + * @returns {string} pointId with 14 digits + * @example "07123456789012" + */ +function parsePointId(pointId) { + const strPointId = pointId.toString() + if (strPointId.length === 14) { + return strPointId + } else if (strPointId.length === 13) { + return `0${strPointId}` + } else { + throw new Error(`PointId ${pointId} is malformed`) + } +} + module.exports = { checkContractExists, formateDataForDoctype, parseContracts, parseContractStartDate, + parsePointId, parseServiceId, parseSgeXmlData, parseTags, @@ -229279,7 +229298,7 @@ const { log } = __webpack_require__(1) /** * Get daily data up to 36 months & P max - * @param {number} pointId + * @param {string} pointId * @param {string} appLogin * @param {string} startDate * @param {string} endDate @@ -229326,7 +229345,7 @@ function consultationMesuresDetaillees( /** * Get user max power - * @param {number} pointId + * @param {string} pointId * @param {string} appLogin * @param {string} startDate * @param {string} endDate @@ -229374,7 +229393,7 @@ function consultationMesuresDetailleesMaxPower( /** * Get user technical data (contract start date) - * @param {number} pointId + * @param {string} pointId * @param {string} appLogin * @returns {string} */ @@ -229470,7 +229489,7 @@ function rechercherPoint( * Search if user as a service * @param {string} appLogin * @param {string} contractId - * @param {number} pointId + * @param {string} pointId * @returns {*} */ function rechercherServicesSouscritsMesures(appLogin, contractId, pointId) { @@ -229496,7 +229515,7 @@ function rechercherServicesSouscritsMesures(appLogin, contractId, pointId) { * Activate half hour data collect for user * @param {string} appLogin * @param {string} contractId - * @param {number} pointId + * @param {string} pointId * @param {string} lastname * @param {string} startDate * @param {string} endDate @@ -229555,7 +229574,7 @@ function commanderCollectePublicationMesures( * Stop the user consent * @param {string} appLogin * @param {string} contractId - * @param {number} pointId + * @param {string} pointId * @param {number} serviceSouscritId * @returns {*} */ @@ -229613,7 +229632,7 @@ const { default: axios } = __webpack_require__(1602) const Sentry = __webpack_require__(1639) /** - * @param {number} pointID + * @param {string} pointID * @param {string} lastname * @param {string} firstname * @param {string} address @@ -246939,7 +246958,7 @@ const Sentry = __webpack_require__(1639) * @param {string} apiAuthKey * @param {string} appLogin * @param {string} lastname - * @param {number} pointId + * @param {string} pointId * @param {string} startDate * @param {string} endDate * @return {Promise<number>} User contractId @@ -247027,7 +247046,7 @@ const Sentry = __webpack_require__(1639) * @param {string} url * @param {string} apiAuthKey * @param {string} userLogin - * @param {number} pointId + * @param {string} pointId * @returns {Promise<string>} */ async function getContractStartDate(url, apiAuthKey, userLogin, pointId) { @@ -247086,7 +247105,7 @@ const Sentry = __webpack_require__(1639) * @param {string} url * @param {string} apiAuthKey * @param {string} appLogin - * @param {number} pointId + * @param {string} pointId * @param {number} serviceId * @return {Promise<string>} User contractId */ @@ -247170,7 +247189,7 @@ const Sentry = __webpack_require__(1639) * @param {string} url * @param {string} apiAuthKey * @param {string} appLogin - * @param {number} pointId + * @param {string} pointId * @return {Promise<number | null>} User contractId */ async function verifyContract(url, apiAuthKey, appLogin, contractId, pointId) { @@ -247597,7 +247616,7 @@ const Sentry = __webpack_require__(1639) * @param {string} url * @param {string} apiAuthKey * @param {string} userLogin - * @param {number} pointId + * @param {string} pointId * @returns {Promise<Address>} */ async function findUserAddress(url, apiAuthKey, userLogin, pointId) { diff --git a/onDeleteAccount.js b/onDeleteAccount.js index bb41cdffeadc0bf276ce66eee3d1c421aa482696..3b4843e3464b4cdca749bec3585d7942487b852a 100644 --- a/onDeleteAccount.js +++ b/onDeleteAccount.js @@ -228487,11 +228487,29 @@ function removeAddressNumber(str) { return str.replace(/\d+ |b |B |T |t |\d+/g, '') } +/** + * Parse PDL and to validate correct length of 14 digits + * @param {number} pointId - some pdl start with 0 + * @returns {string} pointId with 14 digits + * @example "07123456789012" + */ +function parsePointId(pointId) { + const strPointId = pointId.toString() + if (strPointId.length === 14) { + return strPointId + } else if (strPointId.length === 13) { + return `0${strPointId}` + } else { + throw new Error(`PointId ${pointId} is malformed`) + } +} + module.exports = { checkContractExists, formateDataForDoctype, parseContracts, parseContractStartDate, + parsePointId, parseServiceId, parseSgeXmlData, parseTags, @@ -228513,7 +228531,7 @@ const { log } = __webpack_require__(1) /** * Get daily data up to 36 months & P max - * @param {number} pointId + * @param {string} pointId * @param {string} appLogin * @param {string} startDate * @param {string} endDate @@ -228560,7 +228578,7 @@ function consultationMesuresDetaillees( /** * Get user max power - * @param {number} pointId + * @param {string} pointId * @param {string} appLogin * @param {string} startDate * @param {string} endDate @@ -228608,7 +228626,7 @@ function consultationMesuresDetailleesMaxPower( /** * Get user technical data (contract start date) - * @param {number} pointId + * @param {string} pointId * @param {string} appLogin * @returns {string} */ @@ -228704,7 +228722,7 @@ function rechercherPoint( * Search if user as a service * @param {string} appLogin * @param {string} contractId - * @param {number} pointId + * @param {string} pointId * @returns {*} */ function rechercherServicesSouscritsMesures(appLogin, contractId, pointId) { @@ -228730,7 +228748,7 @@ function rechercherServicesSouscritsMesures(appLogin, contractId, pointId) { * Activate half hour data collect for user * @param {string} appLogin * @param {string} contractId - * @param {number} pointId + * @param {string} pointId * @param {string} lastname * @param {string} startDate * @param {string} endDate @@ -228789,7 +228807,7 @@ function commanderCollectePublicationMesures( * Stop the user consent * @param {string} appLogin * @param {string} contractId - * @param {number} pointId + * @param {string} pointId * @param {number} serviceSouscritId * @returns {*} */ @@ -228847,7 +228865,7 @@ const { default: axios } = __webpack_require__(1602) const Sentry = __webpack_require__(1639) /** - * @param {number} pointID + * @param {string} pointID * @param {string} lastname * @param {string} firstname * @param {string} address @@ -246152,7 +246170,7 @@ const Sentry = __webpack_require__(1639) * @param {string} url * @param {string} apiAuthKey * @param {string} appLogin - * @param {number} pointId + * @param {string} pointId * @param {number} serviceId * @return {Promise<string>} User contractId */