Skip to content
Snippets Groups Projects
Commit 28d12f23 authored by Bastien DUMONT's avatar Bastien DUMONT :angel:
Browse files

feat: consultationMesuresDetaillees

parent 9f0c29f3
No related branches found
No related tags found
1 merge request!7Feat/rename endpoints
Pipeline #39562 passed
......@@ -20,8 +20,8 @@ const {
} = require('./parsing')
const {
consulterDonneesTechniquesContractuelles,
userMaxPower,
userMesureDetailles,
consultationMesuresDetailleesMaxPower,
consultationMesuresDetaillees,
rechercherPoint,
commanderCollectePublicationMesures,
stopDataCollect,
......@@ -212,14 +212,16 @@ async function getData(url, apiAuthKey, userLogin, pointId) {
const { response } = await soapRequest({
url: url,
headers: sampleHeaders,
xml: userMesureDetailles(
xml: consultationMesuresDetaillees(
pointId,
userLogin,
startDailyDateString,
endDateString
endDateString,
'ENERGIE',
'EA'
),
}).catch(err => {
log('error', 'userMesureDetailles')
log('error', 'consultationMesuresDetaillees')
log('error', err)
return err
})
......@@ -254,7 +256,12 @@ async function getMaxPowerData(url, apiAuthKey, userLogin, pointId) {
const { response } = await soapRequest({
url: url,
headers: sampleHeaders,
xml: userMaxPower(pointId, userLogin, startDailyDateString, endDateString),
xml: consultationMesuresDetailleesMaxPower(
pointId,
userLogin,
startDailyDateString,
endDateString
),
}).catch(err => {
log('error', 'getMaxPowerData')
log('error', err)
......@@ -317,7 +324,7 @@ async function getDataHalfHour(url, apiAuthKey, userLogin, pointId) {
const { response } = await soapRequest({
url: url,
headers: sampleHeaders,
xml: userMesureDetailles(
xml: consultationMesuresDetaillees(
pointId,
userLogin,
increamentedStartDateString,
......@@ -326,7 +333,7 @@ async function getDataHalfHour(url, apiAuthKey, userLogin, pointId) {
'PA'
),
}).catch(err => {
log('error', 'userMesureDetailles half-hour')
log('error', 'consultationMesuresDetaillees half-hour')
log('error', err)
return err
})
......
......@@ -2,14 +2,16 @@
const { log } = require('cozy-konnector-libs')
/**
* Query SGE in order to get info
* Get daily data up to 36 months & P max
* @param {number} pointId
* @param {string} appLogin
* @param {string} startDt
* @param {string} endDt
* @param {'COURBE' | 'ENERGIE' | 'PMAX'} mesureType
* @param {'EA' | 'PA' | 'PMA'} unit
* @returns {string}
*/
function userMesureDetailles(
function consultationMesuresDetaillees(
pointId,
appLogin,
startDt,
......@@ -19,7 +21,7 @@ function userMesureDetailles(
) {
log(
'info',
`Query data ${mesureType}/${unit} between ${startDt} and ${endDt}`
`consultationMesuresDetaillees - ${mesureType}/${unit} between ${startDt} and ${endDt}`
)
return `<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
......@@ -46,40 +48,28 @@ function userMesureDetailles(
`
}
/**
* Get user technical data (contract start date)
* @param {number} pointId
* @param {string} appLogin
* @returns {string}
*/
function consulterDonneesTechniquesContractuelles(pointId, appLogin) {
log('info', `Query userMesureDetailles`)
return `<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://www.enedis.fr/sge/b2b/services/consulterdonneestechniquescontractuelles/v1.0"
xmlns:v1="http://www.enedis.fr/sge/b2b/technique/v1.0">
<soapenv:Header/>
<soapenv:Body>
<v2:consulterDonneesTechniquesContractuelles>
<pointId>${pointId}</pointId>
<loginUtilisateur>${appLogin}</loginUtilisateur>
<autorisationClient>true</autorisationClient>
</v2:consulterDonneesTechniquesContractuelles>
</soapenv:Body>
</soapenv:Envelope>
`
}
/**
* Get user max power
* @param {number} pointId
* @param {string} appLogin
* @param {string} startDt
* @param {string} endDt
* @param {'COURBE' | 'ENERGIE' | 'PMAX'} mesureType
* @param {'EA' | 'PA' | 'PMA'} unit
* @returns {string}
*/
function userMaxPower(pointId, appLogin, startDt, endDt) {
log('info', `Query userMesureDetailles`)
function consultationMesuresDetailleesMaxPower(
pointId,
appLogin,
startDt,
endDt,
mesureType = 'PMAX',
unit = 'PMA'
) {
log(
'info',
`consultationMesuresDetaillees - ${mesureType}/${unit} between ${startDt} and ${endDt}`
)
return `<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://www.enedis.fr/sge/b2b/services/consultationmesuresdetaillees/v2.0"
......@@ -90,8 +80,8 @@ function userMaxPower(pointId, appLogin, startDt, endDt) {
<demande>
<initiateurLogin>${appLogin}</initiateurLogin>
<pointId>${pointId}</pointId>
<mesuresTypeCode>PMAX</mesuresTypeCode>
<grandeurPhysique>PMA</grandeurPhysique>
<mesuresTypeCode>${mesureType}</mesuresTypeCode>
<grandeurPhysique>${unit}</grandeurPhysique>
<soutirage>true</soutirage>
<injection>false</injection>
<dateDebut>${startDt}</dateDebut>
......@@ -106,6 +96,30 @@ function userMaxPower(pointId, appLogin, startDt, endDt) {
`
}
/**
* Get user technical data (contract start date)
* @param {number} pointId
* @param {string} appLogin
* @returns {string}
*/
function consulterDonneesTechniquesContractuelles(pointId, appLogin) {
log('info', `Query consulterDonneesTechniquesContractuelles`)
return `<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://www.enedis.fr/sge/b2b/services/consulterdonneestechniquescontractuelles/v1.0"
xmlns:v1="http://www.enedis.fr/sge/b2b/technique/v1.0">
<soapenv:Header/>
<soapenv:Body>
<v2:consulterDonneesTechniquesContractuelles>
<pointId>${pointId}</pointId>
<loginUtilisateur>${appLogin}</loginUtilisateur>
<autorisationClient>true</autorisationClient>
</v2:consulterDonneesTechniquesContractuelles>
</soapenv:Body>
</soapenv:Envelope>
`
}
/**
* Use rechercherPoint to find user PDL if exist
* @param {string} name
......@@ -300,8 +314,8 @@ function deleteBoConsent() {
module.exports = {
consulterDonneesTechniquesContractuelles,
userMaxPower,
userMesureDetailles,
consultationMesuresDetailleesMaxPower,
consultationMesuresDetaillees,
rechercherPoint,
searchServiceSouscrit,
commanderCollectePublicationMesures,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment