diff --git a/8/ecolyo.083c460749da3b2bb728.js b/8/ecolyo.9d653a39115f814a9cd2.js similarity index 99% rename from 8/ecolyo.083c460749da3b2bb728.js rename to 8/ecolyo.9d653a39115f814a9cd2.js index d9331f1682c6f9d165dfa975fd2515ab2c09c6fd..1a68fac700fd655b7631d94864ea00943ac22610 100644 --- a/8/ecolyo.083c460749da3b2bb728.js +++ b/8/ecolyo.9d653a39115f814a9cd2.js @@ -660,7 +660,8 @@ var FluidPricesService = /*#__PURE__*/function () { fluidType: config.fluidTypeId, price: config.coefficient, startDate: config.startDate, - endDate: '' + endDate: '', + UpdatedAt: '2000-01-01T00:00:00Z' }); }); // Replacing default prices if available diff --git a/app/ecolyo.1071e7cd8793a8c4863a.js b/app/ecolyo.58898efd36bf7a6f49fb.js similarity index 99% rename from app/ecolyo.1071e7cd8793a8c4863a.js rename to app/ecolyo.58898efd36bf7a6f49fb.js index c76d83759bdf8db5099e9365dfb1358adc468eca..22918c601711f2b27890c85a1b5a2a0640b5c682 100644 --- a/app/ecolyo.1071e7cd8793a8c4863a.js +++ b/app/ecolyo.58898efd36bf7a6f49fb.js @@ -64,7 +64,7 @@ /******/ /******/ // script path function /******/ function jsonpScriptSrc(chunkId) { -/******/ return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"1":"3b76072fe58ad33540bb","2":"62e5292a592368584bc8","4":"e44f681829f74b9ff80d","5":"41a3c918854f721cafd9","6":"95dfb23bc54787c93a79","7":"9376e18b72a7a8ccfe8c","8":"083c460749da3b2bb728","9":"559d36d928c393428876","10":"2946952809565809b75b"}[chunkId] + ".js" +/******/ return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"1":"3b76072fe58ad33540bb","2":"62e5292a592368584bc8","4":"e44f681829f74b9ff80d","5":"41a3c918854f721cafd9","6":"95dfb23bc54787c93a79","7":"9376e18b72a7a8ccfe8c","8":"9d653a39115f814a9cd2","9":"559d36d928c393428876","10":"2946952809565809b75b"}[chunkId] + ".js" /******/ } /******/ /******/ // The require function @@ -16483,84 +16483,10 @@ var QueryRunner = /*#__PURE__*/function () { }, { key: "getRelevantDoctype", value: function getRelevantDoctype(fluidType, timeStep) { - var doctype = ''; - - switch (fluidType) { - case _enums.FluidType.ELECTRICITY: - { - switch (timeStep) { - case _enums.TimeStep.HALF_AN_HOUR: - doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE; - break; - - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.ENEDIS_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.ENEDIS_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.WATER: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.EGL_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.EGL_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.EGL_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.EGL_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.GAS: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.GRDF_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.GRDF_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - } - } - break; - - default: - break; - } + var _FluidType$ELECTRICIT, _FluidType$WATER, _FluidType$GAS, _doctypeMappings, _doctypeMappings$flui, _doctypeMappings$flui2; - return doctype; + var doctypeMappings = (_doctypeMappings = {}, (0, _defineProperty2.default)(_doctypeMappings, _enums.FluidType.ELECTRICITY, (_FluidType$ELECTRICIT = {}, (0, _defineProperty2.default)(_FluidType$ELECTRICIT, _enums.TimeStep.HALF_AN_HOUR, _doctypes.ENEDIS_MINUTE_DOCTYPE), (0, _defineProperty2.default)(_FluidType$ELECTRICIT, _enums.TimeStep.WEEK, _doctypes.ENEDIS_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$ELECTRICIT, _enums.TimeStep.DAY, _doctypes.ENEDIS_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$ELECTRICIT, _enums.TimeStep.MONTH, _doctypes.ENEDIS_MONTH_DOCTYPE), (0, _defineProperty2.default)(_FluidType$ELECTRICIT, _enums.TimeStep.YEAR, _doctypes.ENEDIS_YEAR_DOCTYPE), (0, _defineProperty2.default)(_FluidType$ELECTRICIT, "default", _doctypes.ENEDIS_DAY_DOCTYPE), _FluidType$ELECTRICIT)), (0, _defineProperty2.default)(_doctypeMappings, _enums.FluidType.WATER, (_FluidType$WATER = {}, (0, _defineProperty2.default)(_FluidType$WATER, _enums.TimeStep.WEEK, _doctypes.EGL_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$WATER, _enums.TimeStep.DAY, _doctypes.EGL_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$WATER, _enums.TimeStep.MONTH, _doctypes.EGL_MONTH_DOCTYPE), (0, _defineProperty2.default)(_FluidType$WATER, _enums.TimeStep.YEAR, _doctypes.EGL_YEAR_DOCTYPE), (0, _defineProperty2.default)(_FluidType$WATER, "default", _doctypes.EGL_DAY_DOCTYPE), _FluidType$WATER)), (0, _defineProperty2.default)(_doctypeMappings, _enums.FluidType.GAS, (_FluidType$GAS = {}, (0, _defineProperty2.default)(_FluidType$GAS, _enums.TimeStep.WEEK, _doctypes.GRDF_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$GAS, _enums.TimeStep.DAY, _doctypes.GRDF_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$GAS, _enums.TimeStep.MONTH, _doctypes.GRDF_MONTH_DOCTYPE), (0, _defineProperty2.default)(_FluidType$GAS, _enums.TimeStep.YEAR, _doctypes.GRDF_YEAR_DOCTYPE), (0, _defineProperty2.default)(_FluidType$GAS, "default", _doctypes.GRDF_DAY_DOCTYPE), _FluidType$GAS)), _doctypeMappings); + return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default'; } }, { key: "fetchFluidData", diff --git a/index.html b/index.html index f2d496b07533a246db6a2045979e743bc5a5a8ef..77e90b975cff8f9add59b921c73e0fd4ea4f8f98 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.9ee7ecded9ec82c2cedd.js"></script><script src="app/ecolyo.1071e7cd8793a8c4863a.js"></script></div></body></html> \ No newline at end of file +<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.9ee7ecded9ec82c2cedd.js"></script><script src="app/ecolyo.58898efd36bf7a6f49fb.js"></script></div></body></html> \ No newline at end of file diff --git a/services/aggregatorUsageEvents/ecolyo.js b/services/aggregatorUsageEvents/ecolyo.js index ee9d0833969f0349fcde98c3f846b371a6bfc8a1..4fe580b3ed18cc3f501a257a718fbe4bce51664f 100644 --- a/services/aggregatorUsageEvents/ecolyo.js +++ b/services/aggregatorUsageEvents/ecolyo.js @@ -102001,84 +102001,33 @@ class QueryRunner { } getRelevantDoctype(fluidType, timeStep) { - let doctype = ''; - - switch (fluidType) { - case _enums.FluidType.ELECTRICITY: - { - switch (timeStep) { - case _enums.TimeStep.HALF_AN_HOUR: - doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE; - break; - - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.ENEDIS_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.ENEDIS_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.WATER: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.EGL_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.EGL_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.EGL_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.EGL_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.GAS: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.GRDF_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.GRDF_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - } - } - break; - - default: - break; - } - - return doctype; + var _doctypeMappings$flui, _doctypeMappings$flui2; + + const doctypeMappings = { + [_enums.FluidType.ELECTRICITY]: { + [_enums.TimeStep.HALF_AN_HOUR]: _doctypes.ENEDIS_MINUTE_DOCTYPE, + [_enums.TimeStep.WEEK]: _doctypes.ENEDIS_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.ENEDIS_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.ENEDIS_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.ENEDIS_YEAR_DOCTYPE, + default: _doctypes.ENEDIS_DAY_DOCTYPE + }, + [_enums.FluidType.WATER]: { + [_enums.TimeStep.WEEK]: _doctypes.EGL_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.EGL_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.EGL_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.EGL_YEAR_DOCTYPE, + default: _doctypes.EGL_DAY_DOCTYPE + }, + [_enums.FluidType.GAS]: { + [_enums.TimeStep.WEEK]: _doctypes.GRDF_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.GRDF_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.GRDF_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.GRDF_YEAR_DOCTYPE, + default: _doctypes.GRDF_DAY_DOCTYPE + } + }; + return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default'; } async fetchFluidData(timePeriod, timeStep, fluidType) { diff --git a/services/consumptionAlert/ecolyo.js b/services/consumptionAlert/ecolyo.js index 55a0eb9d992783b3c1cd684122766c5ba1105b76..5d9e0691e3b1e155a69fded5857c61aed29a36fe 100644 --- a/services/consumptionAlert/ecolyo.js +++ b/services/consumptionAlert/ecolyo.js @@ -100111,84 +100111,33 @@ class QueryRunner { } getRelevantDoctype(fluidType, timeStep) { - let doctype = ''; - - switch (fluidType) { - case _enums.FluidType.ELECTRICITY: - { - switch (timeStep) { - case _enums.TimeStep.HALF_AN_HOUR: - doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE; - break; - - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.ENEDIS_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.ENEDIS_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.WATER: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.EGL_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.EGL_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.EGL_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.EGL_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.GAS: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.GRDF_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.GRDF_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - } - } - break; - - default: - break; - } - - return doctype; + var _doctypeMappings$flui, _doctypeMappings$flui2; + + const doctypeMappings = { + [_enums.FluidType.ELECTRICITY]: { + [_enums.TimeStep.HALF_AN_HOUR]: _doctypes.ENEDIS_MINUTE_DOCTYPE, + [_enums.TimeStep.WEEK]: _doctypes.ENEDIS_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.ENEDIS_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.ENEDIS_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.ENEDIS_YEAR_DOCTYPE, + default: _doctypes.ENEDIS_DAY_DOCTYPE + }, + [_enums.FluidType.WATER]: { + [_enums.TimeStep.WEEK]: _doctypes.EGL_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.EGL_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.EGL_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.EGL_YEAR_DOCTYPE, + default: _doctypes.EGL_DAY_DOCTYPE + }, + [_enums.FluidType.GAS]: { + [_enums.TimeStep.WEEK]: _doctypes.GRDF_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.GRDF_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.GRDF_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.GRDF_YEAR_DOCTYPE, + default: _doctypes.GRDF_DAY_DOCTYPE + } + }; + return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default'; } async fetchFluidData(timePeriod, timeStep, fluidType) { diff --git a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js index 4f50bee3fd642bfacdedbf02dc83c7b6f7f53171..05354c60f285f83852245d7b00e3fb77b1db31fe 100644 --- a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js +++ b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js @@ -100111,84 +100111,33 @@ class QueryRunner { } getRelevantDoctype(fluidType, timeStep) { - let doctype = ''; - - switch (fluidType) { - case _enums.FluidType.ELECTRICITY: - { - switch (timeStep) { - case _enums.TimeStep.HALF_AN_HOUR: - doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE; - break; - - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.ENEDIS_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.ENEDIS_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.WATER: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.EGL_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.EGL_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.EGL_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.EGL_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.GAS: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.GRDF_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.GRDF_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - } - } - break; - - default: - break; - } - - return doctype; + var _doctypeMappings$flui, _doctypeMappings$flui2; + + const doctypeMappings = { + [_enums.FluidType.ELECTRICITY]: { + [_enums.TimeStep.HALF_AN_HOUR]: _doctypes.ENEDIS_MINUTE_DOCTYPE, + [_enums.TimeStep.WEEK]: _doctypes.ENEDIS_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.ENEDIS_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.ENEDIS_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.ENEDIS_YEAR_DOCTYPE, + default: _doctypes.ENEDIS_DAY_DOCTYPE + }, + [_enums.FluidType.WATER]: { + [_enums.TimeStep.WEEK]: _doctypes.EGL_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.EGL_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.EGL_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.EGL_YEAR_DOCTYPE, + default: _doctypes.EGL_DAY_DOCTYPE + }, + [_enums.FluidType.GAS]: { + [_enums.TimeStep.WEEK]: _doctypes.GRDF_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.GRDF_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.GRDF_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.GRDF_YEAR_DOCTYPE, + default: _doctypes.GRDF_DAY_DOCTYPE + } + }; + return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default'; } async fetchFluidData(timePeriod, timeStep, fluidType) { diff --git a/services/fluidsPrices/ecolyo.js b/services/fluidsPrices/ecolyo.js index 0d8b8b9728f154e2c6fb4f326f2adda694a4dc68..8b082f5a93c012105b2c320927da3fae6cdd9c87 100644 --- a/services/fluidsPrices/ecolyo.js +++ b/services/fluidsPrices/ecolyo.js @@ -100111,84 +100111,33 @@ class QueryRunner { } getRelevantDoctype(fluidType, timeStep) { - let doctype = ''; - - switch (fluidType) { - case _enums.FluidType.ELECTRICITY: - { - switch (timeStep) { - case _enums.TimeStep.HALF_AN_HOUR: - doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE; - break; - - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.ENEDIS_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.ENEDIS_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.WATER: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.EGL_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.EGL_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.EGL_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.EGL_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.GAS: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.GRDF_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.GRDF_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - } - } - break; - - default: - break; - } - - return doctype; + var _doctypeMappings$flui, _doctypeMappings$flui2; + + const doctypeMappings = { + [_enums.FluidType.ELECTRICITY]: { + [_enums.TimeStep.HALF_AN_HOUR]: _doctypes.ENEDIS_MINUTE_DOCTYPE, + [_enums.TimeStep.WEEK]: _doctypes.ENEDIS_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.ENEDIS_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.ENEDIS_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.ENEDIS_YEAR_DOCTYPE, + default: _doctypes.ENEDIS_DAY_DOCTYPE + }, + [_enums.FluidType.WATER]: { + [_enums.TimeStep.WEEK]: _doctypes.EGL_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.EGL_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.EGL_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.EGL_YEAR_DOCTYPE, + default: _doctypes.EGL_DAY_DOCTYPE + }, + [_enums.FluidType.GAS]: { + [_enums.TimeStep.WEEK]: _doctypes.GRDF_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.GRDF_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.GRDF_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.GRDF_YEAR_DOCTYPE, + default: _doctypes.GRDF_DAY_DOCTYPE + } + }; + return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default'; } async fetchFluidData(timePeriod, timeStep, fluidType) { @@ -101134,6 +101083,14 @@ const getRemotePricesByFluid = async (client, fluidType) => { const prices = await client.getStackClient().fetchJSON('GET', `${remoteUrl}?fluidtype=${fluidType}`); return prices; }; +/** + * If a price has been updated, set the oldest startDate of the edited price so we can redo aggregation + */ + + +function updateFirstEditedPrice(firstEditedPrice, remotePrice) { + return firstEditedPrice === null || firstEditedPrice >= remotePrice.startDate ? remotePrice.startDate : firstEditedPrice; +} /** * Synchro the remote prices with database and returns a date where we have to relaunch aggregation if a price has been edited in backoffice * @returns {string | null} the oldest startDate @@ -101142,53 +101099,43 @@ const getRemotePricesByFluid = async (client, fluidType) => { const synchroPricesToUpdate = async (client, fluidType) => { const fps = new _fluidsPrices.default(client); - const remotePrices = await getRemotePricesByFluid(client, fluidType); - let firstEditedPrice = null; - await Promise.all(remotePrices.map(async remotePrice => { - try { - const existingPrice = await fps.checkIfPriceExists(remotePrice); - if (!existingPrice) { - logStack('debug', `Price doesn't exist in db, creating a new price`); // If a price has been updated, set the oldest startDate of the edited price so we can redo aggregation + try { + const remotePrices = await getRemotePricesByFluid(client, fluidType); + let firstEditedPrice = null; - if (firstEditedPrice === null || firstEditedPrice >= remotePrice.startDate) { - firstEditedPrice = remotePrice.startDate; - } + for (const remotePrice of remotePrices) { + const existingPrice = await fps.checkIfPriceExists(remotePrice); + if (!existingPrice) { + logStack('debug', `Price doesn't exist in db, creating a new price`); + firstEditedPrice = updateFirstEditedPrice(firstEditedPrice, remotePrice); await fps.createPrice(remotePrice); - return; + continue; } - if (!existingPrice.UpdatedAt && remotePrice.UpdatedAt) { - // updatedAt key doesn't exist in db - await fps.updatePrice(existingPrice, { - UpdatedAt: remotePrice.UpdatedAt - }); - return; - } else if (!existingPrice.UpdatedAt || !remotePrice.UpdatedAt || existingPrice.UpdatedAt >= remotePrice.UpdatedAt) { + if (existingPrice.UpdatedAt >= remotePrice.UpdatedAt) { logStack('debug', `Price up to date`); - return; + continue; } logStack('debug', `Price exists in db but not up to date, updating it`); // If a price has been updated, set the oldest startDate of the edited price so we can redo aggregation - if (firstEditedPrice === null || firstEditedPrice >= remotePrice.startDate) { - firstEditedPrice = remotePrice.startDate; - } // update this price in db - - + firstEditedPrice = updateFirstEditedPrice(firstEditedPrice, remotePrice); await fps.updatePrice(existingPrice, { price: remotePrice.price, UpdatedAt: remotePrice.UpdatedAt, startDate: remotePrice.startDate, endDate: remotePrice.endDate }); - } catch (error) { - logStack('error', `Error: ${error}`); - Sentry.captureException(error); } - })); - return firstEditedPrice; + + return firstEditedPrice; + } catch (error) { + logStack('error', `Error: ${error}`); + Sentry.captureException(error); + return null; + } }; const price = item => { @@ -101232,43 +101179,41 @@ const getTimePeriod = async (timeStep, date) => { }; const aggregatePrices = async (qr, cdm, firstDate, today, fluidType) => { - const tsa = [_enums.TimeStep.MONTH, _enums.TimeStep.YEAR]; + const timeSteps = [_enums.TimeStep.MONTH, _enums.TimeStep.YEAR]; logStack('debug', `Aggregation started for fluid: ${fluidType}, from ${firstDate} `); - await Promise.all(tsa.map(async ts => { - let date = _luxon.DateTime.local(); - Object.assign(date, firstDate); + for (const timeStep of timeSteps) { + let aggregationDate = _luxon.DateTime.fromObject(firstDate); try { do { - const tp = await getTimePeriod(ts, date); // Get doc for aggregation - - const data = await qr.fetchFluidRawDoctype(tp, _enums.TimeStep.DAY, fluidType); // Get doc to update + const timePeriod = await getTimePeriod(timeStep, aggregationDate); // Get doc for aggregation - const docToUpdate = await qr.fetchFluidRawDoctype(tp, ts, fluidType); - - if (docToUpdate !== null && docToUpdate !== void 0 && docToUpdate.data && data !== null && data !== void 0 && data.data) { - docToUpdate.data[0].price = data.data.map(price).reduce(sum); - } // Save updated docs + const dayDocuments = await qr.fetchFluidRawDoctype(timePeriod, _enums.TimeStep.DAY, fluidType); + const docToUpdate = await qr.fetchFluidRawDoctype(timePeriod, timeStep, fluidType); + if (docToUpdate !== null && docToUpdate !== void 0 && docToUpdate.data && dayDocuments !== null && dayDocuments !== void 0 && dayDocuments.data) { + docToUpdate.data[0].price = dayDocuments.data.map(price).reduce(sum); + } await cdm.saveDocs(docToUpdate === null || docToUpdate === void 0 ? void 0 : docToUpdate.data); // Update date according to timestep - if (ts === _enums.TimeStep.YEAR) { - date = date.plus({ + if (timeStep === _enums.TimeStep.YEAR) { + aggregationDate = aggregationDate.plus({ year: 1 }).startOf('month'); } else { - date = date.plus({ + aggregationDate = aggregationDate.plus({ month: 1 }).startOf('month'); } - } while (date < today); + } while (aggregationDate < today); } catch (error) { logStack('info', `Error : ${error}`); Sentry.captureException(error); } - })); + } + logStack('debug', `Aggregation done`); }; @@ -101292,7 +101237,7 @@ const getDoctypeTypeByFluid = fluidType => { throw new Error(); }; -const getTimeSetByFluid = fluidType => { +const getTimeStepsByFluid = fluidType => { if (fluidType === _enums.FluidType.ELECTRICITY) { return [_enums.TimeStep.DAY, _enums.TimeStep.HALF_AN_HOUR]; } @@ -101316,113 +101261,114 @@ const applyPrices = async (client, fluidType) => { const firstEditedPriceDate = await synchroPricesToUpdate(client, fluidType); const firstDataDate = await cdm.fetchAllFirstDateData([fluidType]); - const prices = await fluidsPricesService.getAllPrices(); // Prices data exist - - if (prices.length > 0) { - logStack('debug', 'fluidPrices data found'); - const firstMinuteData = await cdm.getFirstDataDateFromDoctypeWithPrice(getDoctypeTypeByFluid(fluidType)); // const firstDoctypeData = await cdm.getFirsDataDateFromDoctype() - // If there is data, update hourly data and daily data - - if (firstDataDate !== null && firstDataDate !== void 0 && firstDataDate[0] && (firstMinuteData || firstEditedPriceDate !== null)) { - const today = _luxon.DateTime.now(); - - const tsa = getTimeSetByFluid(fluidType); - let firstDate; - - if (firstMinuteData && firstEditedPriceDate) { - // If there is first data without price and a price edited, set the smallest date - const firstMinuteDataDate = _luxon.DateTime.fromObject({ - year: firstMinuteData.year, - month: firstMinuteData.month, - day: firstMinuteData.day - }).setZone('utc', { - keepLocalTime: true - }); + const prices = await fluidsPricesService.getAllPrices(); - const formattedFirstEditedPrice = _luxon.DateTime.fromISO(firstEditedPriceDate).setZone('utc', { - keepLocalTime: true - }); // we want to exclude the period with no data if the edited date is smaller than the first data date + if (prices.length === 0) { + logStack('info', 'No fluidesPrices data'); + return; + } + logStack('debug', 'fluidPrices data found'); + const firstMinuteData = await cdm.getFirstDataDateFromDoctypeWithPrice(getDoctypeTypeByFluid(fluidType)); // If there is data, update hourly data and daily data - firstDate = _luxon.DateTime.min(_luxon.DateTime.max(formattedFirstEditedPrice, firstDataDate[0]), firstMinuteDataDate); - } else if (firstMinuteData) { - firstDate = _luxon.DateTime.fromObject({ - year: firstMinuteData.year, - month: firstMinuteData.month, - day: firstMinuteData.day - }).setZone('utc', { - keepLocalTime: true - }); - } else if (firstEditedPriceDate) { - firstDate = _luxon.DateTime.max(_luxon.DateTime.fromISO(firstEditedPriceDate).setZone('utc', { - keepLocalTime: true - }), firstDataDate[0]); - } else { - firstDate = today; - } // Hourly and daily prices + if (!(firstDataDate !== null && firstDataDate !== void 0 && firstDataDate[0]) || !firstMinuteData && firstEditedPriceDate === null) { + logStack('info', `No data found for fluid ${fluidType}`); + return; + } + const today = _luxon.DateTime.now(); - await Promise.all(tsa.map(async timeStep => { - let date = _luxon.DateTime.local().setZone('utc', { - keepLocalTime: true - }); + const timeSteps = getTimeStepsByFluid(fluidType); + let firstDate; + + if (firstMinuteData && firstEditedPriceDate) { + // If there is first data without price and a price edited, set the smallest date + const firstMinuteDataDate = _luxon.DateTime.fromObject({ + year: firstMinuteData.year, + month: firstMinuteData.month, + day: firstMinuteData.day + }).setZone('utc', { + keepLocalTime: true + }); - Object.assign(date, firstDate); + const formattedFirstEditedPrice = _luxon.DateTime.fromISO(firstEditedPriceDate).setZone('utc', { + keepLocalTime: true + }); // we want to exclude the period with no data if the edited date is smaller than the first data date - try { - do { - // Get price - const priceData = await fluidsPricesService.getPrices(fluidType, date); - const tp = await getTimePeriod(timeStep, date); // Get doc to update - const data = await qr.fetchFluidRawDoctype(tp, timeStep, fluidType); // If lastItem has a price, skip this day (in order to save perf) + firstDate = _luxon.DateTime.min(_luxon.DateTime.max(formattedFirstEditedPrice, firstDataDate[0]), firstMinuteDataDate); + } else if (firstMinuteData) { + firstDate = _luxon.DateTime.fromObject({ + year: firstMinuteData.year, + month: firstMinuteData.month, + day: firstMinuteData.day + }).setZone('utc', { + keepLocalTime: true + }); + } else if (firstEditedPriceDate) { + firstDate = _luxon.DateTime.max(_luxon.DateTime.fromISO(firstEditedPriceDate).setZone('utc', { + keepLocalTime: true + }), firstDataDate[0]); + } else { + firstDate = today; + } // Hourly and daily prices - const lastItem = (data === null || data === void 0 ? void 0 : data.data) && data.data[data.data.length - 1]; - if (lastItem && priceData) { - // if a price has been updated in backoffice re-calculates all price from the firstEditedPriceDate - data === null || data === void 0 ? void 0 : data.data.forEach(element => { - element.price = element.load * priceData.price; - }); // Save updated docs + for (const timeStep of timeSteps) { + let date = _luxon.DateTime.local().setZone('utc', { + keepLocalTime: true + }); - await cdm.saveDocs(data.data); - } // Update date + Object.assign(date, firstDate); + try { + do { + const priceData = await fluidsPricesService.getPrices(fluidType, date); + const timePeriod = await getTimePeriod(timeStep, date); + const data = await qr.fetchFluidRawDoctype(timePeriod, timeStep, fluidType); // If lastItem has a price, skip this day (in order to save perf) - if (timeStep === _enums.TimeStep.HALF_AN_HOUR) { - date = date.plus({ - days: 1 - }); - } else { - date = date.plus({ - month: 1 - }).startOf('month'); - } - } while (date < today); - } catch (error) { - logStack('error', `ERROR : ${error} `); - Sentry.captureException(error); + const lastItem = (data === null || data === void 0 ? void 0 : data.data) && data.data[data.data.length - 1]; + + if (lastItem && priceData) { + // if a price has been updated in backoffice re-calculates all price from the firstEditedPriceDate + data === null || data === void 0 ? void 0 : data.data.forEach(element => { + element.price = element.load * priceData.price; + }); + await cdm.saveDocs(data.data); + } // Update date + + + if (timeStep === _enums.TimeStep.HALF_AN_HOUR) { + date = date.plus({ + days: 1 + }); + } else { + date = date.plus({ + month: 1 + }).startOf('month'); } - })); // Call aggregation method + } while (date < today); + } catch (error) { + logStack('error', `ERROR : ${error} `); + Sentry.captureException(error); + } + } - await aggregatePrices(qr, cdm, firstDate, today, fluidType); - } else logStack('info', `No data found for fluid ${fluidType}`); - } else logStack('info', 'No fluidesPrices data'); + await aggregatePrices(qr, cdm, firstDate, today, fluidType); }; const processPrices = async ({ client }) => { logStack('info', `Processing electricity data...`); - const elec = applyPrices(client, _enums.FluidType.ELECTRICITY); + await applyPrices(client, _enums.FluidType.ELECTRICITY); logStack('info', `Electricity data done`); logStack('info', `Processing gas data...`); - const gas = applyPrices(client, _enums.FluidType.GAS); + await applyPrices(client, _enums.FluidType.GAS); logStack('info', `Gas data done`); logStack('info', `Processing water data...`); - const water = applyPrices(client, _enums.FluidType.WATER); + await applyPrices(client, _enums.FluidType.WATER); logStack('info', `Water data done`); - await Promise.all([elec, gas, water]); logStack('info', `processPrices done`); }; @@ -101533,7 +101479,8 @@ class FluidPricesService { fluidType: config.fluidTypeId, price: config.coefficient, startDate: config.startDate, - endDate: '' + endDate: '', + UpdatedAt: '2000-01-01T00:00:00Z' }); }); // Replacing default prices if available diff --git a/services/monthlyReportNotification/ecolyo.js b/services/monthlyReportNotification/ecolyo.js index 4614ad86f2578dee3378bb51cbdf7cc271fdd1a1..9bd0b1968f2ba2f68a46c4852f7e87409b17f55c 100644 --- a/services/monthlyReportNotification/ecolyo.js +++ b/services/monthlyReportNotification/ecolyo.js @@ -100111,84 +100111,33 @@ class QueryRunner { } getRelevantDoctype(fluidType, timeStep) { - let doctype = ''; - - switch (fluidType) { - case _enums.FluidType.ELECTRICITY: - { - switch (timeStep) { - case _enums.TimeStep.HALF_AN_HOUR: - doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE; - break; - - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.ENEDIS_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.ENEDIS_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.ENEDIS_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.WATER: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.EGL_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.EGL_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.EGL_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.EGL_DAY_DOCTYPE; - } - } - break; - - case _enums.FluidType.GAS: - { - switch (timeStep) { - case _enums.TimeStep.WEEK: - case _enums.TimeStep.DAY: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - break; - - case _enums.TimeStep.MONTH: - doctype = _doctypes.GRDF_MONTH_DOCTYPE; - break; - - case _enums.TimeStep.YEAR: - doctype = _doctypes.GRDF_YEAR_DOCTYPE; - break; - - default: - doctype = _doctypes.GRDF_DAY_DOCTYPE; - } - } - break; - - default: - break; - } - - return doctype; + var _doctypeMappings$flui, _doctypeMappings$flui2; + + const doctypeMappings = { + [_enums.FluidType.ELECTRICITY]: { + [_enums.TimeStep.HALF_AN_HOUR]: _doctypes.ENEDIS_MINUTE_DOCTYPE, + [_enums.TimeStep.WEEK]: _doctypes.ENEDIS_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.ENEDIS_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.ENEDIS_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.ENEDIS_YEAR_DOCTYPE, + default: _doctypes.ENEDIS_DAY_DOCTYPE + }, + [_enums.FluidType.WATER]: { + [_enums.TimeStep.WEEK]: _doctypes.EGL_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.EGL_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.EGL_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.EGL_YEAR_DOCTYPE, + default: _doctypes.EGL_DAY_DOCTYPE + }, + [_enums.FluidType.GAS]: { + [_enums.TimeStep.WEEK]: _doctypes.GRDF_DAY_DOCTYPE, + [_enums.TimeStep.DAY]: _doctypes.GRDF_DAY_DOCTYPE, + [_enums.TimeStep.MONTH]: _doctypes.GRDF_MONTH_DOCTYPE, + [_enums.TimeStep.YEAR]: _doctypes.GRDF_YEAR_DOCTYPE, + default: _doctypes.GRDF_DAY_DOCTYPE + } + }; + return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default'; } async fetchFluidData(timePeriod, timeStep, fluidType) {