@golemio/ndic 1.2.10-dev.1391640506 → 1.2.11-dev.1443171003

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 (54) hide show
  1. package/db/example/02_sql_dump.sql +15 -15
  2. package/db/migrations/postgresql/20240830092002-global-network-osm-mapping.js +53 -0
  3. package/db/migrations/postgresql/sqls/20210702010000-ndic-add-geoms-down.sql +21 -21
  4. package/db/migrations/postgresql/sqls/20210702010000-ndic-add-geoms-up.sql +21 -21
  5. package/db/migrations/postgresql/sqls/20240830092002-global-network-osm-mapping-down.sql +12 -0
  6. package/db/migrations/postgresql/sqls/20240830092002-global-network-osm-mapping-up.sql +15 -0
  7. package/dist/integration-engine/LegacyNdicWorker.js +5 -1
  8. package/dist/integration-engine/LegacyNdicWorker.js.map +1 -1
  9. package/dist/integration-engine/NdicWorker.js +4 -2
  10. package/dist/integration-engine/NdicWorker.js.map +1 -1
  11. package/dist/integration-engine/datasources/GlobalNetworkMapperDataSource.d.ts +7 -0
  12. package/dist/integration-engine/datasources/GlobalNetworkMapperDataSource.js +34 -0
  13. package/dist/integration-engine/datasources/GlobalNetworkMapperDataSource.js.map +1 -0
  14. package/dist/integration-engine/helpers/OsmPathService.d.ts +12 -0
  15. package/dist/integration-engine/helpers/OsmPathService.js +92 -0
  16. package/dist/integration-engine/helpers/OsmPathService.js.map +1 -0
  17. package/dist/integration-engine/ioc/ContainerToken.d.ts +3 -0
  18. package/dist/integration-engine/ioc/ContainerToken.js +3 -0
  19. package/dist/integration-engine/ioc/ContainerToken.js.map +1 -1
  20. package/dist/integration-engine/ioc/Di.js +18 -0
  21. package/dist/integration-engine/ioc/Di.js.map +1 -1
  22. package/dist/integration-engine/repository/GlobalNetworkMappingRepository.d.ts +18 -0
  23. package/dist/integration-engine/repository/GlobalNetworkMappingRepository.js +132 -0
  24. package/dist/integration-engine/repository/GlobalNetworkMappingRepository.js.map +1 -0
  25. package/dist/integration-engine/tasks/RefreshGlobalNetworkDataTask.d.ts +7 -0
  26. package/dist/integration-engine/tasks/RefreshGlobalNetworkDataTask.js +32 -0
  27. package/dist/integration-engine/tasks/RefreshGlobalNetworkDataTask.js.map +1 -0
  28. package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.d.ts +1 -0
  29. package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.js +4 -0
  30. package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.js.map +1 -1
  31. package/dist/integration-engine/transformations/TrafficRestrictionsInterface.d.ts +3 -2
  32. package/dist/output-gateway/ioc/ContainerToken.d.ts +2 -0
  33. package/dist/output-gateway/ioc/ContainerToken.js +6 -0
  34. package/dist/output-gateway/ioc/ContainerToken.js.map +1 -0
  35. package/dist/output-gateway/models/TrafficRestrictionsModel.js +0 -1
  36. package/dist/output-gateway/models/TrafficRestrictionsModel.js.map +1 -1
  37. package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.d.ts +1 -1
  38. package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.js +14 -8
  39. package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.js.map +1 -1
  40. package/dist/schema-definitions/index.d.ts +2129 -1
  41. package/dist/schema-definitions/index.js +2 -2
  42. package/dist/schema-definitions/index.js.map +1 -1
  43. package/dist/schema-definitions/schemas/interfaces/IGlobalNetworkOsmMapping.d.ts +5 -0
  44. package/dist/schema-definitions/schemas/interfaces/IGlobalNetworkOsmMapping.js +3 -0
  45. package/dist/schema-definitions/schemas/interfaces/IGlobalNetworkOsmMapping.js.map +1 -0
  46. package/dist/schema-definitions/schemas/models/GlobalNetworkOsmMapping.d.ts +11 -0
  47. package/dist/schema-definitions/schemas/models/GlobalNetworkOsmMapping.js +27 -0
  48. package/dist/schema-definitions/schemas/models/GlobalNetworkOsmMapping.js.map +1 -0
  49. package/dist/schema-definitions/schemas/traffic_restrictions_output_schema.d.ts +3 -0
  50. package/dist/schema-definitions/schemas/traffic_restrictions_output_schema.js +3 -0
  51. package/dist/schema-definitions/schemas/traffic_restrictions_output_schema.js.map +1 -1
  52. package/docs/implementation_documentation.md +11 -0
  53. package/docs/index.md +3 -0
  54. package/package.json +7 -3
@@ -0,0 +1,92 @@
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.OsmPathService = void 0;
22
+ const GlobalNetworkMappingRepository_1 = require("../repository/GlobalNetworkMappingRepository");
23
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
24
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
25
+ const RsdTmcOsmMappingRepository_1 = require("@golemio/traffic-common/dist/integration-engine/repositories/RsdTmcOsmMappingRepository");
26
+ let OsmPathService = exports.OsmPathService = class OsmPathService {
27
+ constructor(globalNetworkMappingRepository, rsdTmcOsmMappingRepository, logger) {
28
+ this.globalNetworkMappingRepository = globalNetworkMappingRepository;
29
+ this.rsdTmcOsmMappingRepository = rsdTmcOsmMappingRepository;
30
+ this.logger = logger;
31
+ }
32
+ addOsmPath(transformedData) {
33
+ var _a, _b;
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ for (let index = 0; index < transformedData.length; index++) {
36
+ const record = transformedData[index];
37
+ try {
38
+ if (record.alert_c_linear) {
39
+ let ltStart = ((_a = record.alert_c_linear) === null || _a === void 0 ? void 0 : _a.alertCMethod2SecondaryPointLocation.alertCLocation.specificLocation) || null;
40
+ let ltEnd = ((_b = record.alert_c_linear) === null || _b === void 0 ? void 0 : _b.alertCMethod2PrimaryPointLocation.alertCLocation.specificLocation) || null;
41
+ if (ltStart === "0") {
42
+ // handles special case for freeway ramps
43
+ ltStart = ltEnd;
44
+ }
45
+ else if (ltEnd === "0") {
46
+ ltEnd = ltStart;
47
+ }
48
+ const osmPath = yield this.rsdTmcOsmMappingRepository.GetOne({
49
+ ltStart: Number(ltStart),
50
+ ltEnd: Number(ltEnd),
51
+ });
52
+ record.osm_path = osmPath ? [osmPath] : undefined;
53
+ }
54
+ if (!record.osm_path && record.global_network_linear) {
55
+ const roadIds = this.getGlobalNetworkSectionIds(record);
56
+ // global_network_linear, currently we do not differentiate between positive and negative direction
57
+ const result = yield this.globalNetworkMappingRepository.findAll(roadIds);
58
+ record.osm_path = result.map((element) => element.osm_path.split(",").map((text) => +text));
59
+ if (record.osm_path.length === 0) {
60
+ record.osm_path = undefined;
61
+ }
62
+ }
63
+ }
64
+ catch (error) {
65
+ if (error instanceof golemio_errors_1.AbstractGolemioError) {
66
+ this.logger.warn(error);
67
+ }
68
+ else {
69
+ this.logger.warn(new golemio_errors_1.GeneralError(
70
+ // eslint-disable-next-line max-len
71
+ `Error while adding OSM path to the record ${record.situation_record_id} ${record.situation_version_time}`, this.constructor.name, error));
72
+ }
73
+ }
74
+ }
75
+ return transformedData;
76
+ });
77
+ }
78
+ getGlobalNetworkSectionIds(record) {
79
+ // if array
80
+ if (Array.isArray(record.global_network_linear.linearWithinLinearGNElement)) {
81
+ return record.global_network_linear.linearWithinLinearGNElement.map((element) => element.sectionId);
82
+ }
83
+ // if object
84
+ return [record.global_network_linear.linearWithinLinearGNElement.sectionId];
85
+ }
86
+ };
87
+ exports.OsmPathService = OsmPathService = __decorate([
88
+ (0, tsyringe_1.injectable)(),
89
+ __metadata("design:paramtypes", [GlobalNetworkMappingRepository_1.GlobalNetworkMappingRepository,
90
+ RsdTmcOsmMappingRepository_1.RsdTmcOsmMappingRepository, Object])
91
+ ], OsmPathService);
92
+ //# sourceMappingURL=OsmPathService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OsmPathService.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/OsmPathService.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  declare const ModuleContainerToken: {
2
+ GlobalNetworkMapperDataSource: symbol;
2
3
  RsdTmcPointsRepository: symbol;
4
+ GlobalNetworkMappingRepository: symbol;
5
+ OsmPathService: symbol;
3
6
  };
4
7
  export { ModuleContainerToken };
@@ -2,7 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModuleContainerToken = void 0;
4
4
  const ModuleContainerToken = {
5
+ GlobalNetworkMapperDataSource: Symbol(),
5
6
  RsdTmcPointsRepository: Symbol(),
7
+ GlobalNetworkMappingRepository: Symbol(),
8
+ OsmPathService: Symbol(),
6
9
  };
7
10
  exports.ModuleContainerToken = ModuleContainerToken;
8
11
  //# sourceMappingURL=ContainerToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,sBAAsB,EAAE,MAAM,EAAE;CACnC,CAAC;AAEO,oDAAoB"}
1
+ {"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,6BAA6B,EAAE,MAAM,EAAE;IACvC,sBAAsB,EAAE,MAAM,EAAE;IAChC,8BAA8B,EAAE,MAAM,EAAE;IACxC,cAAc,EAAE,MAAM,EAAE;CAC3B,CAAC;AAEO,oDAAoB"}
@@ -1,18 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NdicContainer = void 0;
4
+ const GlobalNetworkMapperDataSource_1 = require("../datasources/GlobalNetworkMapperDataSource");
5
+ const OsmPathService_1 = require("../helpers/OsmPathService");
4
6
  const RsdTmcPointsModel_1 = require("../models/RsdTmcPointsModel");
