@golemio/traffic-common 0.1.0-dev.851739354 → 0.1.0-dev.856907064

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.
Files changed (35) hide show
  1. package/db/example/00_reset.sql +1 -1
  2. package/db/example/01_lteCze90MockupData.sql +4 -0
  3. package/db/migrations/postgresql/20230427113318-ltecze-90-points-sjtsk-in-area.js +53 -0
  4. package/db/migrations/postgresql/sqls/20230427113318-ltecze-90-points-sjtsk-in-area-down.sql +1 -0
  5. package/db/migrations/postgresql/sqls/20230427113318-ltecze-90-points-sjtsk-in-area-up.sql +38 -0
  6. package/dist/integration-engine/datasources/RsdTmcOsmMappingDataStreamFactory.d.ts +4 -0
  7. package/dist/integration-engine/datasources/RsdTmcOsmMappingDataStreamFactory.js +25 -0
  8. package/dist/integration-engine/datasources/RsdTmcOsmMappingDataStreamFactory.js.map +1 -0
  9. package/dist/integration-engine/ioc/Di.js +5 -4
  10. package/dist/integration-engine/ioc/Di.js.map +1 -1
  11. package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +2 -1
  12. package/dist/integration-engine/ioc/ModuleContainerToken.js +2 -1
  13. package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
  14. package/dist/integration-engine/repositories/LteCze90PointsSjtskInAreaRepository.d.ts +7 -0
  15. package/dist/integration-engine/repositories/LteCze90PointsSjtskInAreaRepository.js +54 -0
  16. package/dist/integration-engine/repositories/LteCze90PointsSjtskInAreaRepository.js.map +1 -0
  17. package/dist/integration-engine/repositories/RsdTmcOsmMappingRepository.d.ts +7 -3
  18. package/dist/integration-engine/repositories/RsdTmcOsmMappingRepository.js +31 -19
  19. package/dist/integration-engine/repositories/RsdTmcOsmMappingRepository.js.map +1 -1
  20. package/dist/integration-engine/workers/RsdTmcOsmMappingWorker.js +1 -1
  21. package/dist/integration-engine/workers/RsdTmcOsmMappingWorker.js.map +1 -1
  22. package/dist/integration-engine/workers/tasks/RefreshRsdTmcOsmMappingDataTask.d.ts +3 -5
  23. package/dist/integration-engine/workers/tasks/RefreshRsdTmcOsmMappingDataTask.js +15 -15
  24. package/dist/integration-engine/workers/tasks/RefreshRsdTmcOsmMappingDataTask.js.map +1 -1
  25. package/dist/schema-definitions/models/LteCze90PointsSjtskInAreaModel.d.ts +38 -0
  26. package/dist/schema-definitions/models/LteCze90PointsSjtskInAreaModel.js +46 -0
  27. package/dist/schema-definitions/models/LteCze90PointsSjtskInAreaModel.js.map +1 -0
  28. package/dist/schema-definitions/models/interfaces/ILteCze90PointsSjtskInArea.d.ts +35 -0
  29. package/dist/schema-definitions/models/interfaces/ILteCze90PointsSjtskInArea.js +3 -0
  30. package/dist/schema-definitions/models/interfaces/ILteCze90PointsSjtskInArea.js.map +1 -0
  31. package/docs/implementation_documentation.md +2 -2
  32. package/package.json +7 -3
  33. package/dist/integration-engine/datasources/RsdTmcOsmMappingDataSourceFactory.d.ts +0 -4
  34. package/dist/integration-engine/datasources/RsdTmcOsmMappingDataSourceFactory.js +0 -36
  35. package/dist/integration-engine/datasources/RsdTmcOsmMappingDataSourceFactory.js.map +0 -1
@@ -1 +1 @@
1
- /* Nothing to do */
1
+ truncate table ltecze90_points_sjtsk_in_area;
@@ -0,0 +1,4 @@
1
+ INSERT INTO ltecze90_points_sjtsk_in_area (cid,tabcd,lcd,class,tcd,stcd,jnumber,roadnumber,roadname,firstname,secondname,area_ref,area_name,roa_lcd,seg_lcd,roa_type,inpos,outpos,inneg,outneg,presentpos,presentneg,interrupt,urban,int_lcd,neg_off,pos_off,wgs84_x,wgs84_y,sjtsk_x,sjtsk_y,isolated,inside_project_area) VALUES
2
+ (11,25,20761,'P',1,12,NULL,'II/425','','odb. Starovice','',33476,'Starovice',581,NULL,'L1.3',1,1,1,1,1,1,NULL,0,'20761,20762',14816,4959,'16,71753','48,95999','-592997,6958','-1187603,397',0,'nepravda'),
3
+ (11,25,22579,'P',1,12,NULL,'II/352','','Ždířec-odb. Střítež','',33780,'Ždírec',9288,NULL,'L1.3',1,1,1,1,1,1,NULL,0,'22579,22578',17910,11111,'15,67244','49,45365','-662457,6851','-1124460,336',0,'nepravda'),
4
+ (11,25,21583,'P',1,11,NULL,'III/19850','','odb. Nové Sedliště','II/198',31389,'Staré Sedliště',15136,NULL,'L1.4',1,1,1,1,1,1,NULL,0,'21583,21588',21582,21584,'12,69184','49,7181','-871745,118','-1065281,078',0,'nepravda');
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20230427113318-ltecze-90-points-sjtsk-in-area-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20230427113318-ltecze-90-points-sjtsk-in-area-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1 @@
1
+ DROP TABLE ltecze90_points_sjtsk_in_area;
@@ -0,0 +1,38 @@
1
+ CREATE TABLE ltecze90_points_sjtsk_in_area (
2
+ cid int4 NULL,
3
+ tabcd int4 NULL,
4
+ lcd int4 NOT NULL,
5
+ class bpchar(1) NULL,
6
+ tcd int4 NULL,
7
+ stcd int4 NULL,
8
+ jnumber int4 NULL,
9
+ roadnumber varchar(50) NULL,
10
+ roadname varchar(150) NULL,
11
+ firstname varchar(150) NULL,
12
+ secondname varchar(150) NULL,
13
+ area_ref int4 NULL,
14
+ area_name varchar(150) NULL,
15
+ roa_lcd int4 NULL,
16
+ seg_lcd int4 NULL,
17
+ roa_type varchar(10) NULL,
18
+ inpos int4 NULL,
19
+ outpos int4 NULL,
20
+ inneg int4 NULL,
21
+ outneg int4 NULL,
22
+ presentpos int4 NULL,
23
+ presentneg int4 NULL,
24
+ interrupt int4 NULL,
25
+ urban int4 NULL,
26
+ int_lcd varchar NULL,
27
+ neg_off int4 NULL,
28
+ pos_off int4 NULL,
29
+ wgs84_x varchar(20) NULL,
30
+ wgs84_y varchar(20) NULL,
31
+ sjtsk_x varchar(20) NULL,
32
+ sjtsk_y varchar(20) NULL,
33
+ isolated int4 NULL,
34
+ inside_project_area varchar(20) NULL,
35
+ CONSTRAINT ltecze90_points_sjtsk_in_area_pk PRIMARY KEY (lcd)
36
+ );
37
+
38
+ COMMENT ON TABLE ltecze90_points_sjtsk_in_area IS 'Využíváno moduly ndic a fcd. Mimo pražská data, které jsou zpracována v integračním engine se filtrují pomocí této tabulky. Aktualizace se provádí manuálně.';
@@ -0,0 +1,4 @@
1
+ import { HTTPProtocolStrategyStreamed } from "@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPProtocolStrategyStreamed";
2
+ export declare class RsdTmcOsmMappingDataStreamFactory {
3
+ getHTTPProtocolStrategyStreamed(dataUrl: string): HTTPProtocolStrategyStreamed;
4
+ }
@@ -0,0 +1,25 @@
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.RsdTmcOsmMappingDataStreamFactory = void 0;
10
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
11
+ const HTTPProtocolStrategyStreamed_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPProtocolStrategyStreamed");
12
+ let RsdTmcOsmMappingDataStreamFactory = class RsdTmcOsmMappingDataStreamFactory {
13
+ getHTTPProtocolStrategyStreamed(dataUrl) {
14
+ return new HTTPProtocolStrategyStreamed_1.HTTPProtocolStrategyStreamed({
15
+ headers: {},
16
+ method: "GET",
17
+ url: dataUrl,
18
+ });
19
+ }
20
+ };
21
+ RsdTmcOsmMappingDataStreamFactory = __decorate([
22
+ (0, tsyringe_1.injectable)()
23
+ ], RsdTmcOsmMappingDataStreamFactory);
24
+ exports.RsdTmcOsmMappingDataStreamFactory = RsdTmcOsmMappingDataStreamFactory;
25
+ //# sourceMappingURL=RsdTmcOsmMappingDataStreamFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RsdTmcOsmMappingDataStreamFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/RsdTmcOsmMappingDataStreamFactory.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iEAAgE;AAChE,mJAAgJ;AAGhJ,IAAa,iCAAiC,GAA9C,MAAa,iCAAiC;IACnC,+BAA+B,CAAC,OAAe;QAClD,OAAO,IAAI,2DAA4B,CAAC;YACpC,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,OAAO;SACf,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AARY,iCAAiC;IAD7C,IAAA,qBAAU,GAAE;GACA,iCAAiC,CAQ7C;AARY,8EAAiC"}
@@ -5,17 +5,18 @@ const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
5
5
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
6
6
  const ModuleContainerToken_1 = require("./ModuleContainerToken");
7
7
  const RsdTmcOsmMappingRepository_1 = require("../repositories/RsdTmcOsmMappingRepository");
8
- const RsdTmcOsmMappingDataSourceFactory_1 = require("../datasources/RsdTmcOsmMappingDataSourceFactory");
8
+ const RsdTmcOsmMappingDataStreamFactory_1 = require("../datasources/RsdTmcOsmMappingDataStreamFactory");
9
9
  const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
10
+ const LteCze90PointsSjtskInAreaRepository_1 = require("../repositories/LteCze90PointsSjtskInAreaRepository");
10
11
  //#region Initialization
11
12
  const TrafficCommonContainer = Di_1.IntegrationEngineContainer.createChildContainer();
12
13
  exports.TrafficCommonContainer = TrafficCommonContainer;
13
14
  //#endregion
14
15
  //#region Datasources
15
- TrafficCommonContainer.register(ModuleContainerToken_1.ModuleContainerToken.RsdTmcOsmMappingDataSource, {
16
+ TrafficCommonContainer.register(ModuleContainerToken_1.ModuleContainerToken.RsdTmcOsmMappingDataSourceStrategy, {
16
17
  useFactory: (0, tsyringe_1.instanceCachingFactory)(() => {
17
18
  const config = Di_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.Config);
18
- return new RsdTmcOsmMappingDataSourceFactory_1.RsdTmcOsmMappingDataSourceFactory().getDataSource(config.datasources.TrafficCommon.RsdTmcOsmMapping.url);
19
+ return new RsdTmcOsmMappingDataStreamFactory_1.RsdTmcOsmMappingDataStreamFactory().getHTTPProtocolStrategyStreamed(config.datasources.TrafficCommon.RsdTmcOsmMapping.url);
19
20
  }),
20
21
  });
21
22
  //#endregion
@@ -24,5 +25,5 @@ TrafficCommonContainer.register(ModuleContainerToken_1.ModuleContainerToken.RsdT
24
25
  //#region Helpers
25
26
  //#endregion
26
27
  //#region Repositories
27
- TrafficCommonContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.RsdTmcOsmMappingRepository, RsdTmcOsmMappingRepository_1.RsdTmcOsmMappingRepository);
28
+ TrafficCommonContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.RsdTmcOsmMappingRepository, RsdTmcOsmMappingRepository_1.RsdTmcOsmMappingRepository).register(ModuleContainerToken_1.ModuleContainerToken.LteCze90PointsSjtskInAreaRepository, LteCze90PointsSjtskInAreaRepository_1.LteCze90PointsSjtskInAreaRepository);
28
29
  //# sourceMappingURL=Di.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qEAA0F;AAC1F,iEAAiG;AACjG,iEAA8D;AAE9D,2FAAyF;AACzF,wGAAsG;AACtG,mEAA2E;AAE3E,wBAAwB;AACxB,MAAM,sBAAsB,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AA+B7F,wDAAsB;AA9B/B,YAAY;AAEZ,qBAAqB;AACrB,sBAAsB,CAAC,QAAQ,CAAa,2CAAoB,CAAC,0BAA0B,EAAE;IACzF,UAAU,EAAE,IAAA,iCAAsB,EAAa,GAAG,EAAE;QAChD,MAAM,MAAM,GAAmB,+BAA0B,CAAC,OAAO,CAAC,oBAAc,CAAC,MAAM,CAAC,CAAC;QACzF,OAAO,IAAI,qEAAiC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxH,CAAC,CAAC;CACL,CAAC,CAAC;AACH,YAAY;AAEZ,yBAAyB;AAEzB,YAAY;AAEZ,iBAAiB;AAEjB,YAAY;AAEZ,sBAAsB;AACtB,sBAAsB,CAAC,iBAAiB,CACpC,2CAAoB,CAAC,0BAA0B,EAC/C,uDAA0B,CAC7B,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qEAA0F;AAC1F,iEAAiG;AACjG,iEAA8D;AAE9D,2FAAyF;AACzF,wGAAsG;AACtG,mEAA2E;AAC3E,6GAA2G;AAE3G,wBAAwB;AACxB,MAAM,sBAAsB,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAoC7F,wDAAsB;AAnC/B,YAAY;AAEZ,qBAAqB;AACrB,sBAAsB,CAAC,QAAQ,CAA+B,2CAAoB,CAAC,kCAAkC,EAAE;IACnH,UAAU,EAAE,IAAA,iCAAsB,EAA+B,GAAG,EAAE;QAClE,MAAM,MAAM,GAAmB,+BAA0B,CAAC,OAAO,CAAC,oBAAc,CAAC,MAAM,CAAC,CAAC;QACzF,OAAO,IAAI,qEAAiC,EAAE,CAAC,+BAA+B,CAC1E,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACxD,CAAC;IACN,CAAC,CAAC;CACL,CAAC,CAAC;AACH,YAAY;AAEZ,yBAAyB;AAEzB,YAAY;AAEZ,iBAAiB;AAEjB,YAAY;AAEZ,sBAAsB;AACtB,sBAAsB,CAAC,iBAAiB,CACpC,2CAAoB,CAAC,0BAA0B,EAC/C,uDAA0B,CAC7B,CAAC,QAAQ,CACN,2CAAoB,CAAC,mCAAmC,EACxD,yEAAmC,CACtC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  declare const ModuleContainerToken: {
