@golemio/energetics 1.2.12-dev.1217752344 → 1.2.12-dev.1217912522
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.d.ts +2 -2
- package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.js +4 -2
- package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.js.map +1 -1
- package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.d.ts +2 -1
- package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js +1 -0
- package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js.map +1 -1
- package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.d.ts +4 -0
- package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.js.map +1 -1
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.d.ts +14 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.js +80 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.js.map +1 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.d.ts +31 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.js +93 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.js.map +1 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/interfaces/IAveApiDeviceDataParams.d.ts +7 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/interfaces/IAveApiDeviceDataParams.js +3 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/interfaces/IAveApiDeviceDataParams.js.map +1 -0
- package/dist/integration-engine/commodity-providers/ioc/Di.js +6 -0
- package/dist/integration-engine/commodity-providers/ioc/Di.js.map +1 -1
- package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.d.ts +3 -0
- package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js +3 -0
- package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js.map +1 -1
- package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.d.ts +8 -0
- package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js +38 -0
- package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js.map +1 -0
- package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js +5 -5
- package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js +1 -0
- package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/interfaces/IPpasMeasurementsParams.d.ts +5 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IPpasMeasurementsParams.js +3 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IPpasMeasurementsParams.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/schema/PpasMeasurementsSchema.d.ts +6 -0
- package/dist/integration-engine/commodity-providers/workers/schema/PpasMeasurementsSchema.js +23 -0
- package/dist/integration-engine/commodity-providers/workers/schema/PpasMeasurementsSchema.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.d.ts +9 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.js +36 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js +2 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.js +12 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.d.ts +25 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js +155 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.d.ts +3 -4
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js +3 -19
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js.map +1 -1
- package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.js +15 -0
- package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema.js +16 -0
- package/dist/schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto.d.ts +4 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto.js +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto.d.ts +5 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto.js +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto.js.map +1 -0
- package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.d.ts +3 -1
- package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js +2 -0
- package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CommodityProvider } from "./helpers/CommodityProviderEnum";
|
|
2
|
-
import { DataSourceProviderDict, DataSourceReturnType, ICommodityProviderDataSourceFactory } from "./interfaces/ICommodityProviderDataSourceFactory";
|
|
2
|
+
import { AveApiDtoUnion, CemApiDtoUnion, DataSourceProviderDict, DataSourceReturnType, ICommodityProviderDataSourceFactory } from "./interfaces/ICommodityProviderDataSourceFactory";
|
|
3
3
|
import { IDataSourceProvider } from "./interfaces/IDataSourceProvider";
|
|
4
4
|
export declare class CommodityProviderDataSourceFactory implements ICommodityProviderDataSourceFactory {
|
|
5
5
|
private readonly dataSourceProviderDict;
|
|
6
|
-
constructor(cemApiDataSourceProvider: IDataSourceProvider<
|
|
6
|
+
constructor(cemApiDataSourceProvider: IDataSourceProvider<CemApiDtoUnion[]>, ppasAveApiDataSourceProvider: IDataSourceProvider<AveApiDtoUnion[]>);
|
|
7
7
|
getDataSource<T extends CommodityProvider>(presetLogsProvider: T, ...params: Parameters<DataSourceProviderDict[T]["getDataSource"]>): DataSourceReturnType<T>;
|
|
8
8
|
}
|
|
@@ -17,9 +17,10 @@ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
|
17
17
|
const WorkerContainerToken_1 = require("../ioc/WorkerContainerToken");
|
|
18
18
|
const CommodityProviderEnum_1 = require("./helpers/CommodityProviderEnum");
|
|
19
19
|
let CommodityProviderDataSourceFactory = exports.CommodityProviderDataSourceFactory = class CommodityProviderDataSourceFactory {
|
|
20
|
-
constructor(cemApiDataSourceProvider) {
|
|
20
|
+
constructor(cemApiDataSourceProvider, ppasAveApiDataSourceProvider) {
|
|
21
21
|
this.dataSourceProviderDict = {
|
|
22
22
|
[CommodityProviderEnum_1.CommodityProvider.UnimonitorCemApi]: cemApiDataSourceProvider,
|
|
23
|
+
[CommodityProviderEnum_1.CommodityProvider.PpasInternetAveApi]: ppasAveApiDataSourceProvider,
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
26
|
getDataSource(presetLogsProvider, ...params) {
|
|
@@ -29,6 +30,7 @@ let CommodityProviderDataSourceFactory = exports.CommodityProviderDataSourceFact
|
|
|
29
30
|
exports.CommodityProviderDataSourceFactory = CommodityProviderDataSourceFactory = __decorate([
|
|
30
31
|
(0, tsyringe_1.injectable)(),
|
|
31
32
|
__param(0, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.CemApiDataSourceProvider)),
|
|
32
|
-
|
|
33
|
+
__param(1, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.PpasAveApiDataSourceProvider)),
|
|
34
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
33
35
|
], CommodityProviderDataSourceFactory);
|
|
34
36
|
//# sourceMappingURL=CommodityProviderDataSourceFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommodityProviderDataSourceFactory.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iEAAwE;AACxE,sEAAmE;AACnE,2EAAoE;
|
|
1
|
+
{"version":3,"file":"CommodityProviderDataSourceFactory.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iEAAwE;AACxE,sEAAmE;AACnE,2EAAoE;AAW7D,IAAM,kCAAkC,gDAAxC,MAAM,kCAAkC;IAG3C,YAEI,wBAA+D,EAE/D,4BAAmE;QAEnE,IAAI,CAAC,sBAAsB,GAAG;YAC1B,CAAC,yCAAiB,CAAC,gBAAgB,CAAC,EAAE,wBAAwB;YAC9D,CAAC,yCAAiB,CAAC,kBAAkB,CAAC,EAAE,4BAA4B;SACvE,CAAC;IACN,CAAC;IAEM,aAAa,CAChB,kBAAqB,EACrB,GAAG,MAA8D;QAEjE,OAAO,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,GAAG,MAAM,CAA4B,CAAC;IAC/G,CAAC;CACJ,CAAA;6CArBY,kCAAkC;IAD9C,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,wBAAwB,CAAC,CAAA;IAErD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,4BAA4B,CAAC,CAAA;;GANrD,kCAAkC,CAqB9C"}
|
package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js
CHANGED
|
@@ -4,5 +4,6 @@ exports.CommodityProvider = void 0;
|
|
|
4
4
|
var CommodityProvider;
|
|
5
5
|
(function (CommodityProvider) {
|
|
6
6
|
CommodityProvider["UnimonitorCemApi"] = "cem_api";
|
|
7
|
+
CommodityProvider["PpasInternetAveApi"] = "ppas_ave_api";
|
|
7
8
|
})(CommodityProvider || (exports.CommodityProvider = CommodityProvider = {}));
|
|
8
9
|
//# sourceMappingURL=CommodityProviderEnum.js.map
|
package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommodityProviderEnum.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"CommodityProviderEnum.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,iDAA4B,CAAA;IAC5B,wDAAmC,CAAA;AACvC,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
import { IAveApiDeviceDataDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto";
|
|
2
|
+
import { IAveApiPlaceDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto";
|
|
1
3
|
import { ICemApiCounterDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto";
|
|
2
4
|
import { ICemApiDeviceDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto";
|
|
3
5
|
import { ICemApiMeasurementDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto";
|
|
4
6
|
import { CommodityProvider } from "../helpers/CommodityProviderEnum";
|
|
5
7
|
import { IDataSourceProvider } from "./IDataSourceProvider";
|
|
6
8
|
export type CemApiDtoUnion = ICemApiDeviceDto | ICemApiCounterDto | ICemApiMeasurementDto;
|
|
9
|
+
export type AveApiDtoUnion = IAveApiPlaceDto | IAveApiDeviceDataDto;
|
|
7
10
|
export type DataSourceProviderDict = {
|
|
8
11
|
[CommodityProvider.UnimonitorCemApi]: IDataSourceProvider<CemApiDtoUnion[]>;
|
|
12
|
+
[CommodityProvider.PpasInternetAveApi]: IDataSourceProvider<AveApiDtoUnion[]>;
|
|
9
13
|
};
|
|
10
14
|
export type DataSourceReturnType<T extends CommodityProvider> = ReturnType<DataSourceProviderDict[T]["getDataSource"]>;
|
|
11
15
|
export interface ICommodityProviderDataSourceFactory {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ICommodityProviderDataSourceFactory.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ICommodityProviderDataSourceFactory.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.ts"],"names":[],"mappings":";;AAKA,4EAAqE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
2
|
+
import { IDataSource } from "@golemio/core/dist/integration-engine";
|
|
3
|
+
import { CemApiDtoUnion } from "../interfaces/ICommodityProviderDataSourceFactory";
|
|
4
|
+
import { IDataSourceProvider } from "../interfaces/IDataSourceProvider";
|
|
5
|
+
import { IAveApiDeviceDataParams } from "./interfaces/IAveApiDeviceDataParams";
|
|
6
|
+
export declare class PpasAveApiDataSourceProvider implements IDataSourceProvider<CemApiDtoUnion[]> {
|
|
7
|
+
private config;
|
|
8
|
+
private static readonly DATASOURCE_NAME;
|
|
9
|
+
constructor(config: ISimpleConfig);
|
|
10
|
+
getDataSource(resourceType: string, sessionId: string, params?: IAveApiDeviceDataParams): IDataSource<CemApiDtoUnion[]>;
|
|
11
|
+
private getProtocolStrategy;
|
|
12
|
+
private getDataTypeStrategy;
|
|
13
|
+
private getJsonSchemaValidator;
|
|
14
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var PpasAveApiDataSourceProvider_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.PpasAveApiDataSourceProvider = void 0;
|
|
17
|
+
const AveApiDeviceDataJsonSchema_1 = require("../../../../schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema");
|
|
18
|
+
const AveApiPlacesJsonSchema_1 = require("../../../../schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema");
|
|
19
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
20
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
21
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
22
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
23
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
24
|
+
const PpasAveApiHelper_1 = require("./helpers/PpasAveApiHelper");
|
|
25
|
+
let PpasAveApiDataSourceProvider = exports.PpasAveApiDataSourceProvider = PpasAveApiDataSourceProvider_1 = class PpasAveApiDataSourceProvider {
|
|
26
|
+
constructor(config) {
|
|
27
|
+
this.config = config;
|
|
28
|
+
}
|
|
29
|
+
getDataSource(resourceType, sessionId, params) {
|
|
30
|
+
const baseUrl = this.config.getValue("module.energetics.commodityProviders.ppas_ave_api.baseUrl");
|
|
31
|
+
const url = new URL(baseUrl);
|
|
32
|
+
url.pathname += "/" + resourceType;
|
|
33
|
+
url.searchParams.append("sessionId", sessionId);
|
|
34
|
+
if (params) {
|
|
35
|
+
url.searchParams.append("placeId", params.placeId.toString());
|
|
36
|
+
url.searchParams.append("dateFrom", params.dateFrom);
|
|
37
|
+
url.searchParams.append("dateTo", params.dateTo);
|
|
38
|
+
url.searchParams.append("isoDate", params.isoDate);
|
|
39
|
+
url.searchParams.append("dataType", params.dataType);
|
|
40
|
+
}
|
|
41
|
+
return new integration_engine_1.DataSource(PpasAveApiDataSourceProvider_1.DATASOURCE_NAME, this.getProtocolStrategy(url, sessionId), this.getDataTypeStrategy(resourceType), this.getJsonSchemaValidator(resourceType));
|
|
42
|
+
}
|
|
43
|
+
getProtocolStrategy(url, sessionId) {
|
|
44
|
+
return new integration_engine_1.HTTPProtocolStrategy({
|
|
45
|
+
method: "GET",
|
|
46
|
+
headers: {
|
|
47
|
+
Accept: "application/json",
|
|
48
|
+
},
|
|
49
|
+
timeout: 20000,
|
|
50
|
+
url: url.toString(),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
getDataTypeStrategy(resourceType) {
|
|
54
|
+
switch (resourceType) {
|
|
55
|
+
case PpasAveApiHelper_1.PpasAveApiHelper.resourceType.Places:
|
|
56
|
+
return new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "PageItems" });
|
|
57
|
+
case PpasAveApiHelper_1.PpasAveApiHelper.resourceType.DeviceData:
|
|
58
|
+
return new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "" });
|
|
59
|
+
default:
|
|
60
|
+
throw new golemio_errors_1.GeneralError(`Unknown resource type: ${resourceType}`, PpasAveApiDataSourceProvider_1.name);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
getJsonSchemaValidator(resourceType) {
|
|
64
|
+
switch (resourceType) {
|
|
65
|
+
case PpasAveApiHelper_1.PpasAveApiHelper.resourceType.Places:
|
|
66
|
+
return new golemio_validator_1.JSONSchemaValidator(PpasAveApiDataSourceProvider_1.DATASOURCE_NAME + "Places", AveApiPlacesJsonSchema_1.aveApiPlacesJsonSchema);
|
|
67
|
+
case PpasAveApiHelper_1.PpasAveApiHelper.resourceType.DeviceData:
|
|
68
|
+
return new golemio_validator_1.JSONSchemaValidator(PpasAveApiDataSourceProvider_1.DATASOURCE_NAME + "DeviceData", AveApiDeviceDataJsonSchema_1.aveApiDeviceDataJsonSchema);
|
|
69
|
+
default:
|
|
70
|
+
throw new golemio_errors_1.GeneralError(`Unknown resource type: ${resourceType}`, PpasAveApiDataSourceProvider_1.name);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
PpasAveApiDataSourceProvider.DATASOURCE_NAME = "PpasAveApiDataSource";
|
|
75
|
+
exports.PpasAveApiDataSourceProvider = PpasAveApiDataSourceProvider = PpasAveApiDataSourceProvider_1 = __decorate([
|
|
76
|
+
(0, tsyringe_1.injectable)(),
|
|
77
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
|
|
78
|
+
__metadata("design:paramtypes", [Object])
|
|
79
|
+
], PpasAveApiDataSourceProvider);
|
|
80
|
+
//# sourceMappingURL=PpasAveApiDataSourceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PpasAveApiDataSourceProvider.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface IAveConfig {
|
|
2
|
+
user: string;
|
|
3
|
+
pass: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Helper class for requesting additional data from PPAS InternetAVE API
|
|
7
|
+
*/
|
|
8
|
+
declare class PpasAveApiHelper {
|
|
9
|
+
private baseUrl;
|
|
10
|
+
private config;
|
|
11
|
+
static API_DATE_TZ: string;
|
|
12
|
+
constructor(baseUrl: string, config: IAveConfig);
|
|
13
|
+
/**
|
|
14
|
+
* Create API session and return session ID
|
|
15
|
+
*/
|
|
16
|
+
createSession: () => Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Terminate current session/invalidate session ID
|
|
19
|
+
*/
|
|
20
|
+
terminateSession: (sessionId: string) => Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Return resource types/identifiers
|
|
23
|
+
*/
|
|
24
|
+
static get resourceType(): {
|
|
25
|
+
readonly Logon: "logon.rails";
|
|
26
|
+
readonly LogOff: "LogOff.rails";
|
|
27
|
+
readonly Places: "GetPlaces.rails";
|
|
28
|
+
readonly DeviceData: "GetDeviceData.rails";
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export { PpasAveApiHelper };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PpasAveApiHelper = void 0;
|
|
16
|
+
const axios_1 = __importDefault(require("@golemio/core/dist/shared/axios"));
|
|
17
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
18
|
+
/**
|
|
19
|
+
* Helper class for requesting additional data from PPAS InternetAVE API
|
|
20
|
+
*/
|
|
21
|
+
class PpasAveApiHelper {
|
|
22
|
+
constructor(baseUrl, config) {
|
|
23
|
+
this.baseUrl = baseUrl;
|
|
24
|
+
this.config = config;
|
|
25
|
+
/**
|
|
26
|
+
* Create API session and return session ID
|
|
27
|
+
*/
|
|
28
|
+
this.createSession = () => __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const { user, pass } = this.config;
|
|
30
|
+
try {
|
|
31
|
+
const url = new URL(this.baseUrl);
|
|
32
|
+
url.pathname += "/" + PpasAveApiHelper.resourceType.Logon;
|
|
33
|
+
const { data } = yield axios_1.default.request({
|
|
34
|
+
method: "post",
|
|
35
|
+
url: url.toString(),
|
|
36
|
+
headers: {
|
|
37
|
+
Accept: "application/json",
|
|
38
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
39
|
+
},
|
|
40
|
+
timeout: 10000,
|
|
41
|
+
data: new URLSearchParams({
|
|
42
|
+
name: user,
|
|
43
|
+
password: pass,
|
|
44
|
+
}),
|
|
45
|
+
});
|
|
46
|
+
if ((data === null || data === void 0 ? void 0 : data.success) && typeof (data === null || data === void 0 ? void 0 : data.sessionId) === "string") {
|
|
47
|
+
return data.sessionId;
|
|
48
|
+
}
|
|
49
|
+
throw new golemio_errors_1.GeneralError("Cannot parse PPAS AVE Session ID from the server response", PpasAveApiHelper.name);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
53
|
+
throw err;
|
|
54
|
+
}
|
|
55
|
+
throw new golemio_errors_1.GeneralError("Cannot retrieve PPAS AVE Session ID", PpasAveApiHelper.name, err);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* Terminate current session/invalidate session ID
|
|
60
|
+
*/
|
|
61
|
+
this.terminateSession = (sessionId) => __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
try {
|
|
63
|
+
const url = new URL(this.baseUrl);
|
|
64
|
+
url.pathname += "/" + PpasAveApiHelper.resourceType.LogOff;
|
|
65
|
+
yield axios_1.default.request({
|
|
66
|
+
method: "get",
|
|
67
|
+
url: url.toString(),
|
|
68
|
+
params: {
|
|
69
|
+
sessionId,
|
|
70
|
+
},
|
|
71
|
+
timeout: 10000,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
throw new golemio_errors_1.GeneralError("Cannot terminate PPAS AVE API session", PpasAveApiHelper.name, err);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Return resource types/identifiers
|
|
81
|
+
*/
|
|
82
|
+
static get resourceType() {
|
|
83
|
+
return {
|
|
84
|
+
Logon: "logon.rails",
|
|
85
|
+
LogOff: "LogOff.rails",
|
|
86
|
+
Places: "GetPlaces.rails",
|
|
87
|
+
DeviceData: "GetDeviceData.rails",
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.PpasAveApiHelper = PpasAveApiHelper;
|
|
92
|
+
PpasAveApiHelper.API_DATE_TZ = "Europe/Prague";
|
|
93
|
+
//# sourceMappingURL=PpasAveApiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PpasAveApiHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4EAAoD;AACpD,6EAA8F;AAM9F;;GAEG;AACH,MAAM,gBAAgB;IAGlB,YAAoB,OAAe,EAAU,MAAkB;QAA3C,YAAO,GAAP,OAAO,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAY;QAC/D;;WAEG;QACI,kBAAa,GAAG,GAA0B,EAAE;YAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAEnC,IAAI;gBACA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,GAAG,CAAC,QAAQ,IAAI,GAAG,GAAG,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC;gBAE1D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,eAAK,CAAC,OAAO,CAAC;oBACjC,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;oBACnB,OAAO,EAAE;wBACL,MAAM,EAAE,kBAAkB;wBAC1B,cAAc,EAAE,mCAAmC;qBACtD;oBACD,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI,eAAe,CAAC;wBACtB,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,IAAI;qBACjB,CAAC;iBACL,CAAC,CAAC;gBAEH,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,CAAA,KAAK,QAAQ,EAAE;oBACtD,OAAO,IAAI,CAAC,SAAS,CAAC;iBACzB;gBAED,MAAM,IAAI,6BAAY,CAAC,2DAA2D,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;aAC9G;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,6BAAY,CAAC,qCAAqC,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC7F;QACL,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,qBAAgB,GAAG,CAAO,SAAiB,EAAiB,EAAE;YACjE,IAAI;gBACA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,GAAG,CAAC,QAAQ,IAAI,GAAG,GAAG,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC;gBAE3D,MAAM,eAAK,CAAC,OAAO,CAAC;oBAChB,MAAM,EAAE,KAAK;oBACb,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;oBACnB,MAAM,EAAE;wBACJ,SAAS;qBACZ;oBACD,OAAO,EAAE,KAAK;iBACjB,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,uCAAuC,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC/F;QACL,CAAC,CAAA,CAAC;IA1DgE,CAAC;IA4DnE;;OAEG;IACI,MAAM,KAAK,YAAY;QAC1B,OAAO;YACH,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,iBAAiB;YACzB,UAAU,EAAE,qBAAqB;SAC3B,CAAC;IACf,CAAC;;AAGI,4CAAgB;AA3EP,4BAAW,GAAG,eAAe,AAAlB,CAAmB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAveApiDeviceDataParams.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/interfaces/IAveApiDeviceDataParams.ts"],"names":[],"mappings":""}
|
|
@@ -9,8 +9,11 @@ const CemMeasurementTransformation_1 = require("../transformations/CemMeasuremen
|
|
|
9
9
|
const FetchMeasurementOptionsStaticDataTask_1 = require("../workers/tasks/FetchMeasurementOptionsStaticDataTask");
|
|
10
10
|
const FetchVeoliaMeasurementsTask_1 = require("../workers/tasks/FetchVeoliaMeasurementsTask");
|
|
11
11
|
const Di_1 = require("../../ioc/Di");
|
|
12
|
+
const PpasAveApiDataSourceProvider_1 = require("../datasources/ppas-ave-api/PpasAveApiDataSourceProvider");
|
|
12
13
|
const StaticMeterSettingsRepository_1 = require("../repositories/StaticMeterSettingsRepository");
|
|
14
|
+
const AveMeasurementTransformation_1 = require("../transformations/AveMeasurementTransformation");
|
|
13
15
|
const FetchMeasurementsFromProvidersTask_1 = require("../workers/tasks/FetchMeasurementsFromProvidersTask");
|
|
16
|
+
const FetchPpasMeasurementsTask_1 = require("../workers/tasks/FetchPpasMeasurementsTask");
|
|
14
17
|
const WorkerContainerToken_1 = require("./WorkerContainerToken");
|
|
15
18
|
//#region Initialization
|
|
16
19
|
const CommodityContainer = Di_1.VPalaceContainer.createChildContainer();
|
|
@@ -18,6 +21,7 @@ exports.CommodityContainer = CommodityContainer;
|
|
|
18
21
|
//#endregion
|
|
19
22
|
//#region Datasource
|
|
20
23
|
CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.CemApiDataSourceProvider, CemApiDataSourceProvider_1.CemApiDataSourceProvider);
|
|
24
|
+
CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.PpasAveApiDataSourceProvider, PpasAveApiDataSourceProvider_1.PpasAveApiDataSourceProvider);
|
|
21
25
|
CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.CommodityProviderDataSourceFactory, CommodityProviderDataSourceFactory_1.CommodityProviderDataSourceFactory);
|
|
22
26
|
CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.StaticMeterSettingsDataSourceProvider, StaticMeterSettingsDataSourceProvider_1.StaticMeterSettingsDataSourceProvider);
|
|
23
27
|
//#endregion
|
|
@@ -27,11 +31,13 @@ CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.StaticMe
|
|
|
27
31
|
//#endregion
|
|
28
32
|
//#region Transformation
|
|
29
33
|
CommodityContainer.registerSingleton(WorkerContainerToken_1.WorkerContainerToken.CemMeasurementTransformation, CemMeasurementTransformation_1.CemMeasurementTransformation);
|
|
34
|
+
CommodityContainer.registerSingleton(WorkerContainerToken_1.WorkerContainerToken.AveMeasurementTransformation, AveMeasurementTransformation_1.AveMeasurementTransformation);
|
|
30
35
|
//#endregion
|
|
31
36
|
//#region Factory
|
|
32
37
|
//#endregion
|
|
33
38
|
//#region Tasks
|
|
34
39
|
CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.FetchMeasurementsFromProvidersTask, FetchMeasurementsFromProvidersTask_1.FetchMeasurementsFromProvidersTask);
|
|
35
40
|
CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.FetchVeoliaMeasurementsTask, FetchVeoliaMeasurementsTask_1.FetchVeoliaMeasurementsTask);
|
|
41
|
+
CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.FetchPpasMeasurementsTask, FetchPpasMeasurementsTask_1.FetchPpasMeasurementsTask);
|
|
36
42
|
CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.FetchMeasurementOptionsStaticDataTask, FetchMeasurementOptionsStaticDataTask_1.FetchMeasurementOptionsStaticDataTask);
|
|
37
43
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,0GAA4H;AAC5H,8FAAgH;AAChH,4HAA8I;AAC9I,iFAAmG;AACnG,kGAAoH;AACpH,kHAAoI;AACpI,8FAAgH;AAChH,qCAA8C;AAE9C,iGAA8F;AAC9F,4GAAyG;AACzG,iEAA8D;AAE9D,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,qBAAgB,CAAC,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,0GAA4H;AAC5H,8FAAgH;AAChH,4HAA8I;AAC9I,iFAAmG;AACnG,kGAAoH;AACpH,kHAAoI;AACpI,8FAAgH;AAChH,qCAA8C;AAE9C,2GAAwG;AACxG,iGAA8F;AAC9F,kGAA+F;AAC/F,4GAAyG;AACzG,0FAAuF;AACvF,iEAA8D;AAE9D,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,qBAAgB,CAAC,oBAAoB,EAAE,CAAC;AA8B/E,gDAAkB;AA7B3B,YAAY;AAEZ,oBAAoB;AACpB,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACrG,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AAC7G,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACzH,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qCAAqC,EAAE,6EAAqC,CAAC,CAAC;AAC/H,YAAY;AAEZ,sBAAsB;AACtB,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC/F,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC/G,YAAY;AAEZ,wBAAwB;AACxB,kBAAkB,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AACtH,kBAAkB,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AACtH,YAAY;AAEZ,iBAAiB;AACjB,YAAY;AAEZ,eAAe;AACf,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACzH,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC3G,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACvG,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qCAAqC,EAAE,6EAAqC,CAAC,CAAC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
declare const WorkerContainerToken: {
|
|
2
2
|
CemApiDataSourceProvider: symbol;
|
|
3
|
+
PpasAveApiDataSourceProvider: symbol;
|
|
3
4
|
CommodityProviderDataSourceFactory: symbol;
|
|
4
5
|
StaticMeterSettingsDataSourceProvider: symbol;
|
|
5
6
|
CemMeasurementTransformation: symbol;
|
|
7
|
+
AveMeasurementTransformation: symbol;
|
|
6
8
|
MeasurementRepository: symbol;
|
|
7
9
|
StaticMeterSettingsRepository: symbol;
|
|
8
10
|
FetchMeasurementsFromProvidersTask: symbol;
|
|
9
11
|
FetchVeoliaMeasurementsTask: symbol;
|
|
12
|
+
FetchPpasMeasurementsTask: symbol;
|
|
10
13
|
FetchMeasurementOptionsStaticDataTask: symbol;
|
|
11
14
|
};
|
|
12
15
|
export { WorkerContainerToken };
|
|
@@ -3,13 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.WorkerContainerToken = void 0;
|
|
4
4
|
const WorkerContainerToken = {
|
|
5
5
|
CemApiDataSourceProvider: Symbol(),
|
|
6
|
+
PpasAveApiDataSourceProvider: Symbol(),
|
|
6
7
|
CommodityProviderDataSourceFactory: Symbol(),
|
|
7
8
|
StaticMeterSettingsDataSourceProvider: Symbol(),
|
|
8
9
|
CemMeasurementTransformation: Symbol(),
|
|
10
|
+
AveMeasurementTransformation: Symbol(),
|
|
9
11
|
MeasurementRepository: Symbol(),
|
|
10
12
|
StaticMeterSettingsRepository: Symbol(),
|
|
11
13
|
FetchMeasurementsFromProvidersTask: Symbol(),
|
|
12
14
|
FetchVeoliaMeasurementsTask: Symbol(),
|
|
15
|
+
FetchPpasMeasurementsTask: Symbol(),
|
|
13
16
|
FetchMeasurementOptionsStaticDataTask: Symbol(),
|
|
14
17
|
};
|
|
15
18
|
exports.WorkerContainerToken = WorkerContainerToken;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/WorkerContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,wBAAwB,EAAE,MAAM,EAAE;IAClC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,4BAA4B,EAAE,MAAM,EAAE;IACtC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,2BAA2B,EAAE,MAAM,EAAE;IACrC,qCAAqC,EAAE,MAAM,EAAE;CAClD,CAAC;AAEO,oDAAoB"}
|
|
1
|
+
{"version":3,"file":"WorkerContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/WorkerContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,wBAAwB,EAAE,MAAM,EAAE;IAClC,4BAA4B,EAAE,MAAM,EAAE;IACtC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,4BAA4B,EAAE,MAAM,EAAE;IACtC,4BAA4B,EAAE,MAAM,EAAE;IACtC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,2BAA2B,EAAE,MAAM,EAAE;IACrC,yBAAyB,EAAE,MAAM,EAAE;IACnC,qCAAqC,EAAE,MAAM,EAAE;CAClD,CAAC;AAEO,oDAAoB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IAveApiDeviceDataDto } from "../../../schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto";
|
|
2
|
+
import { IMeasurementOption } from "../../../schema-definitions/datasources/interfaces/IStaticMeterSettings";
|
|
3
|
+
import { IMeasurementDto } from "../../../schema-definitions/models/interfaces/IMeasurementDto";
|
|
4
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
5
|
+
export declare class AveMeasurementTransformation extends AbstractTransformation<IMeasurementOption & IAveApiDeviceDataDto, IMeasurementDto> {
|
|
6
|
+
name: string;
|
|
7
|
+
protected transformInternal: (data: IMeasurementOption & IAveApiDeviceDataDto) => IMeasurementDto;
|
|
8
|
+
}
|
package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AveMeasurementTransformation = void 0;
|
|
10
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
11
|
+
const luxon_1 = require("@golemio/core/dist/shared/luxon");
|
|
12
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
13
|
+
const CommodityProviderEnum_1 = require("../datasources/helpers/CommodityProviderEnum");
|
|
14
|
+
const PpasAveApiHelper_1 = require("../datasources/ppas-ave-api/helpers/PpasAveApiHelper");
|
|
15
|
+
let AveMeasurementTransformation = exports.AveMeasurementTransformation = class AveMeasurementTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.name = "AveMeasurementTransformation";
|
|
19
|
+
this.transformInternal = (data) => {
|
|
20
|
+
return {
|
|
21
|
+
source: CommodityProviderEnum_1.CommodityProvider.PpasInternetAveApi,
|
|
22
|
+
measurement_category: data.Name,
|
|
23
|
+
addr: data.Addr,
|
|
24
|
+
meter: data.Meter,
|
|
25
|
+
timestamp: luxon_1.DateTime.fromISO(data.Timestamp, {
|
|
26
|
+
zone: PpasAveApiHelper_1.PpasAveApiHelper.API_DATE_TZ,
|
|
27
|
+
}).toJSDate(),
|
|
28
|
+
variable: data.Var,
|
|
29
|
+
type: data.Type,
|
|
30
|
+
value: data.ConvertDifference,
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
exports.AveMeasurementTransformation = AveMeasurementTransformation = __decorate([
|
|
36
|
+
(0, tsyringe_1.injectable)()
|
|
37
|
+
], AveMeasurementTransformation);
|
|
38
|
+
//# sourceMappingURL=AveMeasurementTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AveMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAGA,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAChE,wFAAiF;AACjF,2FAAwF;AAGjF,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,+CAGjD;IAHM;;QAII,SAAI,GAAG,8BAA8B,CAAC;QAEnC,sBAAiB,GAAG,CAAC,IAA+C,EAAmB,EAAE;YAC/F,OAAO;gBACH,MAAM,EAAE,yCAAiB,CAAC,kBAAkB;gBAC5C,oBAAoB,EAAE,IAAI,CAAC,IAAI;gBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;oBACxC,IAAI,EAAE,mCAAgB,CAAC,WAAW;iBACrC,CAAC,CAAC,QAAQ,EAAE;gBACb,QAAQ,EAAE,IAAI,CAAC,GAAG;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,iBAAiB;aAChC,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;uCApBY,4BAA4B;IADxC,IAAA,qBAAU,GAAE;GACA,4BAA4B,CAoBxC"}
|
package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js
CHANGED
|
@@ -19,7 +19,7 @@ let CemMeasurementTransformation = exports.CemMeasurementTransformation = class
|
|
|
19
19
|
return {
|
|
20
20
|
source: CommodityProviderEnum_1.CommodityProvider.UnimonitorCemApi,
|
|
21
21
|
measurement_category: data.Name,
|
|
22
|
-
addr: this.formatAddress(data.Addr, data.counterTypeId),
|
|
22
|
+
addr: this.formatAddress(data.Addr, data.counterTypeId, data.Var),
|
|
23
23
|
meter: data.Meter,
|
|
24
24
|
timestamp: new Date(data.timestamp),
|
|
25
25
|
variable: data.Var,
|
|
@@ -27,14 +27,14 @@ let CemMeasurementTransformation = exports.CemMeasurementTransformation = class
|
|
|
27
27
|
value: data.value,
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
|
-
this.formatAddress = (
|
|
30
|
+
this.formatAddress = (address, counterTypeId, variable) => {
|
|
31
31
|
if (counterTypeId === helpers_1.UnimonitorCemApiHelper.counterType.ElHighTariff) {
|
|
32
|
-
|
|
32
|
+
address += "-VT"; // Vysoky tarif
|
|
33
33
|
}
|
|
34
34
|
else if (counterTypeId === helpers_1.UnimonitorCemApiHelper.counterType.ElLowTariff) {
|
|
35
|
-
|
|
35
|
+
address += "-NT"; // Nizky tarif
|
|
36
36
|
}
|
|
37
|
-
return
|
|
37
|
+
return address + "/" + variable;
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CemMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAGA,6GAA0G;AAC1G,iEAAgE;AAChE,wFAAiF;AACjF,2CAAqD;AAG9C,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,+CAGjD;IAHM;;QAII,SAAI,GAAG,8BAA8B,CAAC;QAEnC,sBAAiB,GAAG,CAC1B,IAA4E,EAC7D,EAAE;YACjB,OAAO;gBACH,MAAM,EAAE,yCAAiB,CAAC,gBAAgB;gBAC1C,oBAAoB,EAAE,IAAI,CAAC,IAAI;gBAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"CemMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAGA,6GAA0G;AAC1G,iEAAgE;AAChE,wFAAiF;AACjF,2CAAqD;AAG9C,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,+CAGjD;IAHM;;QAII,SAAI,GAAG,8BAA8B,CAAC;QAEnC,sBAAiB,GAAG,CAC1B,IAA4E,EAC7D,EAAE;YACjB,OAAO;gBACH,MAAM,EAAE,yCAAiB,CAAC,gBAAgB;gBAC1C,oBAAoB,EAAE,IAAI,CAAC,IAAI;gBAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC;gBACjE,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACnC,QAAQ,EAAE,IAAI,CAAC,GAAG;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC;QACN,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,OAAe,EAAE,aAAqB,EAAE,QAAgB,EAAU,EAAE;YACzF,IAAI,aAAa,KAAK,gCAAsB,CAAC,WAAW,CAAC,YAAY,EAAE;gBACnE,OAAO,IAAI,KAAK,CAAC,CAAC,eAAe;aACpC;iBAAM,IAAI,aAAa,KAAK,gCAAsB,CAAC,WAAW,CAAC,WAAW,EAAE;gBACzE,OAAO,IAAI,KAAK,CAAC,CAAC,cAAc;aACnC;YAED,OAAO,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC;QACpC,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;uCA9BY,4BAA4B;IADxC,IAAA,qBAAU,GAAE;GACA,4BAA4B,CA8BxC"}
|
|
@@ -17,6 +17,7 @@ class CommodityWorker extends integration_engine_1.AbstractWorker {
|
|
|
17
17
|
this.registerTask(Di_1.CommodityContainer.resolve(WorkerContainerToken_1.WorkerContainerToken.FetchMeasurementsFromProvidersTask));
|
|
18
18
|
this.registerTask(Di_1.CommodityContainer.resolve(WorkerContainerToken_1.WorkerContainerToken.FetchMeasurementOptionsStaticDataTask));
|
|
19
19
|
this.registerTask(Di_1.CommodityContainer.resolve(WorkerContainerToken_1.WorkerContainerToken.FetchVeoliaMeasurementsTask));
|
|
20
|
+
this.registerTask(Di_1.CommodityContainer.resolve(WorkerContainerToken_1.WorkerContainerToken.FetchPpasMeasurementsTask));
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
exports.CommodityWorker = CommodityWorker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommodityWorker.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/workers/CommodityWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAqF;AACrF,4CAA2C;AAC3C,kCAA+C;AAC/C,sEAAmE;
|
|
1
|
+
{"version":3,"file":"CommodityWorker.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/workers/CommodityWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAqF;AACrF,4CAA2C;AAC3C,kCAA+C;AAC/C,sEAAmE;AAMnE,MAAa,eAAgB,SAAQ,mCAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QAyBtB,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAvBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CACtB,2CAAoB,CAAC,kCAAkC,CAC1D,CACJ,CAAC;QAEF,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CACtB,2CAAoB,CAAC,qCAAqC,CAC7D,CACJ,CAAC;QAEF,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CAA8B,2CAAoB,CAAC,2BAA2B,CAAC,CAC5G,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,uBAAkB,CAAC,OAAO,CAA4B,2CAAoB,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC7H,CAAC;CAMJ;AA9BD,0CA8BC"}
|
package/dist/integration-engine/commodity-providers/workers/interfaces/IPpasMeasurementsParams.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CommodityProviderType } from "../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum";
|
|
2
|
+
import { IMeasurementsParams } from "./IMeasurementsParams";
|
|
3
|
+
export interface IPpasMeasurementsParams extends IMeasurementsParams {
|
|
4
|
+
providerType: CommodityProviderType.PpasAveV | CommodityProviderType.PpasAveM;
|
|
5
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPpasMeasurementsParams.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/interfaces/IPpasMeasurementsParams.ts"],"names":[],"mappings":""}
|
package/dist/integration-engine/commodity-providers/workers/schema/PpasMeasurementsSchema.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CommodityProviderType } from "../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum";
|
|
2
|
+
import { IPpasMeasurementsParams } from "../interfaces/IPpasMeasurementsParams";
|
|
3
|
+
import { MeasurementsValidationSchema } from "./MeasurementsSchema";
|
|
4
|
+
export declare class PpasMeasurementsValidationSchema extends MeasurementsValidationSchema implements IPpasMeasurementsParams {
|
|
5
|
+
providerType: CommodityProviderType.PpasAveV | CommodityProviderType.PpasAveM;
|
|
6
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PpasMeasurementsValidationSchema = void 0;
|
|
13
|
+
const CommodityProviderTypeEnum_1 = require("../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum");
|
|
14
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
15
|
+
const MeasurementsSchema_1 = require("./MeasurementsSchema");
|
|
16
|
+
class PpasMeasurementsValidationSchema extends MeasurementsSchema_1.MeasurementsValidationSchema {
|
|
17
|
+
}
|
|
18
|
+
exports.PpasMeasurementsValidationSchema = PpasMeasurementsValidationSchema;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_validator_1.IsEnum)([CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveV, CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveM]),
|
|
21
|
+
__metadata("design:type", String)
|
|
22
|
+
], PpasMeasurementsValidationSchema.prototype, "providerType", void 0);
|
|
23
|
+
//# sourceMappingURL=PpasMeasurementsSchema.js.map
|
package/dist/integration-engine/commodity-providers/workers/schema/PpasMeasurementsSchema.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PpasMeasurementsSchema.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/schema/PpasMeasurementsSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uHAAsF;AACtF,+EAAmE;AAEnE,6DAAoE;AAEpE,MAAa,gCAAiC,SAAQ,iDAA4B;CAGjF;AAHD,4EAGC;AADG;IADC,IAAA,wBAAM,EAAC,CAAC,iDAAqB,CAAC,QAAQ,EAAE,iDAAqB,CAAC,QAAQ,CAAC,CAAC;;sEACM"}
|
package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MeasurementRepository } from "../../repositories/MeasurementRepository";
|
|
2
|
+
import { IMeasurementDto } from "../../../../schema-definitions/models/interfaces/IMeasurementDto";
|
|
3
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
4
|
+
import { IMeasurementsParams } from "../interfaces/IMeasurementsParams";
|
|
5
|
+
export declare abstract class AbstractFetchMeasurementsTask<T extends IMeasurementsParams> extends AbstractTask<T> {
|
|
6
|
+
protected abstract measurementRepository: MeasurementRepository;
|
|
7
|
+
constructor();
|
|
8
|
+
protected saveConsumptionData(data: IMeasurementDto[]): Promise<void>;
|
|
9
|
+
}
|
package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AbstractFetchMeasurementsTask = void 0;
|
|
13
|
+
const constants_1 = require("../../constants");
|
|
14
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
15
|
+
const MEASUREMENTS_BATCH_SIZE = 5000;
|
|
16
|
+
class AbstractFetchMeasurementsTask extends integration_engine_1.AbstractTask {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(constants_1.WORKER_NAME);
|
|
19
|
+
}
|
|
20
|
+
saveConsumptionData(data) {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
for (let i = 0; i < data.length; i += MEASUREMENTS_BATCH_SIZE) {
|
|
23
|
+
let batch = data.slice(i, i + MEASUREMENTS_BATCH_SIZE);
|
|
24
|
+
// Remove duplicated measurements from the batch
|
|
25
|
+
batch = batch.filter((item, index, self) => index ===
|
|
26
|
+
self.findIndex((t) => t.timestamp.getTime() === item.timestamp.getTime() &&
|
|
27
|
+
t.addr === item.addr &&
|
|
28
|
+
t.variable === item.variable &&
|
|
29
|
+
t.meter === item.meter));
|
|
30
|
+
yield this.measurementRepository.bulkSave(batch);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.AbstractFetchMeasurementsTask = AbstractFetchMeasurementsTask;
|
|
36
|
+
//# sourceMappingURL=AbstractFetchMeasurementsTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractFetchMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAgE;AAGhE,8EAAqE;AAGrE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAsB,6BAA6D,SAAQ,iCAAe;IAGtG;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;IACvB,CAAC;IAEe,mBAAmB,CAAC,IAAuB;;YACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE;gBAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;gBAEvD,gDAAgD;gBAChD,KAAK,GAAG,KAAK,CAAC,MAAM,CAChB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAClB,KAAK;oBACL,IAAI,CAAC,SAAS,CACV,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;wBAClD,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;wBACpB,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;wBAC5B,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAC7B,CACR,CAAC;gBAEF,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACpD;QACL,CAAC;KAAA;CACJ;AA3BD,sEA2BC"}
|
|
@@ -35,6 +35,8 @@ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
|
35
35
|
const optionLookupKeys = {
|
|
36
36
|
[CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaWater]: "CemWaterOptions",
|
|
37
37
|
[CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaElectro]: "CemElectroOptions",
|
|
38
|
+
[CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveV]: "AveVOptions",
|
|
39
|
+
[CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveM]: "AveMOptions",
|
|
38
40
|
};
|
|
39
41
|
let FetchMeasurementOptionsStaticDataTask = exports.FetchMeasurementOptionsStaticDataTask = class FetchMeasurementOptionsStaticDataTask extends AbstractEmptyTask_1.AbstractEmptyTask {
|
|
40
42
|
constructor(logger, staticDataSourceProvider, meterSettingsRepository) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchMeasurementOptionsStaticDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,+HAA8I;AAC9I,yEAAwF;AACxF,oGAAmH;AAEnH,uHAAsF;AACtF,yHAAwF;AACxF,wEAAqE;AAErE,uGAAoG;AACpG,6EAAwE;AACxE,iEAAwE;AAExE,MAAM,gBAAgB,GAAG;IACrB,CAAC,iDAAqB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IAC5D,CAAC,iDAAqB,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"FetchMeasurementOptionsStaticDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,+HAA8I;AAC9I,yEAAwF;AACxF,oGAAmH;AAEnH,uHAAsF;AACtF,yHAAwF;AACxF,wEAAqE;AAErE,uGAAoG;AACpG,6EAAwE;AACxE,iEAAwE;AAExE,MAAM,gBAAgB,GAAG;IACrB,CAAC,iDAAqB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IAC5D,CAAC,iDAAqB,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;IAChE,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,aAAa;IAC/C,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,aAAa;CAClD,CAAC;AAGK,IAAM,qCAAqC,mDAA3C,MAAM,qCAAsC,SAAQ,qCAAiB;IAIxE,YAC8B,MAAuB,EAEjD,wBAAuE,EAEvE,uBAA8D;QAE9D,KAAK,CAAC,uBAAW,CAAC,CAAC;QANe,WAAM,GAAN,MAAM,CAAS;QAEzC,6BAAwB,GAAxB,wBAAwB,CAAuC;QAE/D,4BAAuB,GAAvB,uBAAuB,CAA+B;QARlD,cAAS,GAAG,mCAAmC,CAAC;QAChD,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAUnD,CAAC;IAEe,OAAO;;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAEhD,KAAK,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,aAAa,EAAE,GAAiC,CAAC,CAAC;gBACtG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,SAAS;iBACZ;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,4BAA4B,iBAAiB,EAAE,CAAC,CAAC;gBAC3F,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CACvC,iBAA0C,EAC1C,mDAAsB,CAAC,kBAAkB,EACzC,OAAO,CACV,CAAC;aACL;QACL,CAAC;KAAA;IAEO,8BAA8B,CAClC,aAAmC,EACnC,GAA+B;QAE/B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAA,EAAE;YAC/B,MAAM,IAAI,6BAAY,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;SAC3E;QACD,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAC;IACxC,CAAC;CACJ,CAAA;gDA3CY,qCAAqC;IADjD,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qCAAqC,CAAC,CAAA;IAElE,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;6CADzB,6EAAqC;QAEtC,6DAA6B;GATzD,qCAAqC,CA2CjD"}
|
|
@@ -35,6 +35,7 @@ let FetchMeasurementsFromProvidersTask = exports.FetchMeasurementsFromProvidersT
|
|
|
35
35
|
execute(data) {
|
|
36
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
37
|
for (const { dateFrom, dateTo } of this.generateDateParams(data)) {
|
|
38
|
+
// Veolia
|
|
38
39
|
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "fetchVeoliaMeasurements", {
|
|
39
40
|
providerType: CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaWater,
|
|
40
41
|
dateFrom,
|
|
@@ -45,6 +46,17 @@ let FetchMeasurementsFromProvidersTask = exports.FetchMeasurementsFromProvidersT
|
|
|
45
46
|
dateFrom,
|
|
46
47
|
dateTo,
|
|
47
48
|
});
|
|
49
|
+
// PPAS - Pražská plynárenská
|
|
50
|
+
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "fetchPpasMeasurements", {
|
|
51
|
+
providerType: CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveV,
|
|
52
|
+
dateFrom,
|
|
53
|
+
dateTo,
|
|
54
|
+
});
|
|
55
|
+
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "fetchPpasMeasurements", {
|
|
56
|
+
providerType: CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveM,
|
|
57
|
+
dateFrom,
|
|
58
|
+
dateTo,
|
|
59
|
+
});
|
|
48
60
|
}
|
|
49
61
|
});
|
|
50
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchMeasurementsFromProvidersTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,uHAAsF;AACtF,8EAAmF;AACnF,2DAAqE;AACrE,iEAAgE;AAGhE,yEAAgF;AAGzE,IAAM,kCAAkC,gDAAxC,MAAM,kCAAmC,SAAQ,iCAAmC;IAKvF;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;QALP,cAAS,GAAG,gCAAgC,CAAC;QAC7C,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,WAAM,GAAG,qDAA8B,CAAC;IAIxD,CAAC;IAEY,OAAO,CAAC,IAA2B;;YAC5C,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAC9D,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,EAAE;oBAC5E,YAAY,EAAE,iDAAqB,CAAC,iBAAiB;oBACrD,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;gBAEH,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,EAAE;oBAC5E,YAAY,EAAE,iDAAqB,CAAC,mBAAmB;oBACvD,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAEO,CAAC,kBAAkB,CAAC,IAA2B;QACnD,MAAM,WAAW,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9G,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAExC,MAAM;gBACF,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE;gBAC3B,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE;aAC1B,CAAC;SACL;IACL,CAAC;CACJ,CAAA;
|
|
1
|
+
{"version":3,"file":"FetchMeasurementsFromProvidersTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,uHAAsF;AACtF,8EAAmF;AACnF,2DAAqE;AACrE,iEAAgE;AAGhE,yEAAgF;AAGzE,IAAM,kCAAkC,gDAAxC,MAAM,kCAAmC,SAAQ,iCAAmC;IAKvF;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;QALP,cAAS,GAAG,gCAAgC,CAAC;QAC7C,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,WAAM,GAAG,qDAA8B,CAAC;IAIxD,CAAC;IAEY,OAAO,CAAC,IAA2B;;YAC5C,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAC9D,SAAS;gBACT,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,EAAE;oBAC5E,YAAY,EAAE,iDAAqB,CAAC,iBAAiB;oBACrD,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;gBAEH,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,EAAE;oBAC5E,YAAY,EAAE,iDAAqB,CAAC,mBAAmB;oBACvD,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;gBAEH,6BAA6B;gBAC7B,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE;oBAC1E,YAAY,EAAE,iDAAqB,CAAC,QAAQ;oBAC5C,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;gBAEH,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE;oBAC1E,YAAY,EAAE,iDAAqB,CAAC,QAAQ;oBAC5C,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAEO,CAAC,kBAAkB,CAAC,IAA2B;QACnD,MAAM,WAAW,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9G,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAExC,MAAM;gBACF,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE;gBAC3B,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE;aAC1B,CAAC;SACL;IACL,CAAC;CACJ,CAAA;6CAtDY,kCAAkC;IAD9C,IAAA,qBAAU,GAAE;;GACA,kCAAkC,CAsD9C"}
|
package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ICommodityProviderDataSourceFactory } from "../../datasources/interfaces/ICommodityProviderDataSourceFactory";
|
|
2
|
+
import { MeasurementRepository } from "../../repositories/MeasurementRepository";
|
|
3
|
+
import { StaticMeterSettingsRepository } from "../../repositories/StaticMeterSettingsRepository";
|
|
4
|
+
import { AveMeasurementTransformation } from "../../transformations/AveMeasurementTransformation";
|
|
5
|
+
import { ILogger } from "@golemio/core/dist/helpers";
|
|
6
|
+
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
7
|
+
import { IPpasMeasurementsParams } from "../interfaces/IPpasMeasurementsParams";
|
|
8
|
+
import { PpasMeasurementsValidationSchema } from "../schema/PpasMeasurementsSchema";
|
|
9
|
+
import { AbstractFetchMeasurementsTask } from "./AbstractFetchMeasurementsTask";
|
|
10
|
+
export declare class FetchPpasMeasurementsTask extends AbstractFetchMeasurementsTask<IPpasMeasurementsParams> {
|
|
11
|
+
private config;
|
|
12
|
+
private logger;
|
|
13
|
+
private dataSourceFactory;
|
|
14
|
+
private measurementTransformation;
|
|
15
|
+
protected measurementRepository: MeasurementRepository;
|
|
16
|
+
private meterSettingsRepository;
|
|
17
|
+
readonly queueName = "fetchPpasMeasurements";
|
|
18
|
+
readonly queueTtl: number;
|
|
19
|
+
readonly schema: typeof PpasMeasurementsValidationSchema;
|
|
20
|
+
constructor(config: ISimpleConfig, logger: ILogger, dataSourceFactory: ICommodityProviderDataSourceFactory, measurementTransformation: AveMeasurementTransformation, measurementRepository: MeasurementRepository, meterSettingsRepository: StaticMeterSettingsRepository);
|
|
21
|
+
execute(data: IPpasMeasurementsParams): Promise<void>;
|
|
22
|
+
private getProviderConfig;
|
|
23
|
+
private generateMeasurements;
|
|
24
|
+
private getDataFromDataSource;
|
|
25
|
+
}
|
package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
24
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
25
|
+
var m = o[Symbol.asyncIterator], i;
|
|
26
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
27
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
28
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
29
|
+
};
|
|
30
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
31
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
32
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
33
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
34
|
+
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
35
|
+
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
|
36
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
37
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
38
|
+
function fulfill(value) { resume("next", value); }
|
|
39
|
+
function reject(value) { resume("throw", value); }
|
|
40
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
41
|
+
};
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.FetchPpasMeasurementsTask = void 0;
|
|
44
|
+
const CommodityProviderEnum_1 = require("../../datasources/helpers/CommodityProviderEnum");
|
|
45
|
+
const PpasAveApiHelper_1 = require("../../datasources/ppas-ave-api/helpers/PpasAveApiHelper");
|
|
46
|
+
const WorkerContainerToken_1 = require("../../ioc/WorkerContainerToken");
|
|
47
|
+
const MeasurementRepository_1 = require("../../repositories/MeasurementRepository");
|
|
48
|
+
const StaticMeterSettingsRepository_1 = require("../../repositories/StaticMeterSettingsRepository");
|
|
49
|
+
const AveMeasurementTransformation_1 = require("../../transformations/AveMeasurementTransformation");
|
|
50
|
+
const StaticDataResourceTypeEnum_1 = require("../../../../schema-definitions/models/helpers/StaticDataResourceTypeEnum");
|
|
51
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
52
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
53
|
+
const luxon_1 = require("@golemio/core/dist/shared/luxon");
|
|
54
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
55
|
+
const PpasMeasurementsSchema_1 = require("../schema/PpasMeasurementsSchema");
|
|
56
|
+
const AbstractFetchMeasurementsTask_1 = require("./AbstractFetchMeasurementsTask");
|
|
57
|
+
let FetchPpasMeasurementsTask = exports.FetchPpasMeasurementsTask = class FetchPpasMeasurementsTask extends AbstractFetchMeasurementsTask_1.AbstractFetchMeasurementsTask {
|
|
58
|
+
constructor(config, logger, dataSourceFactory, measurementTransformation, measurementRepository, meterSettingsRepository) {
|
|
59
|
+
super();
|
|
60
|
+
this.config = config;
|
|
61
|
+
this.logger = logger;
|
|
62
|
+
this.dataSourceFactory = dataSourceFactory;
|
|
63
|
+
this.measurementTransformation = measurementTransformation;
|
|
64
|
+
this.measurementRepository = measurementRepository;
|
|
65
|
+
this.meterSettingsRepository = meterSettingsRepository;
|
|
66
|
+
this.queueName = "fetchPpasMeasurements";
|
|
67
|
+
this.queueTtl = 60 * 60 * 1000;
|
|
68
|
+
this.schema = PpasMeasurementsSchema_1.PpasMeasurementsValidationSchema;
|
|
69
|
+
}
|
|
70
|
+
execute(data) {
|
|
71
|
+
var _a, e_1, _b, _c;
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
const measurementOptions = yield this.meterSettingsRepository.getData(data.providerType, StaticDataResourceTypeEnum_1.StaticDataResourceType.MeasurementOptions);
|
|
74
|
+
if (!measurementOptions) {
|
|
75
|
+
throw new golemio_errors_1.GeneralError("Measurement options not found", this.constructor.name);
|
|
76
|
+
}
|
|
77
|
+
const { baseUrl, config } = this.getProviderConfig(data);
|
|
78
|
+
const aveApiHelper = new PpasAveApiHelper_1.PpasAveApiHelper(baseUrl, config);
|
|
79
|
+
const sessionId = yield aveApiHelper.createSession();
|
|
80
|
+
try {
|
|
81
|
+
const places = yield this.getDataFromDataSource("Places", sessionId);
|
|
82
|
+
let consumptionData = [];
|
|
83
|
+
for (const place of places) {
|
|
84
|
+
const options = measurementOptions.find((item) => item.MeterSerialNumber === place.DeviceSerialNumber && item.Meter === place.Eic);
|
|
85
|
+
if (!options) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
this.logger.info(`Fetching data for device ${place.DeviceSerialNumber}`);
|
|
89
|
+
const measurementChunkGenerator = this.generateMeasurements(Object.assign(Object.assign({}, data), { placeId: place.Id }), sessionId);
|
|
90
|
+
try {
|
|
91
|
+
for (var _d = true, measurementChunkGenerator_1 = (e_1 = void 0, __asyncValues(measurementChunkGenerator)), measurementChunkGenerator_1_1; measurementChunkGenerator_1_1 = yield measurementChunkGenerator_1.next(), _a = measurementChunkGenerator_1_1.done, !_a; _d = true) {
|
|
92
|
+
_c = measurementChunkGenerator_1_1.value;
|
|
93
|
+
_d = false;
|
|
94
|
+
const measurements = _c;
|
|
95
|
+
const consumptionBatch = measurements.map((item) => this.measurementTransformation.transformElement(Object.assign(Object.assign({}, item), options)));
|
|
96
|
+
consumptionData = consumptionData.concat(consumptionBatch);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
100
|
+
finally {
|
|
101
|
+
try {
|
|
102
|
+
if (!_d && !_a && (_b = measurementChunkGenerator_1.return)) yield _b.call(measurementChunkGenerator_1);
|
|
103
|
+
}
|
|
104
|
+
finally { if (e_1) throw e_1.error; }
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
yield this.saveConsumptionData(consumptionData);
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
yield aveApiHelper.terminateSession(sessionId);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
getProviderConfig(data) {
|
|
115
|
+
return {
|
|
116
|
+
baseUrl: this.config.getValue("module.energetics.commodityProviders.ppas_ave_api.baseUrl"),
|
|
117
|
+
config: this.config.getValue(`module.energetics.commodityProviders.${data.providerType}`),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
generateMeasurements(data, sessionId) {
|
|
121
|
+
return __asyncGenerator(this, arguments, function* generateMeasurements_1() {
|
|
122
|
+
const dateFrom = luxon_1.DateTime.fromISO(data.dateFrom).startOf("day");
|
|
123
|
+
const dateTo = luxon_1.DateTime.fromISO(data.dateTo).startOf("day");
|
|
124
|
+
const intervals = luxon_1.Interval.fromDateTimes(dateFrom, dateTo).splitBy({ days: 5 });
|
|
125
|
+
for (const interval of intervals) {
|
|
126
|
+
const start = interval.start.startOf("day");
|
|
127
|
+
const end = interval.end.startOf("day");
|
|
128
|
+
yield yield __await(this.getDataFromDataSource("DeviceData", sessionId, {
|
|
129
|
+
placeId: data.placeId,
|
|
130
|
+
dateFrom: start.toISODate(),
|
|
131
|
+
dateTo: end.toISODate(),
|
|
132
|
+
isoDate: "1",
|
|
133
|
+
dataType: "2", // fill all measurement values (we need the ConvertDifference value)
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
getDataFromDataSource(resourceTypeKey, sessionId, params) {
|
|
139
|
+
const dataSource = this.dataSourceFactory.getDataSource(CommodityProviderEnum_1.CommodityProvider.PpasInternetAveApi, PpasAveApiHelper_1.PpasAveApiHelper.resourceType[resourceTypeKey], sessionId, params);
|
|
140
|
+
return dataSource.getAll();
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
exports.FetchPpasMeasurementsTask = FetchPpasMeasurementsTask = __decorate([
|
|
144
|
+
(0, tsyringe_1.injectable)(),
|
|
145
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
|
|
146
|
+
__param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
|
|
147
|
+
__param(2, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.CommodityProviderDataSourceFactory)),
|
|
148
|
+
__param(3, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.AveMeasurementTransformation)),
|
|
149
|
+
__param(4, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.MeasurementRepository)),
|
|
150
|
+
__param(5, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.StaticMeterSettingsRepository)),
|
|
151
|
+
__metadata("design:paramtypes", [Object, Object, Object, AveMeasurementTransformation_1.AveMeasurementTransformation,
|
|
152
|
+
MeasurementRepository_1.MeasurementRepository,
|
|
153
|
+
StaticMeterSettingsRepository_1.StaticMeterSettingsRepository])
|
|
154
|
+
], FetchPpasMeasurementsTask);
|
|
155
|
+
//# sourceMappingURL=FetchPpasMeasurementsTask.js.map
|
package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FetchPpasMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2FAAsG;AAKtG,8FAAyH;AAEzH,yEAAwF;AACxF,oFAAmG;AACnG,oGAAmH;AACnH,qGAAoH;AAGpH,yHAAwF;AAIxF,wEAAqE;AACrE,6EAAwE;AACxE,2DAAqE;AACrE,iEAAwE;AAExE,6EAAoF;AACpF,mFAAgF;AAGzE,IAAM,yBAAyB,uCAA/B,MAAM,yBAA0B,SAAQ,6DAAsD;IAKjG,YACoC,MAA6B,EACnC,MAAuB,EAEjD,iBAA8D,EAE9D,yBAA+D,EACX,qBAAsD,EAC9C,uBAA8D;QAE1H,KAAK,EAAE,CAAC;QATgC,WAAM,GAAN,MAAM,CAAe;QAC3B,WAAM,GAAN,MAAM,CAAS;QAEzC,sBAAiB,GAAjB,iBAAiB,CAAqC;QAEtD,8BAAyB,GAAzB,yBAAyB,CAA8B;QACD,0BAAqB,GAArB,qBAAqB,CAAuB;QACtC,4BAAuB,GAAvB,uBAAuB,CAA+B;QAZ9G,cAAS,GAAG,uBAAuB,CAAC;QACpC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,WAAM,GAAG,yDAAgC,CAAC;IAa1D,CAAC;IAEY,OAAO,CAAC,IAA6B;;;YAC9C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CACjE,IAAI,CAAC,YAAY,EACjB,mDAAsB,CAAC,kBAAkB,CAC5C,CAAC;YACF,IAAI,CAAC,kBAAkB,EAAE;gBACrB,MAAM,IAAI,6BAAY,CAAC,+BAA+B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAClF;YAED,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,IAAI,mCAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,CAAC;YAErD,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAkB,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACtF,IAAI,eAAe,GAAsB,EAAE,CAAC;gBAE5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBACxB,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CACnC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,KAAK,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,CAC5F,CAAC;oBACF,IAAI,CAAC,OAAO,EAAE;wBACV,SAAS;qBACZ;oBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;oBACzE,MAAM,yBAAyB,GAAG,IAAI,CAAC,oBAAoB,iCAAM,IAAI,KAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAI,SAAS,CAAC,CAAC;;wBAEvG,KAAiC,eAAA,6CAAA,cAAA,yBAAyB,CAAA,CAAA,+BAAA,qIAAE;4BAA3B,yCAAyB;4BAAzB,WAAyB;4BAA/C,MAAM,YAAY,KAAA,CAAA;4BACzB,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/C,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,iCACxC,IAAI,GACJ,OAAO,EACZ,CACL,CAAC;4BAEF,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;yBAC9D;;;;;;;;;iBACJ;gBAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;aACnD;oBAAS;gBACN,MAAM,YAAY,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;aAClD;;KACJ;IAEO,iBAAiB,CAAC,IAA6B;QACnD,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,2DAA2D,CAAW;YACpG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,wCAAwC,IAAI,CAAC,YAAY,EAAE,CAAe;SAC1G,CAAC;IACN,CAAC;IAEc,oBAAoB,CAC/B,IAAmD,EACnD,SAAiB;;YAEjB,MAAM,QAAQ,GAAG,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAEhF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAExC,oBAAM,IAAI,CAAC,qBAAqB,CAAuB,YAAY,EAAE,SAAS,EAAE;oBAC5E,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE;oBAC3B,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE;oBACvB,OAAO,EAAE,GAAG;oBACZ,QAAQ,EAAE,GAAG,EAAE,oEAAoE;iBACtF,CAAC,CAAA,CAAC;aACN;QACL,CAAC;KAAA;IAEO,qBAAqB,CACzB,eAA2D,EAC3D,SAAiB,EACjB,MAAgC;QAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CACnD,yCAAiB,CAAC,kBAAkB,EACpC,mCAAgB,CAAC,YAAY,CAAC,eAAe,CAAC,EAC9C,SAAS,EACT,MAAM,CACT,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,EAAkB,CAAC;IAC/C,CAAC;CACJ,CAAA;oCA3GY,yBAAyB;IADrC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,kCAAkC,CAAC,CAAA;IAE/D,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,4BAA4B,CAAC,CAAA;IAEzD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qBAAqB,CAAC,CAAA;IAClD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;6DAFxB,2DAA4B;QACsB,6CAAqB;QACb,6DAA6B;GAbrH,yBAAyB,CA2GrC"}
|
package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.d.ts
CHANGED
|
@@ -4,15 +4,15 @@ import { StaticMeterSettingsRepository } from "../../repositories/StaticMeterSet
|
|
|
4
4
|
import { CemMeasurementTransformation } from "../../transformations/CemMeasurementTransformation";
|
|
5
5
|
import { ILogger } from "@golemio/core/dist/helpers";
|
|
6
6
|
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
7
|
-
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
8
7
|
import { IVeoliaMeasurementsParams } from "../interfaces/IVeoliaMeasurementsParams";
|
|
9
8
|
import { VeoliaMeasurementsValidationSchema } from "../schema/VeoliaMeasurementsSchema";
|
|
10
|
-
|
|
9
|
+
import { AbstractFetchMeasurementsTask } from "./AbstractFetchMeasurementsTask";
|
|
10
|
+
export declare class FetchVeoliaMeasurementsTask extends AbstractFetchMeasurementsTask<IVeoliaMeasurementsParams> {
|
|
11
11
|
private config;
|
|
12
12
|
private logger;
|
|
13
13
|
private dataSourceFactory;
|
|
14
14
|
private measurementTransformation;
|
|
15
|
-
|
|
15
|
+
protected measurementRepository: MeasurementRepository;
|
|
16
16
|
private meterSettingsRepository;
|
|
17
17
|
readonly queueName = "fetchVeoliaMeasurements";
|
|
18
18
|
readonly queueTtl: number;
|
|
@@ -22,5 +22,4 @@ export declare class FetchVeoliaMeasurementsTask extends AbstractTask<IVeoliaMea
|
|
|
22
22
|
private getProviderConfig;
|
|
23
23
|
private generateMeasurements;
|
|
24
24
|
private getDataFromDataSource;
|
|
25
|
-
private saveConsumptionData;
|
|
26
25
|
}
|
package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js
CHANGED
|
@@ -41,7 +41,6 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
|
|
|
41
41
|
};
|
|
42
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
43
|
exports.FetchVeoliaMeasurementsTask = void 0;
|
|
44
|
-
const constants_1 = require("../../constants");
|
|
45
44
|
const CommodityProviderEnum_1 = require("../../datasources/helpers/CommodityProviderEnum");
|
|
46
45
|
const WorkerContainerToken_1 = require("../../ioc/WorkerContainerToken");
|
|
47
46
|
const MeasurementRepository_1 = require("../../repositories/MeasurementRepository");
|
|
@@ -50,15 +49,14 @@ const CemMeasurementTransformation_1 = require("../../transformations/CemMeasure
|
|
|
50
49
|
const helpers_1 = require("../../../helpers");
|
|
51
50
|
const StaticDataResourceTypeEnum_1 = require("../../../../schema-definitions/models/helpers/StaticDataResourceTypeEnum");
|
|
52
51
|
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
53
|
-
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
54
52
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
55
53
|
const luxon_1 = require("@golemio/core/dist/shared/luxon");
|
|
56
54
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
57
55
|
const VeoliaMeasurementsSchema_1 = require("../schema/VeoliaMeasurementsSchema");
|
|
58
|
-
const
|
|
59
|
-
let FetchVeoliaMeasurementsTask = exports.FetchVeoliaMeasurementsTask = class FetchVeoliaMeasurementsTask extends
|
|
56
|
+
const AbstractFetchMeasurementsTask_1 = require("./AbstractFetchMeasurementsTask");
|
|
57
|
+
let FetchVeoliaMeasurementsTask = exports.FetchVeoliaMeasurementsTask = class FetchVeoliaMeasurementsTask extends AbstractFetchMeasurementsTask_1.AbstractFetchMeasurementsTask {
|
|
60
58
|
constructor(config, logger, dataSourceFactory, measurementTransformation, measurementRepository, meterSettingsRepository) {
|
|
61
|
-
super(
|
|
59
|
+
super();
|
|
62
60
|
this.config = config;
|
|
63
61
|
this.logger = logger;
|
|
64
62
|
this.dataSourceFactory = dataSourceFactory;
|
|
@@ -143,20 +141,6 @@ let FetchVeoliaMeasurementsTask = exports.FetchVeoliaMeasurementsTask = class Fe
|
|
|
143
141
|
const dataSource = this.dataSourceFactory.getDataSource(CommodityProviderEnum_1.CommodityProvider.UnimonitorCemApi, helpers_1.UnimonitorCemApiHelper.resourceType[resourceTypeKey], authCookie, params);
|
|
144
142
|
return dataSource.getAll();
|
|
145
143
|
}
|
|
146
|
-
saveConsumptionData(data) {
|
|
147
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
-
for (let i = 0; i < data.length; i += MEASUREMENTS_BATCH_SIZE) {
|
|
149
|
-
let batch = data.slice(i, i + MEASUREMENTS_BATCH_SIZE);
|
|
150
|
-
// Remove duplicated measurements from the batch
|
|
151
|
-
batch = batch.filter((item, index, self) => index ===
|
|
152
|
-
self.findIndex((t) => t.timestamp.getTime() === item.timestamp.getTime() &&
|
|
153
|
-
t.addr === item.addr &&
|
|
154
|
-
t.variable === item.variable &&
|
|
155
|
-
t.meter === item.meter));
|
|
156
|
-
yield this.measurementRepository.bulkSave(batch);
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
144
|
};
|
|
161
145
|
exports.FetchVeoliaMeasurementsTask = FetchVeoliaMeasurementsTask = __decorate([
|
|
162
146
|
(0, tsyringe_1.injectable)(),
|
package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchVeoliaMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"FetchVeoliaMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.aveApiDeviceDataJsonSchema = void 0;
|
|
4
|
+
exports.aveApiDeviceDataJsonSchema = {
|
|
5
|
+
type: "array",
|
|
6
|
+
items: {
|
|
7
|
+
type: "object",
|
|
8
|
+
properties: {
|
|
9
|
+
Timestamp: { type: "string" },
|
|
10
|
+
ConvertDifference: { type: "number" },
|
|
11
|
+
},
|
|
12
|
+
required: ["Timestamp", "ConvertDifference"],
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=AveApiDeviceDataJsonSchema.js.map
|
package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AveApiDeviceDataJsonSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,0BAA0B,GAA2C;IAC9E,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxC;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;KAC/C;CACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.aveApiPlacesJsonSchema = void 0;
|
|
4
|
+
exports.aveApiPlacesJsonSchema = {
|
|
5
|
+
type: "array",
|
|
6
|
+
items: {
|
|
7
|
+
type: "object",
|
|
8
|
+
properties: {
|
|
9
|
+
Id: { type: "number" },
|
|
10
|
+
Eic: { type: "string" },
|
|
11
|
+
DeviceSerialNumber: { type: "string" },
|
|
12
|
+
},
|
|
13
|
+
required: ["Id", "Eic", "DeviceSerialNumber"],
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=AveApiPlacesJsonSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AveApiPlacesJsonSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,sBAAsB,GAAsC;IACrE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC;KAChD;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAveApiDeviceDataDto.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto.ts"],"names":[],"mappings":""}
|
package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAveApiPlaceDto.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto.ts"],"names":[],"mappings":""}
|
|
@@ -5,5 +5,7 @@ var CommodityProviderType;
|
|
|
5
5
|
(function (CommodityProviderType) {
|
|
6
6
|
CommodityProviderType["CemApiVeoliaWater"] = "cem_api_veolia_water";
|
|
7
7
|
CommodityProviderType["CemApiVeoliaElectro"] = "cem_api_veolia_electro";
|
|
8
|
+
CommodityProviderType["PpasAveV"] = "ppas_ave_api_v";
|
|
9
|
+
CommodityProviderType["PpasAveM"] = "ppas_ave_api_m";
|
|
8
10
|
})(CommodityProviderType || (exports.CommodityProviderType = CommodityProviderType = {}));
|
|
9
11
|
//# sourceMappingURL=CommodityProviderTypeEnum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommodityProviderTypeEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/helpers/CommodityProviderTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"CommodityProviderTypeEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/helpers/CommodityProviderTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC7B,mEAA0C,CAAA;IAC1C,uEAA8C,CAAA;IAC9C,oDAA2B,CAAA;IAC3B,oDAA2B,CAAA;AAC/B,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC"}
|