7
+ const GlobalNetworkMappingRepository_1 = require("../repository/GlobalNetworkMappingRepository");
8
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
5
9
  const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
6
10
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
11
+ const RsdTmcOsmMappingRepository_1 = require("@golemio/traffic-common/dist/integration-engine/repositories/RsdTmcOsmMappingRepository");
7
12
  const ContainerToken_1 = require("./ContainerToken");
8
13
  //#region Initialization
9
14
  const NdicContainer = Di_1.IntegrationEngineContainer.createChildContainer();
10
15
  exports.NdicContainer = NdicContainer;
11
16
  //#endregion
12
17
  //#region Datasource
18
+ NdicContainer.register(ContainerToken_1.ModuleContainerToken.GlobalNetworkMapperDataSource, GlobalNetworkMapperDataSource_1.GlobalNetworkMapperDataSource, {
19
+ lifecycle: tsyringe_1.Lifecycle.Transient,
20
+ });
13
21
  //#endregion
14
22
  //#region Transformation
15
23
  //#endregion
16
24
  //#region Repositories
17
25
  NdicContainer.register(ContainerToken_1.ModuleContainerToken.RsdTmcPointsRepository, RsdTmcPointsModel_1.RsdTmcPointsModel, { lifecycle: tsyringe_1.Lifecycle.Singleton });
26
+ NdicContainer.register(ContainerToken_1.ModuleContainerToken.GlobalNetworkMappingRepository, GlobalNetworkMappingRepository_1.GlobalNetworkMappingRepository, {
27
+ lifecycle: tsyringe_1.Lifecycle.Singleton,
28
+ });
29
+ //#endregion
30
+ //#region Services
31
+ NdicContainer.register(ContainerToken_1.ModuleContainerToken.OsmPathService, {
32
+ useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
33
+ return new OsmPathService_1.OsmPathService(c.resolve(ContainerToken_1.ModuleContainerToken.GlobalNetworkMappingRepository), new RsdTmcOsmMappingRepository_1.RsdTmcOsmMappingRepository(c.resolve(CoreToken_1.CoreToken.PostgresConnector), c.resolve(CoreToken_1.CoreToken.Logger)), c.resolve(CoreToken_1.CoreToken.Logger));
34
+ }),
35
+ });
18
36
  //# sourceMappingURL=Di.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,mEAAiE;AACjE,qEAA0F;AAC1F,iEAAoF;AACpF,qDAAwD;AAExD,wBAAwB;AACxB,MAAM,aAAa,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAgBpF,sCAAa;AAftB,YAAY;AAEZ,oBAAoB;AACpB,YAAY;AAEZ,wBAAwB;AACxB,YAAY;AAEZ,sBAAsB;AACtB,aAAa,CAAC,QAAQ,CAAC,qCAAoB,CAAC,sBAAsB,EAAE,qCAAiB,EAAE,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,gGAA8F;AAC9F,8DAA4D;AAC5D,mEAAiE;AACjE,iGAA+F;AAG/F,wEAAqE;AACrE,qEAA0F;AAC1F,iEAA4G;AAC5G,wIAAqI;AACrI,qDAAwD;AAExD,wBAAwB;AACxB,MAAM,aAAa,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAqCpF,sCAAa;AApCtB,YAAY;AAEZ,oBAAoB;AACpB,aAAa,CAAC,QAAQ,CAAC,qCAAoB,CAAC,6BAA6B,EAAE,6DAA6B,EAAE;IACtG,SAAS,EAAE,oBAAS,CAAC,SAAS;CACjC,CAAC,CAAC;AACH,YAAY;AAEZ,wBAAwB;AACxB,YAAY;AAEZ,sBAAsB;AACtB,aAAa,CAAC,QAAQ,CAAC,qCAAoB,CAAC,sBAAsB,EAAE,qCAAiB,EAAE,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3H,aAAa,CAAC,QAAQ,CAAC,qCAAoB,CAAC,8BAA8B,EAAE,+DAA8B,EAAE;IACxG,SAAS,EAAE,oBAAS,CAAC,SAAS;CACjC,CAAC,CAAC;AACH,YAAY;AAEZ,kBAAkB;AAClB,aAAa,CAAC,QAAQ,CAAC,qCAAoB,CAAC,cAAc,EAAE;IACxD,UAAU,EAAE,IAAA,iCAAsB,EAAC,CAAC,CAAC,EAAE,EAAE;QACrC,OAAO,IAAI,+BAAc,CACrB,CAAC,CAAC,OAAO,CAAC,qCAAoB,CAAC,8BAA8B,CAAC,EAC9D,IAAI,uDAA0B,CAC1B,CAAC,CAAC,OAAO,CAAqB,qBAAS,CAAC,iBAAiB,CAAC,EAC1D,CAAC,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CACvC,EACD,CAAC,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CACvC,CAAC;IACN,CAAC,CAAC;CACL,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /// <reference types="node" />