2
- RsdTmcOsmMappingDataSource: symbol;
2
+ RsdTmcOsmMappingDataSourceStrategy: symbol;
3
3
  RsdTmcOsmMappingRepository: symbol;
4
+ LteCze90PointsSjtskInAreaRepository: symbol;
4
5
  };
5
6
  export { ModuleContainerToken };
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModuleContainerToken = void 0;
4
4
  const ModuleContainerToken = {
5
- RsdTmcOsmMappingDataSource: Symbol(),
5
+ RsdTmcOsmMappingDataSourceStrategy: Symbol(),
6
6
  RsdTmcOsmMappingRepository: Symbol(),
7
+ LteCze90PointsSjtskInAreaRepository: Symbol(),
7
8
  };
8
9
  exports.ModuleContainerToken = ModuleContainerToken;
9
10
  //# sourceMappingURL=ModuleContainerToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,0BAA0B,EAAE,MAAM,EAAE;IACpC,0BAA0B,EAAE,MAAM,EAAE;CACvC,CAAC;AAEO,oDAAoB"}
1
+ {"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,kCAAkC,EAAE,MAAM,EAAE;IAC5C,0BAA0B,EAAE,MAAM,EAAE;IACpC,mCAAmC,EAAE,MAAM,EAAE;CAChD,CAAC;AAEO,oDAAoB"}
@@ -0,0 +1,7 @@
1
+ import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
2
+ export declare class LteCze90PointsSjtskInAreaRepository extends PostgresModel implements IModel {
3
+ constructor();
4
+ getFiltrationData(): Promise<Array<{
5
+ lcd: number;
6
+ }>>;
7
+ }
@@ -0,0 +1,54 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.LteCze90PointsSjtskInAreaRepository = void 0;
22
+ const _sch_1 = require("../../schema-definitions");
23
+ const LteCze90PointsSjtskInAreaModel_1 = require("../../schema-definitions/models/LteCze90PointsSjtskInAreaModel");
24
+ const models_1 = require("@golemio/core/dist/integration-engine/models");
25
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
26
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
27
+ let LteCze90PointsSjtskInAreaRepository = class LteCze90PointsSjtskInAreaRepository extends models_1.PostgresModel {
28
+ constructor() {
29
+ super("LteCze90PointsSjtskInAreaRepository", {
30
+ outputSequelizeAttributes: LteCze90PointsSjtskInAreaModel_1.LteCze90PointsSjtskInAreaModel.attributeModel,
31
+ pgTableName: "ltecze90_points_sjtsk_in_area",
32
+ pgSchema: _sch_1.RsdTmcOsmMappingTable.pgSchema,
33
+ savingType: "insertOnly",
34
+ sequelizeAdditionalSettings: {
35
+ timestamps: false,
36
+ },
37
+ }, new golemio_validator_1.JSONSchemaValidator("LteCze90PointsSjtskInAreaRepository", {}) // table is manually created
38
+ );
39
+ }
40
+ getFiltrationData() {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ return yield this.find({
43
+ attributes: ["lcd"],
44
+ raw: true,
45
+ });
46
+ });
47
+ }
48
+ };
49
+ LteCze90PointsSjtskInAreaRepository = __decorate([
50
+ (0, tsyringe_1.injectable)(),
51
+ __metadata("design:paramtypes", [])
52
+ ], LteCze90PointsSjtskInAreaRepository);
53
+ exports.LteCze90PointsSjtskInAreaRepository = LteCze90PointsSjtskInAreaRepository;
54
+ //# sourceMappingURL=LteCze90PointsSjtskInAreaRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LteCze90PointsSjtskInAreaRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/LteCze90PointsSjtskInAreaRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,mDAA6C;AAC7C,mHAA4F;AAC5F,yEAAqF;AACrF,mFAAkF;AAClF,iEAAgE;AAGhE,IAAa,mCAAmC,GAAhD,MAAa,mCAAoC,SAAQ,sBAAa;IAClE;QACI,KAAK,CACD,qCAAqC,EACrC;YACI,yBAAyB,EAAE,+DAA8B,CAAC,cAAc;YACxE,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,4BAAqB,CAAC,QAAQ;YACxC,UAAU,EAAE,YAAY;YACxB,2BAA2B,EAAE;gBACzB,UAAU,EAAE,KAAK;aACpB;SACJ,EACD,IAAI,uCAAmB,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC,4BAA4B;SAClG,CAAC;IACN,CAAC;IAEY,iBAAiB;;YAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;gBACnB,UAAU,EAAE,CAAC,KAAK,CAAC;gBACnB,GAAG,EAAE,IAAI;aACZ,CAAC,CAAC;QACP,CAAC;KAAA;CACJ,CAAA;AAvBY,mCAAmC;IAD/C,IAAA,qBAAU,GAAE;;GACA,mCAAmC,CAuB/C;AAvBY,kFAAmC"}
@@ -1,8 +1,12 @@
1
+ /// <reference types="node" />
1
2
  import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
