@golemio/energetics 1.6.0 → 1.6.1-dev.2190914714
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/db/migrations/postgresql/20250213141826-add-device-serial-id.js +53 -0
- package/db/migrations/postgresql/20251119123216-eno-stavby-geometrie.js +53 -0
- package/db/migrations/postgresql/20251126125250-eno-ej-lookup-type-fix.js +53 -0
- package/db/migrations/postgresql/sqls/20250213141826-add-device-serial-id-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20250213141826-add-device-serial-id-up.sql +1 -0
- package/db/migrations/postgresql/sqls/20251119123216-eno-stavby-geometrie-down.sql +2 -0
- package/db/migrations/postgresql/sqls/20251119123216-eno-stavby-geometrie-up.sql +37 -0
- package/db/migrations/postgresql/sqls/20251126125250-eno-ej-lookup-type-fix-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20251126125250-eno-ej-lookup-type-fix-up.sql +1 -0
- package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.d.ts +3 -2
- package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js +2 -1
- package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.d.ts +2 -0
- package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js +1 -0
- package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/commodity-providers/transformations/PreElectroTransformation.js +1 -0
- package/dist/integration-engine/commodity-providers/transformations/PreElectroTransformation.js.map +1 -1
- package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.js +1 -0
- package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.js +1 -0
- package/dist/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasEEMeasurementsTask.js +2 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasEEMeasurementsTask.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js +2 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.js +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js +3 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js.map +1 -1
- package/dist/integration-engine/enapo/constants.d.ts +1 -0
- package/dist/integration-engine/enapo/constants.js +2 -1
- package/dist/integration-engine/enapo/constants.js.map +1 -1
- package/dist/integration-engine/enapo/datasources/eno/EnoDatasource.js +10 -0
- package/dist/integration-engine/enapo/datasources/eno/EnoDatasource.js.map +1 -1
- package/dist/integration-engine/enapo/datasources/eno/EnoDatasourceFactory.d.ts +3 -1
- package/dist/integration-engine/enapo/datasources/eno/EnoDatasourceFactory.js +2 -0
- package/dist/integration-engine/enapo/datasources/eno/EnoDatasourceFactory.js.map +1 -1
- package/dist/integration-engine/enapo/datasources/eno/EnoOperationEnum.d.ts +6 -0
- package/dist/integration-engine/enapo/datasources/eno/EnoOperationEnum.js +8 -1
- package/dist/integration-engine/enapo/datasources/eno/EnoOperationEnum.js.map +1 -1
- package/dist/integration-engine/enapo/helpers/Chunker.d.ts +3 -0
- package/dist/integration-engine/enapo/helpers/Chunker.js +14 -0
- package/dist/integration-engine/enapo/helpers/Chunker.js.map +1 -0
- package/dist/integration-engine/enapo/interfaces/eno/IEnoStructureInfo.d.ts +10 -0
- package/dist/integration-engine/enapo/{workers/interfaces/IEnoBuildingTaskInput.js → interfaces/eno/IEnoStructureInfo.js} +1 -1
- package/dist/integration-engine/enapo/interfaces/eno/IEnoStructureInfo.js.map +1 -0
- package/dist/integration-engine/enapo/interfaces/eno/IGeometryInputWithIndex.d.ts +4 -0
- package/dist/integration-engine/enapo/interfaces/eno/IGeometryInputWithIndex.js +3 -0
- package/dist/integration-engine/enapo/interfaces/eno/IGeometryInputWithIndex.js.map +1 -0
- package/dist/integration-engine/enapo/ioc/Di.js +11 -2
- package/dist/integration-engine/enapo/ioc/Di.js.map +1 -1
- package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.d.ts +4 -0
- package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js +4 -0
- package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js.map +1 -1
- package/dist/integration-engine/enapo/repositories/eno/EnoGeometryRepository.d.ts +5 -0
- package/dist/integration-engine/enapo/repositories/eno/EnoGeometryRepository.js +32 -0
- package/dist/integration-engine/enapo/repositories/eno/EnoGeometryRepository.js.map +1 -0
- package/dist/integration-engine/enapo/repositories/eno/EnoStructureRepository.d.ts +5 -0
- package/dist/integration-engine/enapo/repositories/eno/EnoStructureRepository.js +32 -0
- package/dist/integration-engine/enapo/repositories/eno/EnoStructureRepository.js.map +1 -0
- package/dist/integration-engine/enapo/transformations/eno/EnoGeometryTransformation.d.ts +11 -0
- package/dist/integration-engine/enapo/transformations/eno/EnoGeometryTransformation.js +34 -0
- package/dist/integration-engine/enapo/transformations/eno/EnoGeometryTransformation.js.map +1 -0
- package/dist/integration-engine/enapo/transformations/eno/EnoStructureTransformation.d.ts +13 -0
- package/dist/integration-engine/enapo/transformations/eno/EnoStructureTransformation.js +92 -0
- package/dist/integration-engine/enapo/transformations/eno/EnoStructureTransformation.js.map +1 -0
- package/dist/integration-engine/enapo/workers/EnapoWorker.js +2 -0
- package/dist/integration-engine/enapo/workers/EnapoWorker.js.map +1 -1
- package/dist/integration-engine/enapo/workers/interfaces/IEnoDataTaskInput.d.ts +9 -0
- package/dist/integration-engine/enapo/workers/interfaces/IEnoDataTaskInput.js +9 -0
- package/dist/integration-engine/enapo/workers/interfaces/IEnoDataTaskInput.js.map +1 -0
- package/dist/integration-engine/enapo/workers/interfaces/IEnoGeometryTaskInput.d.ts +4 -0
- package/dist/integration-engine/enapo/workers/interfaces/IEnoGeometryTaskInput.js +3 -0
- package/dist/integration-engine/enapo/workers/interfaces/IEnoGeometryTaskInput.js.map +1 -0
- package/dist/integration-engine/enapo/workers/schema/EnoDataTaskInputSchema.d.ts +6 -0
- package/dist/integration-engine/enapo/workers/schema/{EnoBuildingTaskInputSchema.js → EnoDataTaskInputSchema.js} +9 -8
- package/dist/integration-engine/enapo/workers/schema/EnoDataTaskInputSchema.js.map +1 -0
- package/dist/integration-engine/enapo/workers/schema/EnoGeometryTaskInputSchema.d.ts +5 -0
- package/dist/integration-engine/enapo/workers/schema/EnoGeometryTaskInputSchema.js +27 -0
- package/dist/integration-engine/enapo/workers/schema/EnoGeometryTaskInputSchema.js.map +1 -0
- package/dist/integration-engine/enapo/workers/task/EnoBuildingTask.d.ts +6 -7
- package/dist/integration-engine/enapo/workers/task/EnoBuildingTask.js +11 -6
- package/dist/integration-engine/enapo/workers/task/EnoBuildingTask.js.map +1 -1
- package/dist/integration-engine/enapo/workers/task/EnoGeometryTask.d.ts +15 -0
- package/dist/integration-engine/enapo/workers/task/EnoGeometryTask.js +69 -0
- package/dist/integration-engine/enapo/workers/task/EnoGeometryTask.js.map +1 -0
- package/dist/integration-engine/enapo/workers/task/EnoStructureTask.d.ts +33 -0
- package/dist/integration-engine/enapo/workers/task/EnoStructureTask.js +150 -0
- package/dist/integration-engine/enapo/workers/task/EnoStructureTask.js.map +1 -0
- package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js +4 -3
- package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/eno/EnoGeometryJsonSchema.d.ts +5 -0
- package/dist/schema-definitions/datasources/eno/EnoGeometryJsonSchema.js +24 -0
- package/dist/schema-definitions/datasources/eno/EnoGeometryJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/eno/EnoStructureInfoJsonSchema.d.ts +5 -0
- package/dist/schema-definitions/datasources/eno/EnoStructureInfoJsonSchema.js +102 -0
- package/dist/schema-definitions/datasources/eno/EnoStructureInfoJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/eno/interfaces/IGeometryInput.d.ts +7 -0
- package/dist/schema-definitions/datasources/eno/interfaces/IGeometryInput.js +3 -0
- package/dist/schema-definitions/datasources/eno/interfaces/IGeometryInput.js.map +1 -0
- package/dist/schema-definitions/datasources/eno/interfaces/IStructureInfoInput.d.ts +10 -0
- package/dist/schema-definitions/datasources/eno/interfaces/IStructureInfoInput.js +3 -0
- package/dist/schema-definitions/datasources/eno/interfaces/IStructureInfoInput.js.map +1 -0
- package/dist/schema-definitions/datasources/eno/interfaces/IStructureInput.d.ts +20 -0
- package/dist/schema-definitions/datasources/eno/interfaces/IStructureInput.js +3 -0
- package/dist/schema-definitions/datasources/eno/interfaces/IStructureInput.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.d.ts +3 -2
- package/dist/schema-definitions/models/MeasurementsModel.d.ts +1 -0
- package/dist/schema-definitions/models/MeasurementsModel.js +15 -1
- package/dist/schema-definitions/models/MeasurementsModel.js.map +1 -1
- package/dist/schema-definitions/models/eno/EJLookupModel.js +1 -1
- package/dist/schema-definitions/models/eno/EJLookupModel.js.map +1 -1
- package/dist/schema-definitions/models/eno/GeometryModel.d.ts +15 -0
- package/dist/schema-definitions/models/eno/GeometryModel.js +43 -0
- package/dist/schema-definitions/models/eno/GeometryModel.js.map +1 -0
- package/dist/schema-definitions/models/eno/StructureModel.d.ts +27 -0
- package/dist/schema-definitions/models/eno/StructureModel.js +80 -0
- package/dist/schema-definitions/models/eno/StructureModel.js.map +1 -0
- package/dist/schema-definitions/models/eno/interfaces/IGeometry.d.ts +9 -0
- package/dist/schema-definitions/models/eno/interfaces/IGeometry.js +3 -0
- package/dist/schema-definitions/models/eno/interfaces/IGeometry.js.map +1 -0
- package/dist/schema-definitions/models/eno/interfaces/IStructure.d.ts +21 -0
- package/dist/schema-definitions/models/eno/interfaces/IStructure.js +3 -0
- package/dist/schema-definitions/models/eno/interfaces/IStructure.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IMeasurementDto.d.ts +1 -0
- package/docs/asyncapi.yaml +54 -0
- package/docs/implementation_documentation.md +74 -0
- package/package.json +1 -1
- package/dist/integration-engine/enapo/workers/interfaces/IEnoBuildingTaskInput.d.ts +0 -5
- package/dist/integration-engine/enapo/workers/interfaces/IEnoBuildingTaskInput.js.map +0 -1
- package/dist/integration-engine/enapo/workers/schema/EnoBuildingTaskInputSchema.d.ts +0 -6
- package/dist/integration-engine/enapo/workers/schema/EnoBuildingTaskInputSchema.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IStructureInput.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/eno/interfaces/IStructureInput.ts"],"names":[],"mappings":""}
|
|
@@ -5,12 +5,13 @@ export interface IStaticMeterSettings {
|
|
|
5
5
|
};
|
|
6
6
|
}
|
|
7
7
|
export interface IMeasurementOption {
|
|
8
|
-
MeterSerialNumber: string;
|
|
9
8
|
Name: string;
|
|
10
9
|
Addr: string;
|
|
11
|
-
Meter
|
|
10
|
+
Meter?: string;
|
|
12
11
|
Type: string;
|
|
13
12
|
Var: MeasurementVariable | string;
|
|
13
|
+
MeId?: number;
|
|
14
|
+
EIC?: string;
|
|
14
15
|
}
|
|
15
16
|
export interface ISelectedMeters {
|
|
16
17
|
[placeId: string]: string;
|
|
@@ -11,6 +11,7 @@ export declare class MeasurementModel extends Model<MeasurementModel, IMeasureme
|
|
|
11
11
|
meter: string;
|
|
12
12
|
source: string;
|
|
13
13
|
measurement_category: string;
|
|
14
|
+
device_serial_number: string;
|
|
14
15
|
static attributeModel: ModelAttributes<MeasurementModel, IMeasurementDto>;
|
|
15
16
|
static attributesToUpdate: string[];
|
|
16
17
|
static arrayJsonSchema: JSONSchemaType<IMeasurementDto[]>;
|
|
@@ -31,6 +31,7 @@ MeasurementModel.attributeModel = {
|
|
|
31
31
|
},
|
|
32
32
|
source: sequelize_1.DataTypes.STRING(20),
|
|
33
33
|
measurement_category: sequelize_1.DataTypes.STRING(50),
|
|
34
|
+
device_serial_number: sequelize_1.DataTypes.STRING(50),
|
|
34
35
|
};
|
|
35
36
|
MeasurementModel.attributesToUpdate = Object.keys(MeasurementModel.attributeModel).concat("updated_at");
|
|
36
37
|
MeasurementModel.arrayJsonSchema = {
|
|
@@ -49,8 +50,21 @@ MeasurementModel.arrayJsonSchema = {
|
|
|
49
50
|
meter: { type: "string" },
|
|
50
51
|
source: { type: "string" },
|
|
51
52
|
measurement_category: { type: "string" },
|
|
53
|
+
device_serial_number: {
|
|
54
|
+
oneOf: [{ type: "string" }, { type: "null", nullable: true }],
|
|
55
|
+
},
|
|
52
56
|
},
|
|
53
|
-
required: [
|
|
57
|
+
required: [
|
|
58
|
+
"timestamp",
|
|
59
|
+
"value",
|
|
60
|
+
"addr",
|
|
61
|
+
"variable",
|
|
62
|
+
"type",
|
|
63
|
+
"meter",
|
|
64
|
+
"source",
|
|
65
|
+
"measurement_category",
|
|
66
|
+
"device_serial_number",
|
|
67
|
+
],
|
|
54
68
|
},
|
|
55
69
|
};
|
|
56
70
|
//# sourceMappingURL=MeasurementsModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeasurementsModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/MeasurementsModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAExF,2EAAsG;AAEtG,MAAa,gBAAiB,SAAQ,iBAAwC;;AAA9E,
|
|
1
|
+
{"version":3,"file":"MeasurementsModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/MeasurementsModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAExF,2EAAsG;AAEtG,MAAa,gBAAiB,SAAQ,iBAAwC;;AAA9E,4CA2EC;AA1EiB,0BAAS,GAAG,iCAAiC,CAAC;AAY9C,+BAAc,GAAuD;IAC/E,SAAS,EAAE;QACP,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,KAAK,EAAE,qBAAS,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;KACZ,CAAC;IACF,IAAI,EAAE;QACF,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;KAC9B;IACD,QAAQ,EAAE;QACN,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,KAAK,EAAE,KAAK;KACf;IACD,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3B,KAAK,EAAE;QACH,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;KAC9B;IACD,MAAM,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5B,oBAAoB,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1C,oBAAoB,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;CAC7C,CAAC;AAEY,mCAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAEvF,gCAAe,GAAsC;IAC/D,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,SAAS,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,aAAa,CAAC;aAC5B;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,4CAAqB,EAAE;YACzD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,wCAAiB,EAAE;YACjD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxC,oBAAoB,EAAE;gBAClB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAChE;SACJ;QACD,QAAQ,EAAE;YACN,WAAW;YACX,OAAO;YACP,MAAM;YACN,UAAU;YACV,MAAM;YACN,OAAO;YACP,QAAQ;YACR,sBAAsB;YACtB,sBAAsB;SACzB;KACJ;CACJ,CAAC"}
|
|
@@ -17,7 +17,7 @@ EJLookupModel.attributeModel = {
|
|
|
17
17
|
druh_po: sequelize_1.DataTypes.TEXT,
|
|
18
18
|
hlavni: sequelize_1.DataTypes.BOOLEAN,
|
|
19
19
|
ic: sequelize_1.DataTypes.TEXT,
|
|
20
|
-
id: sequelize_1.DataTypes.
|
|
20
|
+
id: sequelize_1.DataTypes.NUMBER,
|
|
21
21
|
kod: sequelize_1.DataTypes.TEXT,
|
|
22
22
|
kod_maj_evidencni_jednotka_hl: sequelize_1.DataTypes.TEXT,
|
|
23
23
|
kod_maj_evidencni_jednotka_ot: sequelize_1.DataTypes.TEXT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EJLookupModel.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/eno/EJLookupModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAGxF,MAAa,aAAc,SAAQ,iBAAgB;;AAAnD,sCA6FC;AA5F0B,wBAAU,GAAG,iCAAiC,CAAC;AAmBxD,4BAAc,GAA8C;IACtE,IAAI,EAAE;QACF,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,OAAO,EAAE,qBAAS,CAAC,OAAO;IAC1B,cAAc,EAAE,qBAAS,CAAC,IAAI;IAC9B,aAAa,EAAE,qBAAS,CAAC,IAAI;IAC7B,OAAO,EAAE,qBAAS,CAAC,IAAI;IACvB,MAAM,EAAE,qBAAS,CAAC,OAAO;IACzB,EAAE,EAAE,qBAAS,CAAC,IAAI;IAClB,EAAE,EAAE,qBAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"EJLookupModel.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/eno/EJLookupModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAGxF,MAAa,aAAc,SAAQ,iBAAgB;;AAAnD,sCA6FC;AA5F0B,wBAAU,GAAG,iCAAiC,CAAC;AAmBxD,4BAAc,GAA8C;IACtE,IAAI,EAAE;QACF,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,OAAO,EAAE,qBAAS,CAAC,OAAO;IAC1B,cAAc,EAAE,qBAAS,CAAC,IAAI;IAC9B,aAAa,EAAE,qBAAS,CAAC,IAAI;IAC7B,OAAO,EAAE,qBAAS,CAAC,IAAI;IACvB,MAAM,EAAE,qBAAS,CAAC,OAAO;IACzB,EAAE,EAAE,qBAAS,CAAC,IAAI;IAClB,EAAE,EAAE,qBAAS,CAAC,MAAM;IACpB,GAAG,EAAE,qBAAS,CAAC,IAAI;IACnB,6BAA6B,EAAE,qBAAS,CAAC,IAAI;IAC7C,6BAA6B,EAAE,qBAAS,CAAC,IAAI;IAC7C,6BAA6B,EAAE,qBAAS,CAAC,IAAI;IAC7C,aAAa,EAAE,qBAAS,CAAC,IAAI;IAC7B,KAAK,EAAE,qBAAS,CAAC,IAAI;IACrB,WAAW,EAAE,qBAAS,CAAC,IAAI;IAC3B,QAAQ,EAAE,qBAAS,CAAC,IAAI;IACxB,GAAG,EAAE,qBAAS,CAAC,IAAI;CACtB,CAAC;AAEY,wBAAU,GAAgC;IACpD,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5B,cAAc,EAAE;gBACZ,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC5B;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACnC;aACJ;YACD,aAAa,EAAE;gBACX,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC5B;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACnC;aACJ;YACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,6BAA6B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjD,6BAA6B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjD,6BAA6B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,WAAW,EAAE;gBACT,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC5B;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACnC;aACJ;YACD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACrB;CACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
2
|
+
import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
3
|
+
import { IGeometry } from "./interfaces/IGeometry";
|
|
4
|
+
export declare class GeometryModel extends Model<IGeometry> implements IGeometry {
|
|
5
|
+
static readonly TABLE_NAME = "eno_geometrie";
|
|
6
|
+
gid: string;
|
|
7
|
+
zdroj: string;
|
|
8
|
+
poradi: number;
|
|
9
|
+
id_organizace: number;
|
|
10
|
+
uzivatelsky_zakres: boolean;
|
|
11
|
+
zakres: string;
|
|
12
|
+
epsg_code: string | null;
|
|
13
|
+
static attributeModel: ModelAttributes<GeometryModel, IGeometry>;
|
|
14
|
+
static jsonSchema: JSONSchemaType<IGeometry[]>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GeometryModel = void 0;
|
|
4
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
5
|
+
class GeometryModel extends sequelize_1.Model {
|
|
6
|
+
}
|
|
7
|
+
exports.GeometryModel = GeometryModel;
|
|
8
|
+
GeometryModel.TABLE_NAME = "eno_geometrie";
|
|
9
|
+
GeometryModel.attributeModel = {
|
|
10
|
+
gid: {
|
|
11
|
+
primaryKey: true,
|
|
12
|
+
type: sequelize_1.DataTypes.TEXT,
|
|
13
|
+
},
|
|
14
|
+
zdroj: {
|
|
15
|
+
primaryKey: true,
|
|
16
|
+
type: sequelize_1.DataTypes.TEXT,
|
|
17
|
+
},
|
|
18
|
+
poradi: {
|
|
19
|
+
primaryKey: true,
|
|
20
|
+
type: sequelize_1.DataTypes.NUMBER,
|
|
21
|
+
},
|
|
22
|
+
id_organizace: sequelize_1.DataTypes.NUMBER,
|
|
23
|
+
uzivatelsky_zakres: sequelize_1.DataTypes.BOOLEAN,
|
|
24
|
+
zakres: sequelize_1.DataTypes.TEXT,
|
|
25
|
+
epsg_code: sequelize_1.DataTypes.TEXT,
|
|
26
|
+
};
|
|
27
|
+
GeometryModel.jsonSchema = {
|
|
28
|
+
type: "array",
|
|
29
|
+
items: {
|
|
30
|
+
type: "object",
|
|
31
|
+
properties: {
|
|
32
|
+
gid: { type: "string" },
|
|
33
|
+
zdroj: { type: "string" },
|
|
34
|
+
poradi: { type: "integer" },
|
|
35
|
+
id_organizace: { type: "integer" },
|
|
36
|
+
uzivatelsky_zakres: { type: "boolean" },
|
|
37
|
+
zakres: { type: "string" },
|
|
38
|
+
epsg_code: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
39
|
+
},
|
|
40
|
+
required: ["gid", "zdroj", "poradi"],
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=GeometryModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeometryModel.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/eno/GeometryModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAGxF,MAAa,aAAc,SAAQ,iBAAgB;;AAAnD,sCA8CC;AA7C0B,wBAAU,GAAG,eAAe,CAAC;AAUtC,4BAAc,GAA8C;IACtE,GAAG,EAAE;QACD,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,KAAK,EAAE;QACH,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,MAAM,EAAE;QACJ,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,aAAa,EAAE,qBAAS,CAAC,MAAM;IAC/B,kBAAkB,EAAE,qBAAS,CAAC,OAAO;IACrC,MAAM,EAAE,qBAAS,CAAC,IAAI;IACtB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC5B,CAAC;AAEY,wBAAU,GAAgC;IACpD,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3B,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;SAC/E;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;KACvC;CACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
2
|
+
import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
3
|
+
import { IStructure } from "./interfaces/IStructure";
|
|
4
|
+
export declare class StructureModel extends Model<IStructure> implements IStructure {
|
|
5
|
+
static readonly TABLE_NAME = "eno_stavba";
|
|
6
|
+
gid: string;
|
|
7
|
+
zdroj: string;
|
|
8
|
+
delka: number;
|
|
9
|
+
den_vystavba: number;
|
|
10
|
+
id_czcc: number;
|
|
11
|
+
id_objekt: number;
|
|
12
|
+
kod_druh_stavba: string;
|
|
13
|
+
kod_ochrana_stavba: string;
|
|
14
|
+
material: string;
|
|
15
|
+
mesic_vystavba: number;
|
|
16
|
+
nazev: string;
|
|
17
|
+
nazev_druh_stavba: string;
|
|
18
|
+
nazev_ochrana_stavba: string;
|
|
19
|
+
platnost_do: Date | null;
|
|
20
|
+
platnost_od: Date | null;
|
|
21
|
+
profil: string;
|
|
22
|
+
rok_vystavba: number;
|
|
23
|
+
sirka: number;
|
|
24
|
+
vyska: number;
|
|
25
|
+
static attributeModel: ModelAttributes<StructureModel, IStructure>;
|
|
26
|
+
static jsonSchema: JSONSchemaType<IStructure[]>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StructureModel = void 0;
|
|
4
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
5
|
+
class StructureModel extends sequelize_1.Model {
|
|
6
|
+
}
|
|
7
|
+
exports.StructureModel = StructureModel;
|
|
8
|
+
StructureModel.TABLE_NAME = "eno_stavba";
|
|
9
|
+
StructureModel.attributeModel = {
|
|
10
|
+
gid: {
|
|
11
|
+
primaryKey: true,
|
|
12
|
+
type: sequelize_1.DataTypes.TEXT,
|
|
13
|
+
},
|
|
14
|
+
zdroj: {
|
|
15
|
+
primaryKey: true,
|
|
16
|
+
type: sequelize_1.DataTypes.TEXT,
|
|
17
|
+
},
|
|
18
|
+
delka: sequelize_1.DataTypes.DECIMAL,
|
|
19
|
+
den_vystavba: sequelize_1.DataTypes.NUMBER,
|
|
20
|
+
id_czcc: sequelize_1.DataTypes.NUMBER,
|
|
21
|
+
id_objekt: sequelize_1.DataTypes.NUMBER,
|
|
22
|
+
kod_druh_stavba: sequelize_1.DataTypes.TEXT,
|
|
23
|
+
kod_ochrana_stavba: sequelize_1.DataTypes.TEXT,
|
|
24
|
+
material: sequelize_1.DataTypes.TEXT,
|
|
25
|
+
mesic_vystavba: sequelize_1.DataTypes.NUMBER,
|
|
26
|
+
nazev: sequelize_1.DataTypes.TEXT,
|
|
27
|
+
nazev_druh_stavba: sequelize_1.DataTypes.TEXT,
|
|
28
|
+
nazev_ochrana_stavba: sequelize_1.DataTypes.TEXT,
|
|
29
|
+
platnost_do: sequelize_1.DataTypes.DATE,
|
|
30
|
+
platnost_od: sequelize_1.DataTypes.DATE,
|
|
31
|
+
profil: sequelize_1.DataTypes.TEXT,
|
|
32
|
+
rok_vystavba: sequelize_1.DataTypes.NUMBER,
|
|
33
|
+
sirka: sequelize_1.DataTypes.DECIMAL,
|
|
34
|
+
vyska: sequelize_1.DataTypes.DECIMAL,
|
|
35
|
+
};
|
|
36
|
+
StructureModel.jsonSchema = {
|
|
37
|
+
type: "array",
|
|
38
|
+
items: {
|
|
39
|
+
type: "object",
|
|
40
|
+
properties: {
|
|
41
|
+
gid: { type: "string" },
|
|
42
|
+
zdroj: { type: "string" },
|
|
43
|
+
delka: { type: "number" },
|
|
44
|
+
den_vystavba: { type: "integer" },
|
|
45
|
+
id_czcc: { type: "integer" },
|
|
46
|
+
id_objekt: { type: "integer" },
|
|
47
|
+
kod_druh_stavba: { type: "string" },
|
|
48
|
+
kod_ochrana_stavba: { type: "string" },
|
|
49
|
+
material: { type: "string" },
|
|
50
|
+
mesic_vystavba: { type: "integer" },
|
|
51
|
+
nazev: { type: "string" },
|
|
52
|
+
nazev_druh_stavba: { type: "string" },
|
|
53
|
+
nazev_ochrana_stavba: { type: "string" },
|
|
54
|
+
platnost_do: {
|
|
55
|
+
oneOf: [
|
|
56
|
+
{
|
|
57
|
+
type: "object",
|
|
58
|
+
required: ["toISOString"],
|
|
59
|
+
},
|
|
60
|
+
{ type: "null", nullable: true },
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
platnost_od: {
|
|
64
|
+
oneOf: [
|
|
65
|
+
{
|
|
66
|
+
type: "object",
|
|
67
|
+
required: ["toISOString"],
|
|
68
|
+
},
|
|
69
|
+
{ type: "null", nullable: true },
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
profil: { type: "string" },
|
|
73
|
+
rok_vystavba: { type: "integer" },
|
|
74
|
+
sirka: { type: "number" },
|
|
75
|
+
vyska: { type: "number" },
|
|
76
|
+
},
|
|
77
|
+
required: ["gid", "zdroj"],
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=StructureModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StructureModel.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/eno/StructureModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAGxF,MAAa,cAAe,SAAQ,iBAAiB;;AAArD,wCA+FC;AA9F0B,yBAAU,GAAG,YAAY,CAAC;AAsBnC,6BAAc,GAAgD;IACxE,GAAG,EAAE;QACD,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,KAAK,EAAE;QACH,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,KAAK,EAAE,qBAAS,CAAC,OAAO;IACxB,YAAY,EAAE,qBAAS,CAAC,MAAM;IAC9B,OAAO,EAAE,qBAAS,CAAC,MAAM;IACzB,SAAS,EAAE,qBAAS,CAAC,MAAM;IAC3B,eAAe,EAAE,qBAAS,CAAC,IAAI;IAC/B,kBAAkB,EAAE,qBAAS,CAAC,IAAI;IAClC,QAAQ,EAAE,qBAAS,CAAC,IAAI;IACxB,cAAc,EAAE,qBAAS,CAAC,MAAM;IAChC,KAAK,EAAE,qBAAS,CAAC,IAAI;IACrB,iBAAiB,EAAE,qBAAS,CAAC,IAAI;IACjC,oBAAoB,EAAE,qBAAS,CAAC,IAAI;IACpC,WAAW,EAAE,qBAAS,CAAC,IAAI;IAC3B,WAAW,EAAE,qBAAS,CAAC,IAAI;IAC3B,MAAM,EAAE,qBAAS,CAAC,IAAI;IACtB,YAAY,EAAE,qBAAS,CAAC,MAAM;IAC9B,KAAK,EAAE,qBAAS,CAAC,OAAO;IACxB,KAAK,EAAE,qBAAS,CAAC,OAAO;CAC3B,CAAC;AAEY,yBAAU,GAAiC;IACrD,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxC,WAAW,EAAE;gBACT,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC5B;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACnC;aACJ;YACD,WAAW,EAAE;gBACT,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC5B;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACnC;aACJ;YACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;KAC7B;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IGeometry.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/models/eno/interfaces/IGeometry.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface IStructure {
|
|
2
|
+
gid: string;
|
|
3
|
+
zdroj: string;
|
|
4
|
+
delka: number;
|
|
5
|
+
den_vystavba: number;
|
|
6
|
+
id_czcc: number;
|
|
7
|
+
id_objekt: number;
|
|
8
|
+
kod_druh_stavba: string;
|
|
9
|
+
kod_ochrana_stavba: string;
|
|
10
|
+
material: string;
|
|
11
|
+
mesic_vystavba: number;
|
|
12
|
+
nazev: string;
|
|
13
|
+
nazev_druh_stavba: string;
|
|
14
|
+
nazev_ochrana_stavba: string;
|
|
15
|
+
platnost_do: Date | null;
|
|
16
|
+
platnost_od: Date | null;
|
|
17
|
+
profil: string;
|
|
18
|
+
rok_vystavba: number;
|
|
19
|
+
sirka: number;
|
|
20
|
+
vyska: number;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IStructure.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/models/eno/interfaces/IStructure.ts"],"names":[],"mappings":""}
|
package/docs/asyncapi.yaml
CHANGED
|
@@ -180,6 +180,28 @@ channels:
|
|
|
180
180
|
messages:
|
|
181
181
|
enoBuildingMessage:
|
|
182
182
|
$ref: "#/components/messages/energetics.EnoBuildingMessage"
|
|
183
|
+
energetics.processEnoStructures:
|
|
184
|
+
address: dataplatform.enapoenergetics.processEnoStructures
|
|
185
|
+
description: downloads structure (stavba) data from ENO SOAP/WSDL API including structures, properties, addresses, and locations. Supports full and incremental synchronization using daysBack parameter. After successful processing, triggers geometry download. Stores data in database tables (eno_stavba, eno_majetek, eno_adresa, eno_umisteni, eno_vyrazene_gid)
|
|
186
|
+
bindings:
|
|
187
|
+
amqp:
|
|
188
|
+
is: queue
|
|
189
|
+
queue:
|
|
190
|
+
durable: true
|
|
191
|
+
messages:
|
|
192
|
+
enoStructureMessage:
|
|
193
|
+
$ref: "#/components/messages/energetics.EnoBuildingMessage"
|
|
194
|
+
energetics.processEnoGeometry:
|
|
195
|
+
address: dataplatform.enapoenergetics.processEnoGeometry
|
|
196
|
+
description: downloads geometry (polygons) for buildings and structures from ENO SOAP/WSDL API. Automatically triggered after building or structure synchronization. Stores data in database table (eno_geometrie)
|
|
197
|
+
bindings:
|
|
198
|
+
amqp:
|
|
199
|
+
is: queue
|
|
200
|
+
queue:
|
|
201
|
+
durable: true
|
|
202
|
+
messages:
|
|
203
|
+
enoGeometryMessage:
|
|
204
|
+
$ref: "#/components/messages/energetics.EnoGeometryMessage"
|
|
183
205
|
operations:
|
|
184
206
|
energetics.fetchAccessConfiguration:
|
|
185
207
|
action: "send"
|
|
@@ -245,6 +267,14 @@ operations:
|
|
|
245
267
|
action: "send"
|
|
246
268
|
channel:
|
|
247
269
|
$ref: "#/channels/energetics.processEnoBuildings"
|
|
270
|
+
energetics.processEnoStructures:
|
|
271
|
+
action: "send"
|
|
272
|
+
channel:
|
|
273
|
+
$ref: "#/channels/energetics.processEnoStructures"
|
|
274
|
+
energetics.processEnoGeometry:
|
|
275
|
+
action: "send"
|
|
276
|
+
channel:
|
|
277
|
+
$ref: "#/channels/energetics.processEnoGeometry"
|
|
248
278
|
components:
|
|
249
279
|
messages:
|
|
250
280
|
emptyMessage:
|
|
@@ -294,6 +324,11 @@ components:
|
|
|
294
324
|
type: object
|
|
295
325
|
$ref: "#/components/schemas/energetics.IEnoBuildingTaskInput"
|
|
296
326
|
additionalProperties: false
|
|
327
|
+
energetics.EnoGeometryMessage:
|
|
328
|
+
payload:
|
|
329
|
+
type: object
|
|
330
|
+
$ref: "#/components/schemas/energetics.IEnoGeometryTaskInput"
|
|
331
|
+
additionalProperties: false
|
|
297
332
|
schemas:
|
|
298
333
|
energetics.IFetchConsumptionInput:
|
|
299
334
|
type: object
|
|
@@ -446,4 +481,23 @@ components:
|
|
|
446
481
|
- 30
|
|
447
482
|
- 90
|
|
448
483
|
additionalProperties: false
|
|
484
|
+
energetics.IEnoGeometryTaskInput:
|
|
485
|
+
type: object
|
|
486
|
+
required:
|
|
487
|
+
- source
|
|
488
|
+
- listGid
|
|
489
|
+
properties:
|
|
490
|
+
source:
|
|
491
|
+
type: string
|
|
492
|
+
description: Data source identifier (e.g., "mhmp" for Hlavní město Praha)
|
|
493
|
+
examples:
|
|
494
|
+
- "mhmp"
|
|
495
|
+
listGid:
|
|
496
|
+
type: array
|
|
497
|
+
items:
|
|
498
|
+
type: string
|
|
499
|
+
description: List of GID identifiers for which to fetch geometry data
|
|
500
|
+
examples:
|
|
501
|
+
- ["GID312203", "GID311624"]
|
|
502
|
+
additionalProperties: false
|
|
449
503
|
|
|
@@ -196,6 +196,12 @@ https://gitlab.com/operator-ict/golemio/projekty/energetika/p0262.prevzeti-energ
|
|
|
196
196
|
- `getBudovyVMajetku` - získání seznamu GID budov v majetku organizace
|
|
197
197
|
- `getDetailBudovy` - získání detailu budov podle seznamu GID
|
|
198
198
|
- `getVyrazeneBudovy` - získání seznamu GID vyřazených budov
|
|
199
|
+
- Stavby:
|
|
200
|
+
- `getStavbyVMajetku` - získání seznamu GID staveb v majetku organizace
|
|
201
|
+
- `getDetailStavby` - získání detailu staveb podle seznamu GID
|
|
202
|
+
- `getVyrazeneStavby` - získání seznamu GID vyřazených staveb
|
|
203
|
+
- Geometrie:
|
|
204
|
+
- `getGeometrie` - získání geometrie (polygonů) pro seznam GID budov/staveb
|
|
199
205
|
|
|
200
206
|
## Zpracování dat / transformace
|
|
201
207
|
|
|
@@ -552,6 +558,74 @@ Task stahuje data o budovách ze systému ENO včetně detailních informací o
|
|
|
552
558
|
- unit testy
|
|
553
559
|
- [EnoBuildingTask.test.ts](../test/integration-engine/enapo/task/EnoBuildingTask.test.ts)
|
|
554
560
|
|
|
561
|
+
#### _task: EnoStructureTask_
|
|
562
|
+
|
|
563
|
+
Task stahuje data o stavbách ze systému ENO včetně detailních informací o stavbách, adresách, umístění a majetkových vztazích. Podporuje plnou i inkrementální synchronizaci (pomocí parametru `daysBack`). Po úspěšném stažení staveb automaticky spouští stahování geometrií.
|
|
564
|
+
|
|
565
|
+
- vstupní rabbitmq fronta
|
|
566
|
+
- název: dataplatform.enapoenergetics.processEnoStructures
|
|
567
|
+
- TTL: 1 hodina
|
|
568
|
+
- parametry: `{ type, source, daysBack? }`
|
|
569
|
+
- `type` - typ synchronizace (`current` | `removed`)
|
|
570
|
+
- `source` - zdroj dat (např. `mhmp`)
|
|
571
|
+
- `daysBack` - volitelný parametr pro inkrementální synchronizaci (počet dní zpětně)
|
|
572
|
+
- validační schéma: [EnoBuildingTaskInputSchema](../src/integration-engine/enapo/workers/schema/EnoBuildingTaskInputSchema.ts)
|
|
573
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
574
|
+
- dataplatform.enapoenergetics.processEnoGeometry - po úspěšném stažení staveb
|
|
575
|
+
- datové zdroje
|
|
576
|
+
- ENO SOAP/WSDL API (Structure endpoint)
|
|
577
|
+
- [EnoDatasource](../src/integration-engine/enapo/datasources/eno/EnoDatasource.ts)
|
|
578
|
+
- [EnoDatasourceFactory](../src/integration-engine/enapo/datasources/eno/EnoDatasourceFactory.ts)
|
|
579
|
+
- transformace
|
|
580
|
+
- [EnoStructureTransformation](../src/integration-engine/enapo/transformations/eno/EnoStructureTransformation.ts) - transformace dat staveb
|
|
581
|
+
- Transformuje stavbu, majetek, adresy a umístění
|
|
582
|
+
- Zpracovává pole adres a umístění s přidělením pořadí (poradi)
|
|
583
|
+
- data modely
|
|
584
|
+
- [StructureModel](../src/schema-definitions/models/eno/StructureModel.ts) tabulka `eno_stavba`
|
|
585
|
+
- [PropertyModel](../src/schema-definitions/models/eno/PropertyModel.ts) tabulka `eno_majetek`
|
|
586
|
+
- [AddressModel](../src/schema-definitions/models/eno/AddressModel.ts) tabulka `eno_adresa`
|
|
587
|
+
- [LocationModel](../src/schema-definitions/models/eno/LocationModel.ts) tabulka `eno_umisteni`
|
|
588
|
+
- [RemovedGIDModel](../src/schema-definitions/models/eno/RemovedGIDModel.ts) tabulka `eno_vyrazene_gid`
|
|
589
|
+
- funkce
|
|
590
|
+
- **Plná synchronizace**: Stáhne všechny stavby v majetku organizace (bez parametru `daysBack`)
|
|
591
|
+
- **Inkrementální synchronizace**: Stáhne pouze stavby změněné za posledních X dní (s parametrem `daysBack`)
|
|
592
|
+
- **Vyřazené stavby**: Pro typ `removed` ukládá GID vyřazených staveb do speciální tabulky
|
|
593
|
+
- **Transakční zpracování**: Všechny operace zápisu probíhají v databázové transakci pro zajištění konzistence
|
|
594
|
+
- **Automatické stažení geometrií**: Po úspěšném zpracování staveb odesílá zprávu do fronty pro stažení geometrií
|
|
595
|
+
- unit testy
|
|
596
|
+
- [EnoStructureTask.test.ts](../test/integration-engine/enapo/task/EnoStructureTask.test.ts)
|
|
597
|
+
|
|
598
|
+
#### _task: EnoGeometryTask_
|
|
599
|
+
|
|
600
|
+
Task stahuje geometrie (polygony) pro budovy a stavby ze systému ENO. Je automaticky spouštěn po dokončení synchronizace budov nebo staveb.
|
|
601
|
+
|
|
602
|
+
- vstupní rabbitmq fronta
|
|
603
|
+
- název: dataplatform.enapoenergetics.processEnoGeometry
|
|
604
|
+
- TTL: 1 hodina
|
|
605
|
+
- parametry: `{ source, listGid }`
|
|
606
|
+
- `source` - zdroj dat (např. `mhmp`)
|
|
607
|
+
- `listGid` - seznam GID pro které se má stáhnout geometrie
|
|
608
|
+
- validační schéma: [EnoGeometryTaskInputSchema](../src/integration-engine/enapo/workers/schema/EnoGeometryTaskInputSchema.ts)
|
|
609
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
610
|
+
- žádné
|
|
611
|
+
- datové zdroje
|
|
612
|
+
- ENO SOAP/WSDL API (Geometry endpoint)
|
|
613
|
+
- [EnoDatasource](../src/integration-engine/enapo/datasources/eno/EnoDatasource.ts)
|
|
614
|
+
- [EnoDatasourceFactory](../src/integration-engine/enapo/datasources/eno/EnoDatasourceFactory.ts)
|
|
615
|
+
- transformace
|
|
616
|
+
- [EnoGeometryTransformation](../src/integration-engine/enapo/transformations/eno/EnoGeometryTransformation.ts) - transformace geometrických dat
|
|
617
|
+
- Zpracovává polygony ve formátu WKT (Well-Known Text)
|
|
618
|
+
- Přiděluje pořadí (poradi) pro více geometrií se stejným GID
|
|
619
|
+
- Podporuje EPSG kód pro souřadnicový systém
|
|
620
|
+
- data modely
|
|
621
|
+
- [GeometryModel](../src/schema-definitions/models/eno/GeometryModel.ts) tabulka `eno_geometrie`
|
|
622
|
+
- funkce
|
|
623
|
+
- **Stažení geometrií**: Stáhne geometrie pro zadaný seznam GID
|
|
624
|
+
- **Podpora více geometrií**: Jeden GID může mít více geometrií (např. budova s více polygony), každá dostane unikátní pořadí
|
|
625
|
+
- **EPSG kód**: Podporuje různé souřadnicové systémy (výchozí S-JTSK = 5514)
|
|
626
|
+
- unit testy
|
|
627
|
+
- [EnoGeometryTask.test.ts](../test/integration-engine/enapo/task/EnoGeometryTask.test.ts)
|
|
628
|
+
|
|
555
629
|
## Uložení dat
|
|
556
630
|
|
|
557
631
|
- typ databáze
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IEnoBuildingTaskInput.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/interfaces/IEnoBuildingTaskInput.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EnoBuildingTaskInputSchema.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/schema/EnoBuildingTaskInputSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAmG;AAGnG,MAAa,0BAA0B;CAUtC;AAVD,gEAUC;AARG;IADC,IAAA,wBAAM,EAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;;wDACjB;AAGd;IADC,IAAA,0BAAQ,GAAE;;0DACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;4DACO"}
|