2
+ import { IGlobalNetworkOsmMapping } from "../../schema-definitions/schemas/interfaces/IGlobalNetworkOsmMapping";
3
+ import { GlobalNetworkOsmMappingModel } from "../../schema-definitions/schemas/models/GlobalNetworkOsmMapping";
4
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
5
+ import { AbstractBasicRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractBasicRepository";
6
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
7
+ import { ModelStatic } from "@golemio/core/dist/shared/sequelize";
8
+ import { Readable } from "stream";
9
+ export declare class GlobalNetworkMappingRepository extends AbstractBasicRepository {
10
+ schema: string;
11
+ tableName: string;
12
+ model: ModelStatic<GlobalNetworkOsmMappingModel>;
13
+ constructor(connector: IDatabaseConnector, logger: ILogger);
14
+ streamData(data: Readable): Promise<void>;
15
+ findAll(roadIds: string[]): Promise<IGlobalNetworkOsmMapping[]>;
16
+ private streamDataToTmp;
17
+ private cleanAfterError;
18
+ }
@@ -0,0 +1,132 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.GlobalNetworkMappingRepository = void 0;
25
+ const _sch_1 = require("../../schema-definitions");
26
+ const GlobalNetworkOsmMapping_1 = require("../../schema-definitions/schemas/models/GlobalNetworkOsmMapping");
27
+ const AbstractBasicRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractBasicRepository");
28
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
29
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
30
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
31
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
32
+ const pg_copy_streams_1 = require("pg-copy-streams");
33
+ let GlobalNetworkMappingRepository = exports.GlobalNetworkMappingRepository = class GlobalNetworkMappingRepository extends AbstractBasicRepository_1.AbstractBasicRepository {
34
+ constructor(connector, logger) {
35
+ super(connector, logger);
36
+ this.schema = _sch_1.Ndic.pgSchema;
37
+ this.tableName = GlobalNetworkOsmMapping_1.GlobalNetworkOsmMappingModel.TABLE_NAME;
38
+ this.model = GlobalNetworkOsmMapping_1.GlobalNetworkOsmMappingModel.init(GlobalNetworkOsmMapping_1.GlobalNetworkOsmMappingModel.attributeModel, {
39
+ tableName: this.tableName,
40
+ schema: this.schema,
41
+ sequelize: this.connector.getConnection(),
42
+ timestamps: false,
43
+ });
44
+ }
45
+ streamData(data) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const connection = this.connector.getConnection();
48
+ const tableIdentifier = `"${this.schema}"."${this.tableName}"`;
49
+ const tmpTableIdentifier = `"${this.schema}"."${this.tableName}_tmp"`;
50
+ try {
51
+ yield connection.query(`DROP TABLE IF EXISTS ${tmpTableIdentifier};`, {
52
+ plain: true,
53
+ type: sequelize_1.QueryTypes.RAW,
54
+ });
55
+ yield connection.query(`CREATE TABLE ${tmpTableIdentifier} (LIKE ${tableIdentifier} INCLUDING ALL);`, {
56
+ plain: true,
57
+ type: sequelize_1.QueryTypes.RAW,
58
+ });
59
+ yield this.streamDataToTmp(tmpTableIdentifier, data);
60
+ const oldTableIdentifier = `"${this.schema}"."${this.tableName}_old"`;
61
+ yield connection.query(`begin;
62
+ alter table ${tableIdentifier} rename to ${this.tableName}_old;
63
+ alter table ${tmpTableIdentifier} rename to ${this.tableName};
64
+ end;`, {
65
+ plain: true,
66
+ type: sequelize_1.QueryTypes.RAW,
67
+ });
68
+ yield connection.query(`DROP TABLE IF EXISTS ${oldTableIdentifier};`, {
69
+ plain: true,
70
+ type: sequelize_1.QueryTypes.RAW,
71
+ });
72
+ }
73
+ catch (err) {
74
+ this.cleanAfterError(connection, tmpTableIdentifier);
75
+ throw new golemio_errors_1.GeneralError(`Error during streaming data: ${err.toString()}`, this.constructor.name, err);
76
+ }
77
+ });
78
+ }
79
+ findAll(roadIds) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ return this.model.findAll({
82
+ where: {
83
+ road_id: roadIds,
84
+ },
85
+ raw: true,
86
+ });
87
+ });
88
+ }
89
+ streamDataToTmp(tableName, data) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ const connection = this.connector.getConnection();
92
+ const client = yield connection.connectionManager.getConnection({ type: "write" });
93
+ // copy transformed data to tmp table by stream
94
+ yield new Promise((resolve, reject) => {
95
+ const stream = client
96
+ .query((0, pg_copy_streams_1.from)(`COPY ${tableName}
97
+ FROM STDIN DELIMITER ',' CSV HEADER;`))
98
+ .on("error", (err) => __awaiter(this, void 0, void 0, function* () {
99
+ this.log.error(`Copying data error (${this.constructor.name}): ${err.toString()}`);
100
+ yield connection.connectionManager.releaseConnection(client);
101
+ return reject(err);
102
+ }))
103
+ .on("finish", () => __awaiter(this, void 0, void 0, function* () {
104
+ this.log.info(`Done copying data (${this.constructor.name})`);
105
+ yield connection.connectionManager.releaseConnection(client);
106
+ return resolve();
107
+ }));
108
+ data.pipe(stream);
109
+ });
110
+ });
111
+ }
112
+ cleanAfterError(connection, tmpTableIdentifier) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ try {
115
+ yield connection.query(`DROP TABLE IF EXISTS ${tmpTableIdentifier};`, {
116
+ plain: true,
117
+ type: sequelize_1.QueryTypes.RAW,
118
+ });
119
+ }
120
+ catch (err) {
121
+ this.log.error(new golemio_errors_1.GeneralError(`Error during cleaning after error: ${err.toString()}`, this.constructor.name, err));
122
+ }
123
+ });
124
+ }
125
+ };
126
+ exports.GlobalNetworkMappingRepository = GlobalNetworkMappingRepository = __decorate([
127
+ (0, tsyringe_1.injectable)(),
128
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
129
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
130
+ __metadata("design:paramtypes", [Object, Object])
131
+ ], GlobalNetworkMappingRepository);
132
+ //# sourceMappingURL=GlobalNetworkMappingRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalNetworkMappingRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repository/GlobalNetworkMappingRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/workers/AbstractEmptyTask";
2
+ export declare class RefreshGlobalNetworkDataTask extends AbstractEmptyTask {
3
+ queueName: string;
4
+ private repository;
5
+ constructor(queuePrefix: string);
6
+ protected execute(): Promise<void>;
7
+ }
@@ -0,0 +1,32 @@
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.RefreshGlobalNetworkDataTask = void 0;
13
+ const ContainerToken_1 = require("../ioc/ContainerToken");
14
+ const Di_1 = require("../ioc/Di");
15
+ const AbstractEmptyTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractEmptyTask");
16
+ class RefreshGlobalNetworkDataTask extends AbstractEmptyTask_1.AbstractEmptyTask {
17
+ constructor(queuePrefix) {
18
+ super(queuePrefix);
19
+ this.queueName = "refreshGlobalNetworkData";
20
+ this.repository = Di_1.NdicContainer.resolve(ContainerToken_1.ModuleContainerToken.GlobalNetworkMappingRepository);
21
+ }
22
+ execute() {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ const datasource = Di_1.NdicContainer.resolve(ContainerToken_1.ModuleContainerToken.GlobalNetworkMapperDataSource).datasource;
25
+ let dataStream;
26
+ dataStream = yield datasource.getRawData();
27
+ yield this.repository.streamData(dataStream.data);
28
+ });
29
+ }
30
+ }
31
+ exports.RefreshGlobalNetworkDataTask = RefreshGlobalNetworkDataTask;
32
+ //# sourceMappingURL=RefreshGlobalNetworkDataTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefreshGlobalNetworkDataTask.js","sourceRoot":"","sources":["../../../src/integration-engine/tasks/RefreshGlobalNetworkDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,0DAA8D;AAC9D,kCAA2C;AAE3C,uGAAoG;AAGpG,MAAa,4BAA6B,SAAQ,qCAAiB;IAI/D,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAJhB,cAAS,GAAW,0BAA0B,CAAC;QAKlD,IAAI,CAAC,UAAU,GAAG,kBAAa,CAAC,OAAO,CACnC,qCAAoB,CAAC,8BAA8B,CACtD,CAAC;IACN,CAAC;IAEe,OAAO;;YACnB,MAAM,UAAU,GAAG,kBAAa,CAAC,OAAO,CACpC,qCAAoB,CAAC,6BAA6B,CACrD,CAAC,UAAU,CAAC;YAEb,IAAI,UAA8B,CAAC;YAEnC,UAAU,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;KAAA;CACJ;AArBD,oEAqBC"}
@@ -8,6 +8,7 @@ export declare class SaveTrafficRestrictionsRegions extends AbstractTask<ITraffi
8
8
  private transformation;