2
3
  import IPostgresConnector from "@golemio/core/dist/integration-engine/connectors/interfaces/IPostgresConnector";
3
- import { IRsdTmcOsmMapping } from "../../schema-definitions";
4
+ import { ILogger } from "@golemio/core/dist/helpers";
5
+ import { Readable } from "stream";
4
6
  export declare class RsdTmcOsmMappingRepository extends PostgresModel implements IModel {
5
7
  private connector;
6
- constructor(connector: IPostgresConnector);
7
- updateData(data: IRsdTmcOsmMapping[]): Promise<void>;
8
+ private logger;
9
+ constructor(connector: IPostgresConnector, logger: ILogger);
10
+ cleanTable(): Promise<void>;
11
+ streamDataIn(data: Readable): Promise<void>;
8
12
  }
@@ -28,8 +28,9 @@ const RsdTmcOsmMappingModel_1 = require("../../schema-definitions/models/RsdTmcO
28
28
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
29
29
  const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
30
30
  const _sch_1 = require("../../schema-definitions");
31
+ const pg_copy_streams_1 = require("pg-copy-streams");
31
32
  let RsdTmcOsmMappingRepository = class RsdTmcOsmMappingRepository extends models_1.PostgresModel {
32
- constructor(connector) {
33
+ constructor(connector, logger) {
33
34
  super("RsdTmcOsmMappingRepository", {
34
35
  outputSequelizeAttributes: RsdTmcOsmMappingModel_1.RsdTmcOsmMappingModel.attributeModel,
35
36
  pgTableName: _sch_1.RsdTmcOsmMappingTable.pgTableName,
@@ -41,33 +42,44 @@ let RsdTmcOsmMappingRepository = class RsdTmcOsmMappingRepository extends models
41
42
  },
42
43
  }, new golemio_validator_1.JSONSchemaValidator("RsdTmcOsmMappingValidator", RsdTmcOsmMappingModel_1.RsdTmcOsmMappingModel.jsonSchema));
43
44
  this.connector = connector;
45
+ this.logger = logger;
44
46
  }
45
- updateData(data) {
47
+ cleanTable() {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ yield this.sequelizeModel.destroy({
50
+ truncate: true,
51
+ });
52
+ });
53
+ }
54
+ streamDataIn(data) {
46
55
  return __awaiter(this, void 0, void 0, function* () {
47
56
  const connection = this.connector.getConnection();
48
- const t = yield connection.transaction();
49
- try {
50
- yield this.validate(data);
51
- yield this.sequelizeModel.destroy({
52
- where: {},
53
- transaction: t,
54
- });
55
- yield this.sequelizeModel.bulkCreate(data, {
56
- transaction: t,
57
- });
58
- yield t.commit();
59
- }
60
- catch (err) {
61
- yield t.rollback();
62
- throw err;
63
- }
57
+ const client = yield connection.connectionManager.getConnection({ type: "write" });
58
+ // copy transformed data to tmp table by stream
59
+ yield new Promise((resolve, reject) => {
60
+ const stream = client
61
+ .query((0, pg_copy_streams_1.from)(`COPY "${_sch_1.RsdTmcOsmMappingTable.pgSchema}".${_sch_1.RsdTmcOsmMappingTable.pgTableName}
62
+ FROM STDIN DELIMITER ',' CSV HEADER;`))
63
+ .on("error", (err) => __awaiter(this, void 0, void 0, function* () {
64
+ this.logger.error(`Copying data error (${this.name}): ${err.toString()}`);
65
+ yield connection.connectionManager.releaseConnection(client);
66
+ return reject(err);
67
+ }))
68
+ .on("finish", () => __awaiter(this, void 0, void 0, function* () {
69
+ this.logger.info(`Done copying data (${this.name})`);
70
+ yield connection.connectionManager.releaseConnection(client);
71
+ return resolve();
72
+ }));
73
+ data.pipe(stream);
74
+ });
64
75
  });
65
76
  }
66
77
  };
67
78
  RsdTmcOsmMappingRepository = __decorate([
68
79
  (0, tsyringe_1.injectable)(),
69
80
  __param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.PostgresConnector)),
70
- __metadata("design:paramtypes", [Object])
81
+ __param(1, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Logger)),
82
+ __metadata("design:paramtypes", [Object, Object])
71
83
  ], RsdTmcOsmMappingRepository);
72
84
  exports.RsdTmcOsmMappingRepository = RsdTmcOsmMappingRepository;
73
85
  //# sourceMappingURL=RsdTmcOsmMappingRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RsdTmcOsmMappingRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/RsdTmcOsmMappingRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAqF;AACrF,iEAAwE;AACxE,iGAA0E;AAC1E,mFAAkF;AAClF,mEAA2E;AAE3E,mDAAgE;AAGhE,IAAa,0BAA0B,GAAvC,MAAa,0BAA2B,SAAQ,sBAAa;IACzD,YAEY,SAA6B;QAErC,KAAK,CACD,4BAA4B,EAC5B;YACI,yBAAyB,EAAE,6CAAqB,CAAC,cAAc;YAC/D,WAAW,EAAE,4BAAqB,CAAC,WAAW;YAC9C,QAAQ,EAAE,4BAAqB,CAAC,QAAQ;YACxC,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,CAAC,IAAI,CAAC;YAC1B,2BAA2B,EAAE;gBACzB,UAAU,EAAE,KAAK;aACpB;SACJ,EACD,IAAI,uCAAmB,CAAC,2BAA2B,EAAE,6CAAqB,CAAC,UAAU,CAAC,CACzF,CAAC;QAfM,cAAS,GAAT,SAAS,CAAoB;IAgBzC,CAAC;IAEY,UAAU,CAAC,IAAyB;;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI;gBACA,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE1B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC9B,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,CAAC;iBACjB,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAwB,IAAI,EAAE;oBAC9D,WAAW,EAAE,CAAC;iBACjB,CAAC,CAAC;gBAEH,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,GAAG,CAAC;aACb;QACL,CAAC;KAAA;CACJ,CAAA;AA1CY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,iBAAiB,CAAC,CAAA;;GAFpC,0BAA0B,CA0CtC;AA1CY,gEAA0B"}
1
+ {"version":3,"file":"RsdTmcOsmMappingRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/RsdTmcOsmMappingRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAqF;AACrF,iEAAwE;AACxE,iGAA0E;AAC1E,mFAAkF;AAClF,mEAA2E;AAE3E,mDAA6C;AAC7C,qDAAmD;AAKnD,IAAa,0BAA0B,GAAvC,MAAa,0BAA2B,SAAQ,sBAAa;IACzD,YACsD,SAA6B,EACxC,MAAe;QAEtD,KAAK,CACD,4BAA4B,EAC5B;YACI,yBAAyB,EAAE,6CAAqB,CAAC,cAAc;YAC/D,WAAW,EAAE,4BAAqB,CAAC,WAAW;YAC9C,QAAQ,EAAE,4BAAqB,CAAC,QAAQ;YACxC,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,CAAC,IAAI,CAAC;YAC1B,2BAA2B,EAAE;gBACzB,UAAU,EAAE,KAAK;aACpB;SACJ,EACD,IAAI,uCAAmB,CAAC,2BAA2B,EAAE,6CAAqB,CAAC,UAAU,CAAC,CACzF,CAAC;QAhBgD,cAAS,GAAT,SAAS,CAAoB;QACxC,WAAM,GAAN,MAAM,CAAS;IAgB1D,CAAC;IAEY,UAAU;;YACnB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC9B,QAAQ,EAAE,IAAI;aACjB,CAAC,CAAC;QACP,CAAC;KAAA;IAEY,YAAY,CAAC,IAAc;;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAClD,MAAM,MAAM,GAAQ,MAAM,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAExF,+CAA+C;YAC/C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,MAAM,MAAM,GAAG,MAAM;qBAChB,KAAK,CACF,IAAA,sBAAQ,EACJ,SAAS,4BAAqB,CAAC,QAAQ,KAAK,4BAAqB,CAAC,WAAW;6DACxC,CACxC,CACJ;qBACA,EAAE,CAAC,OAAO,EAAE,CAAO,GAAQ,EAAE,EAAE;oBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC1E,MAAM,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC,CAAA,CAAC;qBACD,EAAE,CAAC,QAAQ,EAAE,GAAS,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;oBACrD,MAAM,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC7D,OAAO,OAAO,EAAE,CAAC;gBACrB,CAAC,CAAA,CAAC,CAAC;gBACP,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;CACJ,CAAA;AArDY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,iBAAiB,CAAC,CAAA;IACxC,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;;GAHzB,0BAA0B,CAqDtC;AArDY,gEAA0B"}
@@ -9,7 +9,7 @@ class RsdTmcOsmMappingWorker extends integration_engine_1.AbstractWorker {
9
9
  constructor() {
10
10
  super();
11
11
  this.name = "RsdTmcOsmMapping";
12
- this.registerTask(new RefreshRsdTmcOsmMappingDataTask_1.RefreshRsdTmcOsmMappingDataTask(this.getQueuePrefix(), Di_1.TrafficCommonContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RsdTmcOsmMappingDataSource), Di_1.TrafficCommonContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RsdTmcOsmMappingRepository)));
12
+ this.registerTask(new RefreshRsdTmcOsmMappingDataTask_1.RefreshRsdTmcOsmMappingDataTask(this.getQueuePrefix(), Di_1.TrafficCommonContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RsdTmcOsmMappingDataSourceStrategy), Di_1.TrafficCommonContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RsdTmcOsmMappingRepository)));
13
13
  }
14
14
  }
15
15
  exports.RsdTmcOsmMappingWorker = RsdTmcOsmMappingWorker;
@@ -1 +1 @@
1
- {"version":3,"file":"RsdTmcOsmMappingWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/RsdTmcOsmMappingWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAuE;AACvE,6FAA0F;AAC1F,sEAAoE;AACpE,kCAAoD;AAEpD,MAAa,sBAAuB,SAAQ,mCAAc;IAGtD;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,kBAAkB,CAAC;QAIhC,IAAI,CAAC,YAAY,CACb,IAAI,iEAA+B,CAC/B,IAAI,CAAC,cAAc,EAAE,EACrB,2BAAsB,CAAC,OAAO,CAAC,2CAAoB,CAAC,0BAA0B,CAAC,EAC/E,2BAAsB,CAAC,OAAO,CAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAClF,CACJ,CAAC;IACN,CAAC;CACJ;AAbD,wDAaC"}
1
+ {"version":3,"file":"RsdTmcOsmMappingWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/RsdTmcOsmMappingWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAuE;AACvE,6FAA0F;AAC1F,sEAAoE;AACpE,kCAAoD;AAEpD,MAAa,sBAAuB,SAAQ,mCAAc;IAGtD;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,kBAAkB,CAAC;QAIhC,IAAI,CAAC,YAAY,CACb,IAAI,iEAA+B,CAC/B,IAAI,CAAC,cAAc,EAAE,EACrB,2BAAsB,CAAC,OAAO,CAAC,2CAAoB,CAAC,kCAAkC,CAAC,EACvF,2BAAsB,CAAC,OAAO,CAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAClF,CACJ,CAAC;IACN,CAAC;CACJ;AAbD,wDAaC"}
@@ -1,12 +1,10 @@
1
- import { AbstractEmptyTask, DataSourceStreamed } from "@golemio/core/dist/integration-engine";
1
+ import { AbstractEmptyTask, HTTPProtocolStrategyStreamed } from "@golemio/core/dist/integration-engine";
2
2
  import { RsdTmcOsmMappingRepository } from "../../repositories/RsdTmcOsmMappingRepository";
3
3
  export declare class RefreshRsdTmcOsmMappingDataTask extends AbstractEmptyTask {
4
- private dataSource;
4
+ private streamedStrategy;
5
5
  private repository;
6
6
  readonly queueName = "RsdTmsOsmMappingRefresh";
7
7
  readonly queueTtl: number;
8
- constructor(queuePrefix: string, dataSource: DataSourceStreamed, repository: RsdTmcOsmMappingRepository);
8
+ constructor(queuePrefix: string, streamedStrategy: HTTPProtocolStrategyStreamed, repository: RsdTmcOsmMappingRepository);
9
9
  protected execute(): Promise<void>;
10
- private onDataFunction;
11
- private processDataStream;
12
10
  }