9
9
  private repository;
10
10
  private filtrationChecker;
11
+ private osmPathService;
11
12
  constructor(queuePrefix: string);
12
13
  protected execute: (data: ITrafficRestrictions) => Promise<void>;
13
14
  private filterData;
@@ -15,6 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.SaveTrafficRestrictionsRegions = void 0;
16
16
  const LteCze90PointsChecker_1 = require("../helpers/LteCze90PointsChecker");
17
17
  const TrafficRestrictionsHelper_1 = require("../helpers/TrafficRestrictionsHelper");
18
+ const ContainerToken_1 = require("../ioc/ContainerToken");
19
+ const Di_1 = require("../ioc/Di");
18
20
  const TrafficRestrictionsTransformation_1 = require("../transformations/TrafficRestrictionsTransformation");
19
21
  const _sch_1 = require("../../schema-definitions");
20
22
  const integration_engine_1 = require("@golemio/core/dist/integration-engine");
@@ -30,6 +32,7 @@ class SaveTrafficRestrictionsRegions extends integration_engine_1.AbstractTask {
30
32
  const transformedData = yield this.transformation.transform(data);
31
33
  let dataToSave = yield this.filterData(transformedData);
32
34
  dataToSave = yield TrafficRestrictionsHelper_1.TrafficRestrictionsHelper.populateWithGeomAlertCLineRestrictions(dataToSave);
35
+ dataToSave = yield this.osmPathService.addOsmPath(dataToSave);
33
36
  yield this.repository.save(TrafficRestrictionsHelper_1.TrafficRestrictionsHelper.uniqueRestrictionsArray(dataToSave));
34
37
  });