@@ -13,34 +13,34 @@ exports.RefreshRsdTmcOsmMappingDataTask = void 0;
13
13
  const integration_engine_1 = require("@golemio/core/dist/integration-engine");
14
14
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
15
15
  class RefreshRsdTmcOsmMappingDataTask extends integration_engine_1.AbstractEmptyTask {
16
- constructor(queuePrefix, dataSource, repository) {
16
+ constructor(queuePrefix, streamedStrategy, repository) {
17
17
  super(queuePrefix);
18
- this.dataSource = dataSource;
18
+ this.streamedStrategy = streamedStrategy;
19
19
  this.repository = repository;
20
20
  this.queueName = "RsdTmsOsmMappingRefresh";
21
21
  this.queueTtl = 59 * 60 * 1000; // 59 minutes
22
- this.onDataFunction = (data) => __awaiter(this, void 0, void 0, function* () {
23
- return this.repository.updateData(data);
24
- });
25
- this.processDataStream = (dataSourceStream, onDataFunction) => __awaiter(this, void 0, void 0, function* () {
22
+ }
23
+ execute() {
24
+ return __awaiter(this, void 0, void 0, function* () {
26
25
  let dataStream;
27
26
  try {
28
- dataStream = yield dataSourceStream;
27
+ yield this.repository.cleanTable();
29
28
  }
30
29
  catch (err) {
31
- throw new golemio_errors_1.CustomError("Error while getting data.", true, this.constructor.name, 5050, err);
30
+ throw new golemio_errors_1.CustomError("Error while cleaning table.", true, this.constructor.name, 5050, err);
32
31
  }
33
32
  try {
34
- yield dataStream.setDataProcessor(onDataFunction).proceed();
33
+ dataStream = yield this.streamedStrategy.getRawData();
35
34
  }
36
35
  catch (err) {
37
- throw new golemio_errors_1.CustomError("Error while processing data.", true, this.constructor.name, 5051, err);
36
+ throw new golemio_errors_1.CustomError("Error while getting data stream.", true, this.constructor.name, 5050, err);
37
+ }
38
+ try {
39
+ yield this.repository.streamDataIn(dataStream.data);
40
+ }
41
+ catch (err) {
42
+ throw new golemio_errors_1.CustomError("Error while saving data.", true, this.constructor.name, 5051, err);
38
43
  }
39
- });
40
- }
41
- execute() {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- yield this.processDataStream(this.dataSource.getAll(true), this.onDataFunction);
44
44
  });
45
45
  }
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshRsdTmcOsmMappingDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshRsdTmcOsmMappingDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAAgH;AAEhH,6EAAuE;AAGvE,MAAa,+BAAgC,SAAQ,sCAAiB;IAIlE,YAAY,WAAmB,EAAU,UAA8B,EAAU,UAAsC;QACnH,KAAK,CAAC,WAAW,CAAC,CAAC;QADkB,eAAU,GAAV,UAAU,CAAoB;QAAU,eAAU,GAAV,UAAU,CAA4B;QAHvG,cAAS,GAAG,yBAAyB,CAAC;QACtC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAUhD,mBAAc,GAAG,CAAO,IAAyB,EAAiB,EAAE;YACxE,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAA,CAAC;QAEM,sBAAiB,GAAG,CACxB,gBAA2C,EAC3C,cAA4C,EAC/B,EAAE;YACf,IAAI,UAA4B,CAAC;YAEjC,IAAI;gBACA,UAAU,GAAG,MAAM,gBAAgB,CAAC;aACvC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,2BAA2B,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aAC9F;YAED,IAAI;gBACA,MAAM,UAAU,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/D;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,8BAA8B,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aACjG;QACL,CAAC,CAAA,CAAC;IA3BF,CAAC;IAEe,OAAO;;YACnB,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACpF,CAAC;KAAA;CAwBJ;AAlCD,0EAkCC"}
1
+ {"version":3,"file":"RefreshRsdTmcOsmMappingDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshRsdTmcOsmMappingDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAAwG;AAExG,6EAAuE;AAGvE,MAAa,+BAAgC,SAAQ,sCAAiB;IAIlE,YACI,WAAmB,EACX,gBAA8C,EAC9C,UAAsC;QAE9C,KAAK,CAAC,WAAW,CAAC,CAAC;QAHX,qBAAgB,GAAhB,gBAAgB,CAA8B;QAC9C,eAAU,GAAV,UAAU,CAA4B;QANlC,cAAS,GAAG,yBAAyB,CAAC;QACtC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;IAQxD,CAAC;IAEe,OAAO;;YACnB,IAAI,UAA8B,CAAC;YAEnC,IAAI;gBACA,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;aACtC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,6BAA6B,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aAChG;YAED,IAAI;gBACA,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;aACzD;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aACrG;YAED,IAAI;gBACA,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACvD;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aAC7F;QACL,CAAC;KAAA;CACJ;AAjCD,0EAiCC"}
@@ -0,0 +1,38 @@
1
+ import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
2
+ import { ILteCze90PointsSjtskInArea } from "./interfaces/ILteCze90PointsSjtskInArea";
3
+ export declare class LteCze90PointsSjtskInAreaModel extends Model<ILteCze90PointsSjtskInArea> implements ILteCze90PointsSjtskInArea {
4
+ cid: number;
5
+ tabcd: number;
6
+ lcd: number;
7
+ class: string;
8
+ tcd: number;
9
+ stcd: number;
10
+ jnumber: number;
11
+ roadnumber: string;
12
+ roadname: string;
13
+ firstname: string;
14
+ secondname: string;
15
+ area_ref: number;
16
+ area_name: string;
17
+ roa_lcd: number;
18
+ seg_lcd: number;
19
+ roa_type: string;
20
+ inpos: number;
21
+ outpos: number;
22
+ inneg: number;
23
+ outneg: number;
24
+ presentpos: number;
25
+ presentneg: number;
26
+ interrupt: number;
27
+ urban: number;
28
+ int_lcd: string;
29
+ neg_off: number;
30
+ pos_off: number;
31
+ wgs84_x: string;
32
+ wgs84_y: string;
33
+ sjtsk_x: string;
34
+ sjtsk_y: string;
35
+ isolated: number;
36
+ inside_project_area: string;
37
+ static attributeModel: ModelAttributes<LteCze90PointsSjtskInAreaModel>;
38
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LteCze90PointsSjtskInAreaModel = void 0;
4
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
5
+ class LteCze90PointsSjtskInAreaModel extends sequelize_1.Model {
6
+ }
7
+ exports.LteCze90PointsSjtskInAreaModel = LteCze90PointsSjtskInAreaModel;
8
+ LteCze90PointsSjtskInAreaModel.attributeModel = {
9
+ cid: sequelize_1.DataTypes.INTEGER,
10
+ tabcd: sequelize_1.DataTypes.INTEGER,
11
+ lcd: {
12
+ type: sequelize_1.DataTypes.INTEGER,
13
+ primaryKey: true,
14
+ },
15
+ class: sequelize_1.DataTypes.CHAR,
16
+ tcd: sequelize_1.DataTypes.INTEGER,
17
+ stcd: sequelize_1.DataTypes.INTEGER,
18
+ jnumber: sequelize_1.DataTypes.INTEGER,
19
+ roadnumber: sequelize_1.DataTypes.STRING,
20
+ roadname: sequelize_1.DataTypes.STRING,
21
+ firstname: sequelize_1.DataTypes.STRING,
22
+ secondname: sequelize_1.DataTypes.STRING,
23
+ area_ref: sequelize_1.DataTypes.INTEGER,
24
+ area_name: sequelize_1.DataTypes.STRING,
25
+ roa_lcd: sequelize_1.DataTypes.INTEGER,
26
+ seg_lcd: sequelize_1.DataTypes.INTEGER,
27
+ roa_type: sequelize_1.DataTypes.STRING,
28
+ inpos: sequelize_1.DataTypes.INTEGER,
29
+ outpos: sequelize_1.DataTypes.INTEGER,
30
+ inneg: sequelize_1.DataTypes.INTEGER,
31
+ outneg: sequelize_1.DataTypes.INTEGER,
32
+ presentpos: sequelize_1.DataTypes.INTEGER,
33
+ presentneg: sequelize_1.DataTypes.INTEGER,
34
+ interrupt: sequelize_1.DataTypes.INTEGER,
35
+ urban: sequelize_1.DataTypes.INTEGER,
36
+ int_lcd: sequelize_1.DataTypes.STRING,
37
+ neg_off: sequelize_1.DataTypes.INTEGER,
38
+ pos_off: sequelize_1.DataTypes.INTEGER,
39
+ wgs84_x: sequelize_1.DataTypes.STRING,
40
+ wgs84_y: sequelize_1.DataTypes.STRING,
41
+ sjtsk_x: sequelize_1.DataTypes.STRING,
42
+ sjtsk_y: sequelize_1.DataTypes.STRING,
43
+ isolated: sequelize_1.DataTypes.INTEGER,
44
+ inside_project_area: sequelize_1.DataTypes.STRING,
45
+ };
46
+ //# sourceMappingURL=LteCze90PointsSjtskInAreaModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LteCze90PointsSjtskInAreaModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/LteCze90PointsSjtskInAreaModel.ts"],"names":[],"mappings":";;;AAAA,mEAAwF;AAGxF,MAAa,8BAA+B,SAAQ,iBAAiC;;AAArF,wEAyEC;AAtCiB,6CAAc,GAAoD;IAC5E,GAAG,EAAE,qBAAS,CAAC,OAAO;IACtB,KAAK,EAAE,qBAAS,CAAC,OAAO;IACxB,GAAG,EAAE;QACD,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,UAAU,EAAE,IAAI;KACnB;IACD,KAAK,EAAE,qBAAS,CAAC,IAAI;IACrB,GAAG,EAAE,qBAAS,CAAC,OAAO;IACtB,IAAI,EAAE,qBAAS,CAAC,OAAO;IACvB,OAAO,EAAE,qBAAS,CAAC,OAAO;IAC1B,UAAU,EAAE,qBAAS,CAAC,MAAM;IAC5B,QAAQ,EAAE,qBAAS,CAAC,MAAM;IAC1B,SAAS,EAAE,qBAAS,CAAC,MAAM;IAC3B,UAAU,EAAE,qBAAS,CAAC,MAAM;IAC5B,QAAQ,EAAE,qBAAS,CAAC,OAAO;IAC3B,SAAS,EAAE,qBAAS,CAAC,MAAM;IAC3B,OAAO,EAAE,qBAAS,CAAC,OAAO;IAC1B,OAAO,EAAE,qBAAS,CAAC,OAAO;IAC1B,QAAQ,EAAE,qBAAS,CAAC,MAAM;IAC1B,KAAK,EAAE,qBAAS,CAAC,OAAO;IACxB,MAAM,EAAE,qBAAS,CAAC,OAAO;IACzB,KAAK,EAAE,qBAAS,CAAC,OAAO;IACxB,MAAM,EAAE,qBAAS,CAAC,OAAO;IACzB,UAAU,EAAE,qBAAS,CAAC,OAAO;IAC7B,UAAU,EAAE,qBAAS,CAAC,OAAO;IAC7B,SAAS,EAAE,qBAAS,CAAC,OAAO;IAC5B,KAAK,EAAE,qBAAS,CAAC,OAAO;IACxB,OAAO,EAAE,qBAAS,CAAC,MAAM;IACzB,OAAO,EAAE,qBAAS,CAAC,OAAO;IAC1B,OAAO,EAAE,qBAAS,CAAC,OAAO;IAC1B,OAAO,EAAE,qBAAS,CAAC,MAAM;IACzB,OAAO,EAAE,qBAAS,CAAC,MAAM;IACzB,OAAO,EAAE,qBAAS,CAAC,MAAM;IACzB,OAAO,EAAE,qBAAS,CAAC,MAAM;IACzB,QAAQ,EAAE,qBAAS,CAAC,OAAO;IAC3B,mBAAmB,EAAE,qBAAS,CAAC,MAAM;CACxC,CAAC"}
@@ -0,0 +1,35 @@
1
+ export interface ILteCze90PointsSjtskInArea {
2
+ cid: number;
3
+ tabcd: number;
4
+ lcd: number;
5
+ class: string;
6
+ tcd: number;
7
+ stcd: number;
8
+ jnumber: number;
9
+ roadnumber: string;
10
+ roadname: string;
11
+ firstname: string;
12
+ secondname: string;
13
+ area_ref: number;
14
+ area_name: string;
15
+ roa_lcd: number;
16
+ seg_lcd: number;
17
+ roa_type: string;
18
+ inpos: number;
19
+ outpos: number;
20
+ inneg: number;
21
+ outneg: number;
22
+ presentpos: number;
23
+ presentneg: number;
24
+ interrupt: number;
25
+ urban: number;
26
+ int_lcd: string;
27
+ neg_off: number;
28
+ pos_off: number;
29
+ wgs84_x: string;
30
+ wgs84_y: string;
31
+ sjtsk_x: string;
32
+ sjtsk_y: string;
33
+ isolated: number;
34
+ inside_project_area: string;
35
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ILteCze90PointsSjtskInArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ILteCze90PointsSjtskInArea.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/ILteCze90PointsSjtskInArea.ts"],"names":[],"mappings":""}
@@ -30,7 +30,6 @@ Modul spravuje dopravní data využívaná ostatními moduly (konkrétně NDIC a
30
30
  - název rabbitmq fronty
31
31
  - dataplatform.RsdTmcOsmMapping.RsdTmsOsmMappingRefresh
32
32
 
33
-
34
33
  ### *RsdTmcOsmMappingWorker*
35
34
 
36
35
  #### *task: RefreshRsdTmcOsmMappingDataTask*
@@ -40,6 +39,7 @@ Modul spravuje dopravní data využívaná ostatními moduly (konkrétně NDIC a
40
39
  - bez parametrů
41
40
  - datové zdroje
42
41
  - RsdTmcOsmMapping CSV
42
+ - data se streamují napřímo do databáze
43
43
  - data modely
44
44
  - RsdTmcOsmMappingModel -> (schéma traffic) `rsd_tmc_osm_mapping`
45
45
 
@@ -50,5 +50,5 @@ Modul spravuje dopravní data využívaná ostatními moduly (konkrétně NDIC a
50
50
  - tabulka
51
51
  - `traffic.rsd_tmc_osm_mapping`
52
52
  - retence dat
53
- - task aktualizuje data při každém běhu
53
+ - task obnoví data při každém běhu
54
54
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/traffic-common",
3
- "version": "0.1.0-dev.851739354",
3
+ "version": "0.1.0-dev.856907064",
4
4
  "description": "Golemio Common Traffic Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "devDependencies": {
34
34
  "@golemio/cli": "1.4.2",
35
- "@golemio/core": "1.6.4",
35
+ "@golemio/core": "1.6.7",
36
36
  "@golemio/db-common": "1.1.0-dev.848192245",
37
37
  "@golemio/eslint-config": "1.1.0",
38
38
  "@ovos-media/ts-transform-paths": "^1.7.18-1",
@@ -40,6 +40,7 @@
40
40
  "@types/chai-as-promised": "7.1.2",
41
41
  "@types/mocha": "^9.1.0",
42
42
  "@types/node": "^18.13.0",
43
+ "@types/pg-copy-streams": "^1.2.2",
43
44
  "@types/sinon": "^9.0.10",
44
45
  "@types/supertest": "^2.0.12",
45
46
  "chai": "4.2.0",
@@ -63,5 +64,8 @@
63
64
  "peerDependencies": {
64
65
  "@golemio/core": ">=1.6.5"
65
66
  },
66
- "overrides": {}
67
+ "overrides": {},
68
+ "dependencies": {
69
+ "pg-copy-streams": "^6.0.5"
70
+ }
67
71
  }
@@ -1,4 +0,0 @@
1
- import { DataSourceStreamed } from "@golemio/core/dist/integration-engine";
2
- export declare class RsdTmcOsmMappingDataSourceFactory {
3
- getDataSource(dataUrl: string): DataSourceStreamed;
4
- }
@@ -1,36 +0,0 @@
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.RsdTmcOsmMappingDataSourceFactory = void 0;
10
- const integration_engine_1 = require("@golemio/core/dist/integration-engine");
11
- const _sch_1 = require("../../schema-definitions");
12
- const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
13
- const HTTPProtocolStrategyStreamed_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPProtocolStrategyStreamed");
14
- let RsdTmcOsmMappingDataSourceFactory = class RsdTmcOsmMappingDataSourceFactory {
15
- getDataSource(dataUrl) {
16
- return new integration_engine_1.DataSourceStreamed(_sch_1.RsdTmcOsmMappingTable.name + "DataSource", new HTTPProtocolStrategyStreamed_1.HTTPProtocolStrategyStreamed({
17
- headers: {},
18
- method: "GET",
19
- url: dataUrl,
20
- }), new integration_engine_1.CSVDataTypeStrategy({
21
- fastcsvParams: {
22
- headers: true,
23
- },
24
- subscribe: (row) => ({
25
- lt_start: Number(row.lt_start),
26
- lt_end: Number(row.lt_end),
27
- osm_path: row.osm_path,
28
- }),
29
- }));
30
- }
31
- };
32
- RsdTmcOsmMappingDataSourceFactory = __decorate([
33
- (0, tsyringe_1.injectable)()
34
- ], RsdTmcOsmMappingDataSourceFactory);
35
- exports.RsdTmcOsmMappingDataSourceFactory = RsdTmcOsmMappingDataSourceFactory;
36
- //# sourceMappingURL=RsdTmcOsmMappingDataSourceFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RsdTmcOsmMappingDataSourceFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/RsdTmcOsmMappingDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8EAAgG;AAChG,mDAA6C;AAC7C,iEAAgE;AAChE,mJAAgJ;AAGhJ,IAAa,iCAAiC,GAA9C,MAAa,iCAAiC;IACnC,aAAa,CAAC,OAAe;QAChC,OAAO,IAAI,uCAAkB,CACzB,4BAAqB,CAAC,IAAI,GAAG,YAAY,EACzC,IAAI,2DAA4B,CAAC;YAC7B,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,OAAO;SACf,CAAC,EACF,IAAI,wCAAmB,CAAC;YACpB,aAAa,EAAE;gBACX,OAAO,EAAE,IAAI;aAChB;YACD,SAAS,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBACtB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC9B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACzB,CAAC;SACL,CAAC,CACL,CAAC;IACN,CAAC;CACJ,CAAA;AArBY,iCAAiC;IAD7C,IAAA,qBAAU,GAAE;GACA,iCAAiC,CAqB7C;AArBY,8EAAiC"}