35
38
  this.filterData = (transformedData) => __awaiter(this, void 0, void 0, function* () {
@@ -44,6 +47,7 @@ class SaveTrafficRestrictionsRegions extends integration_engine_1.AbstractTask {
44
47
  savingType: "insertOnly",
45
48
  }, new golemio_validator_1.JSONSchemaValidator(_sch_1.Ndic.traffic_restrictions.name + "PgModelValidator", _sch_1.Ndic.traffic_restrictions.outputSchema));
46
49
  this.filtrationChecker = new LteCze90PointsChecker_1.LteCze90PointsChecker();
50
+ this.osmPathService = Di_1.NdicContainer.resolve(ContainerToken_1.ModuleContainerToken.OsmPathService);
47
51
  }
48
52
  }
49
53
  exports.SaveTrafficRestrictionsRegions = SaveTrafficRestrictionsRegions;
@@ -1 +1 @@
1
- {"version":3,"file":"SaveTrafficRestrictionsRegions.js","sourceRoot":"","sources":["../../../src/integration-engine/tasks/SaveTrafficRestrictionsRegions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4EAA0E;AAC1E,oFAAkF;AAElF,4GAA0G;AAC1G,mDAA4B;AAC5B,8EAAoF;AACpF,mFAAkF;AAClF,iHAAyF;AAEzF,MAAa,8BAA+B,SAAQ,iCAAkC;IAQlF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARhB,cAAS,GAAW,gCAAgC,CAAC;QACrD,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM;QACnC,WAAM,GAAG,0CAAgC,CAAC,CAAC,0CAA0C;QAqBrF,YAAO,GAAG,CAAO,IAA0B,EAAiB,EAAE;YACpE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAElE,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACxD,UAAU,GAAG,MAAM,qDAAyB,CAAC,sCAAsC,CAAC,UAAU,CAAC,CAAC;YAEhG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qDAAyB,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9F,CAAC,CAAA,CAAC;QAEM,eAAU,GAAG,CAAO,eAA4C,EAAE,EAAE;YACxE,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAE1C,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAA,CAAC;QA3BE,IAAI,CAAC,cAAc,GAAG,IAAI,qEAAiC,EAAE,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,kCAAa,CAC/B,WAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,OAAO,EACxC;YACI,yBAAyB,EAAE,WAAI,CAAC,oBAAoB,CAAC,yBAAyB;YAC9E,QAAQ,EAAE,WAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,mCAAmC;YAChD,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,WAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,kBAAkB,EAAE,WAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CACvH,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,6CAAqB,EAAE,CAAC;IACzD,CAAC;CAgBJ;AAtCD,wEAsCC"}
1
+ {"version":3,"file":"SaveTrafficRestrictionsRegions.js","sourceRoot":"","sources":["../../../src/integration-engine/tasks/SaveTrafficRestrictionsRegions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4EAA0E;AAE1E,oFAAkF;AAClF,0DAA8D;AAC9D,kCAA2C;AAE3C,4GAA0G;AAC1G,mDAA4B;AAC5B,8EAAoF;AACpF,mFAAkF;AAClF,iHAAyF;AAEzF,MAAa,8BAA+B,SAAQ,iCAAkC;IASlF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAThB,cAAS,GAAW,gCAAgC,CAAC;QACrD,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM;QACnC,WAAM,GAAG,0CAAgC,CAAC,CAAC,0CAA0C;QAuBrF,YAAO,GAAG,CAAO,IAA0B,EAAiB,EAAE;YACpE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAElE,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACxD,UAAU,GAAG,MAAM,qDAAyB,CAAC,sCAAsC,CAAC,UAAU,CAAC,CAAC;YAChG,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAE9D,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qDAAyB,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9F,CAAC,CAAA,CAAC;QAEM,eAAU,GAAG,CAAO,eAA4C,EAAE,EAAE;YACxE,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAE1C,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAA,CAAC;QA7BE,IAAI,CAAC,cAAc,GAAG,IAAI,qEAAiC,EAAE,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,kCAAa,CAC/B,WAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,OAAO,EACxC;YACI,yBAAyB,EAAE,WAAI,CAAC,oBAAoB,CAAC,yBAAyB;YAC9E,QAAQ,EAAE,WAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,mCAAmC;YAChD,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,WAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,kBAAkB,EAAE,WAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CACvH,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,6CAAqB,EAAE,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,kBAAa,CAAC,OAAO,CAAiB,qCAAoB,CAAC,cAAc,CAAC,CAAC;IACrG,CAAC;CAiBJ;AAzCD,wEAyCC"}
@@ -115,7 +115,7 @@ export interface IOutputApiSituationRecord {
115
115
  sourceName?: string;
116
116
  impact: Record<string, any>;
117
117
  forVehiclesWithCharacteristicsOf?: Record<string, any> | Array<Record<string, any>>;
118
- alertCLinear: {
118
+ alertCLinear?: {
119
119
  type: string | null;
120
120
  alertCLocationCountryCode: string | null;
121
121
  alertCLocationTableNumber: string | null;
@@ -134,7 +134,7 @@ export interface IOutputApiSituationRecord {
134
134
  };
135
135
  };
136
136
  };
137
- osmPath?: number[];
137
+ osmPath?: number[][];
138
138
  }
139
139
  export declare enum OutputApiSituationRecordType {
140
140
  ConstructionWorks = "CONSTRUCTION_WORKS",
@@ -363,6 +363,7 @@ export interface ISituationRecordLocationModel {
363
363
  linear_within_linear_element?: Record<string, any>;
364
364
  global_network_linear?: Record<string, any>;
365
365
  linear_extension?: Record<string, any>;
366
+ osm_path?: number[][];
366
367
  }
367
368
  export interface ISituationRecordModel extends ISituationRecordLocationModel {
368
369
  situation_record_id: string;
@@ -0,0 +1,2 @@
1
+ declare const ModuleContainerToken: {};
2
+ export { ModuleContainerToken };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModuleContainerToken = void 0;
4
+ const ModuleContainerToken = {};
5
+ exports.ModuleContainerToken = ModuleContainerToken;
6
+ //# sourceMappingURL=ContainerToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/output-gateway/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvB,oDAAoB"}
@@ -51,7 +51,6 @@ class TrafficRestrictionsModel extends models_1.SequelizeModel {
51
51
  WHERE rn = 1
52
52
  AND validity_overall_start_time < '${queryMoment}'
53
53
  AND validity_overall_end_time > '${queryMoment}'
54
- AND alert_c_linear IS NOT NULL
55
54
  `;
56
55
  if (situationRecordType) {
57
56
  query += ` AND situation_record_type = '${situationRecordType}'`;
@@ -1 +1 @@
1
- {"version":3,"file":"TrafficRestrictionsModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/TrafficRestrictionsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,0DAAkC;AAClC,yEAAiF;AACjF,qEAA0E;AAC1E,6EAAwE;AACxE,wDAAsD;AAEtD,MAAa,wBAAyB,SAAQ,uBAAc;IACxD;QACI,KAAK,CAAC,YAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,4BAA4B,EAAE,YAAI,CAAC,oBAAoB,CAAC,yBAAyB,EAAE;YACrH,MAAM,EAAE,YAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAGP;;;;;;;WAOG;QAEI,WAAM,GAAG,CACZ,UAKI,EAAE,EAC8B,EAAE;YACtC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;YAElE,IAAI;gBACA,kCAAkC;gBAClC,IAAI,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE1G,2CAA2C;gBAC3C,8EAA8E;gBAE9E,IAAI,KAAK,GAAG;;;;;;;;;;sBAUF,YAAI,CAAC,QAAQ;;;;iDAIc,WAAW;+CACb,WAAW;;aAE7C,CAAC;gBAEF,IAAI,mBAAmB,EAAE;oBACrB,KAAK,IAAI,iCAAiC,mBAAmB,GAAG,CAAC;iBACpE;gBAED,IAAI,KAAK,EAAE;oBACP,KAAK,IAAI,UAAU,KAAK,EAAE,CAAC;iBAC9B;gBAED,IAAI,MAAM,EAAE;oBACR,KAAK,IAAI,WAAW,MAAM,EAAE,CAAC;iBAChC;gBAED,MAAM,yBAAyB,GAAG,CAAC,MAAM,CAAA,8BAAmB,aAAnB,8BAAmB,uBAAnB,8BAAmB,CAAE,KAAK,CAAC,KAAK,CAAC,CAAA,CAAkC,CAAC;gBAE7G,OAAO,yBAAyB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC7C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAClF;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,EAAU,EAA0B,EAAE;YACzD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC,CAAA,CAAC;IArEF,CAAC;CAsEJ;AA3ED,4DA2EC"}
1
+ {"version":3,"file":"TrafficRestrictionsModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/TrafficRestrictionsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,0DAAkC;AAClC,yEAAiF;AACjF,qEAA0E;AAC1E,6EAAwE;AACxE,wDAAsD;AAEtD,MAAa,wBAAyB,SAAQ,uBAAc;IACxD;QACI,KAAK,CAAC,YAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,4BAA4B,EAAE,YAAI,CAAC,oBAAoB,CAAC,yBAAyB,EAAE;YACrH,MAAM,EAAE,YAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAGP;;;;;;;WAOG;QAEI,WAAM,GAAG,CACZ,UAKI,EAAE,EAC8B,EAAE;YACtC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;YAElE,IAAI;gBACA,kCAAkC;gBAClC,IAAI,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE1G,2CAA2C;gBAC3C,8EAA8E;gBAE9E,IAAI,KAAK,GAAG;;;;;;;;;;sBAUF,YAAI,CAAC,QAAQ;;;;iDAIc,WAAW;+CACb,WAAW;aAC7C,CAAC;gBAEF,IAAI,mBAAmB,EAAE;oBACrB,KAAK,IAAI,iCAAiC,mBAAmB,GAAG,CAAC;iBACpE;gBAED,IAAI,KAAK,EAAE;oBACP,KAAK,IAAI,UAAU,KAAK,EAAE,CAAC;iBAC9B;gBAED,IAAI,MAAM,EAAE;oBACR,KAAK,IAAI,WAAW,MAAM,EAAE,CAAC;iBAChC;gBAED,MAAM,yBAAyB,GAAG,CAAC,MAAM,CAAA,8BAAmB,aAAnB,8BAAmB,uBAAnB,8BAAmB,CAAE,KAAK,CAAC,KAAK,CAAC,CAAA,CAAkC,CAAC;gBAE7G,OAAO,yBAAyB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC7C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAClF;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,EAAU,EAA0B,EAAE;YACzD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC,CAAA,CAAC;IApEF,CAAC;CAqEJ;AA1ED,4DA0EC"}
@@ -1,4 +1,4 @@
1
- import { ITrafficRestrictionsModel, IOutputApiRestrictions, OutputApiSituationRecordType } from "../../integration-engine/transformations/TrafficRestrictionsInterface";
1
+ import { IOutputApiRestrictions, ITrafficRestrictionsModel, OutputApiSituationRecordType } from "../../integration-engine/transformations/TrafficRestrictionsInterface";
2
2
  import { RsdTmcOsmMappingRepository } from "@golemio/traffic-common/dist/output-gateway";
3
3
  export declare class OutputTrafficRestrictionsTransformation {
4
4
  name: string;
@@ -10,9 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.OutputTrafficRestrictionsTransformation = void 0;
13
- const _sch_1 = require("../../schema-definitions");
14
- const TrafficRestrictionsInterface_1 = require("../../integration-engine/transformations/TrafficRestrictionsInterface");
15
13
  const ParserHelper_1 = require("../../integration-engine/transformations/ParserHelper");
14
+ const TrafficRestrictionsInterface_1 = require("../../integration-engine/transformations/TrafficRestrictionsInterface");
15
+ const _sch_1 = require("../../schema-definitions");
16
16
  const helpers_1 = require("@golemio/core/dist/helpers");
17
17
  class OutputTrafficRestrictionsTransformation {
18
18
  constructor(rsdTmcOsmMappingRepository) {
@@ -80,13 +80,13 @@ class OutputTrafficRestrictionsTransformation {
80
80
  });
81
81
  }
82
82
  transformRecordsArr(oneSituationArr) {
83
- var _a, _b, _c, _d, _e, _f, _g, _h;
83
+ var _a, _b, _c, _d, _e, _f, _g;
84
84
  return __awaiter(this, void 0, void 0, function* () {
85
85
  const resultRecordsArr = [];
86
86
  for (const record of oneSituationArr) {
87
87
  const ltStart = ((_a = record.alert_c_linear) === null || _a === void 0 ? void 0 : _a.alertCMethod2SecondaryPointLocation.alertCLocation.specificLocation) || null;
88
88
  const ltEnd = ((_b = record.alert_c_linear) === null || _b === void 0 ? void 0 : _b.alertCMethod2PrimaryPointLocation.alertCLocation.specificLocation) || null;
89
- resultRecordsArr.push({
89
+ const newLine = {
90
90
  id: record.situation_record_id,
91
91
  situationRecordCreationTime: (0, helpers_1.dateTime)(record.situation_record_creation_time)
92
92
  .setTimeZone("Europe/Prague")
@@ -115,7 +115,9 @@ class OutputTrafficRestrictionsTransformation {
115
115
  capacityRemaining: record.impact_capacity_remaining,
116
116
  },
117
117
  forVehiclesWithCharacteristicsOf: record.for_vehicles_with_characteristics_of || undefined,
118
- alertCLinear: {
118
+ };
119
+ if (record.alert_c_linear) {
120
+ newLine.alertCLinear = {
119
121
  type: ((_c = record.alert_c_linear) === null || _c === void 0 ? void 0 : _c.$["xsi:type"]) || null,
120
122
  alertCLocationCountryCode: ((_d = record.alert_c_linear) === null || _d === void 0 ? void 0 : _d.alertCLocationCountryCode) || null,
121
123
  alertCLocationTableNumber: ((_e = record.alert_c_linear) === null || _e === void 0 ? void 0 : _e.alertCLocationTableNumber) || null,
@@ -133,9 +135,13 @@ class OutputTrafficRestrictionsTransformation {
133
135
  specificLocation: ltStart,
134
136
  },
135
137
  },
136
- },
137
- osmPath: (_h = (yield this.getRsdTmcOsmMapping(Number(ltStart), Number(ltEnd)))) !== null && _h !== void 0 ? _h : undefined,
138
- });
138
+ };
139
+ newLine.osmPath = record.osm_path;
140
+ }
141
+ else if (record.global_network_linear) {
142
+ newLine.osmPath = record.osm_path;
143
+ }
144
+ resultRecordsArr.push(newLine);
139
145
  }
140
146
  return resultRecordsArr;
141
147
  });
@@ -1 +1 @@
1
- {"version":3,"file":"OutputTrafficRestrictionsTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/OutputTrafficRestrictionsTransformation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OutputTrafficRestrictionsTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/OutputTrafficRestrictionsTransformation.ts"],"names":[],"mappings":"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"}