@golemio/ndic 1.1.4-dev.877880825 → 1.1.4-rc.881702361

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 (49) hide show
  1. package/db/example/00_reset.sql +0 -1
  2. package/dist/input-gateway/AbstractTrafficRestrictionsController.js +2 -2
  3. package/dist/input-gateway/AbstractTrafficRestrictionsController.js.map +1 -1
  4. package/dist/input-gateway/TrafficInfoController.js +2 -2
  5. package/dist/input-gateway/TrafficInfoController.js.map +1 -1
  6. package/dist/integration-engine/NdicWorker.d.ts +16 -3
  7. package/dist/integration-engine/NdicWorker.js +97 -7
  8. package/dist/integration-engine/NdicWorker.js.map +1 -1
  9. package/dist/integration-engine/index.d.ts +1 -3
  10. package/dist/integration-engine/index.js +1 -4
  11. package/dist/integration-engine/index.js.map +1 -1
  12. package/dist/integration-engine/models/RsdTmcPointsModel.js +3 -17
  13. package/dist/integration-engine/models/RsdTmcPointsModel.js.map +1 -1
  14. package/dist/integration-engine/queueDefinitions.js +3 -3
  15. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  16. package/dist/output-gateway/TrafficRouter.js +1 -1
  17. package/dist/output-gateway/TrafficRouter.js.map +1 -1
  18. package/dist/output-gateway/models/TrafficRestrictionsModel.js +4 -4
  19. package/dist/output-gateway/models/TrafficRestrictionsModel.js.map +1 -1
  20. package/docs/implementation_documentation.md +5 -36
  21. package/docs/ndic_erdiagram.png +0 -0
  22. package/package.json +5 -5
  23. package/db/migrations/postgresql/20230515142731-regions-traffic-restrictions.js +0 -53
  24. package/db/migrations/postgresql/sqls/20230515142731-regions-traffic-restrictions-down.sql +0 -3
  25. package/db/migrations/postgresql/sqls/20230515142731-regions-traffic-restrictions-up.sql +0 -110
  26. package/dist/integration-engine/LegacyNdicWorker.d.ts +0 -13
  27. package/dist/integration-engine/LegacyNdicWorker.js +0 -69
  28. package/dist/integration-engine/LegacyNdicWorker.js.map +0 -1
  29. package/dist/integration-engine/helpers/LteCze90PointsChecker.d.ts +0 -8
  30. package/dist/integration-engine/helpers/LteCze90PointsChecker.js +0 -40
  31. package/dist/integration-engine/helpers/LteCze90PointsChecker.js.map +0 -1
  32. package/dist/integration-engine/helpers/TrafficRestrictionsHelper.d.ts +0 -7
  33. package/dist/integration-engine/helpers/TrafficRestrictionsHelper.js +0 -58
  34. package/dist/integration-engine/helpers/TrafficRestrictionsHelper.js.map +0 -1
  35. package/dist/integration-engine/ioc/ContainerToken.d.ts +0 -4
  36. package/dist/integration-engine/ioc/ContainerToken.js +0 -8
  37. package/dist/integration-engine/ioc/ContainerToken.js.map +0 -1
  38. package/dist/integration-engine/ioc/Di.d.ts +0 -3
  39. package/dist/integration-engine/ioc/Di.js +0 -18
  40. package/dist/integration-engine/ioc/Di.js.map +0 -1
  41. package/dist/integration-engine/tasks/RegionsDataRetention.d.ts +0 -6
  42. package/dist/integration-engine/tasks/RegionsDataRetention.js +0 -34
  43. package/dist/integration-engine/tasks/RegionsDataRetention.js.map +0 -1
  44. package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.d.ts +0 -14
  45. package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.js +0 -50
  46. package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.js.map +0 -1
  47. package/dist/integration-engine/tasks/schema/TrafficRestrictionsRegionsSchema.d.ts +0 -18
  48. package/dist/integration-engine/tasks/schema/TrafficRestrictionsRegionsSchema.js +0 -29
  49. package/dist/integration-engine/tasks/schema/TrafficRestrictionsRegionsSchema.js.map +0 -1
@@ -1,2 +1 @@
1
1
  truncate "ndic_traffic_restrictions";
2
- truncate "ndic_traffic_restrictions_regions";
@@ -24,11 +24,11 @@ class AbstractTrafficRestrictionsController extends input_gateway_1.BaseControll
24
24
  });
25
25
  }
26
26
  catch (err) {
27
- if (err instanceof golemio_errors_1.AbstractGolemioError) {
27
+ if (err instanceof golemio_errors_1.CustomError) {
28
28
  throw err;
29
29
  }
30
30
  else {
31
- throw new golemio_errors_1.GeneralError("Error while validating input data.", this.name, err, 422);
31
+ throw new golemio_errors_1.CustomError("Error while validating input data.", true, this.name, 422, err);
32
32
  }
33
33
  }
34
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractTrafficRestrictionsController.js","sourceRoot":"","sources":["../../src/input-gateway/AbstractTrafficRestrictionsController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA4B;AAC5B,oEAAkE;AAClE,6EAA8F;AAG9F,MAAsB,qCAAsC,SAAQ,8BAAc;IAG9E,YAAY,SAAqB;QAC7B,KAAK,CAAC,WAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAGzB,gBAAW,GAAG,CAAO,IAAS,EAAiB,EAAE;YACpD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEpC,MAAM,IAAI,CAAC,qBAAqB,CAC5B,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,EACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EACnC;oBACI,UAAU,EAAE,IAAI;iBACnB,CACJ,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAA,CAAC;IApBF,CAAC;CAqBJ;AA1BD,sFA0BC"}
1
+ {"version":3,"file":"AbstractTrafficRestrictionsController.js","sourceRoot":"","sources":["../../src/input-gateway/AbstractTrafficRestrictionsController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA4B;AAC5B,oEAAkE;AAClE,6EAAuE;AAGvE,MAAsB,qCAAsC,SAAQ,8BAAc;IAG9E,YAAY,SAAqB;QAC7B,KAAK,CAAC,WAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAGzB,gBAAW,GAAG,CAAO,IAAS,EAAiB,EAAE;YACpD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEpC,MAAM,IAAI,CAAC,qBAAqB,CAC5B,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,EACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EACnC;oBACI,UAAU,EAAE,IAAI;iBACnB,CACJ,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,4BAAW,EAAE;oBAC5B,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,4BAAW,CAAC,oCAAoC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBAC1F;aACJ;QACL,CAAC,CAAA,CAAC;IApBF,CAAC;CAqBJ;AA1BD,sFA0BC"}
@@ -25,11 +25,11 @@ class TrafficInfoController extends input_gateway_1.BaseController {
25
25
  });
26
26
  }
27
27
  catch (err) {
28
- if (err instanceof golemio_errors_1.AbstractGolemioError) {
28
+ if (err instanceof golemio_errors_1.CustomError) {
29
29
  throw err;
30
30
  }
31
31
  else {
32
- throw new golemio_errors_1.GeneralError("Error while validating input data.", this.name, err, 422);
32
+ throw new golemio_errors_1.CustomError("Error while validating input data.", true, this.name, 422, err);
33
33
  }
34
34
  }
35
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TrafficInfoController.js","sourceRoot":"","sources":["../../src/input-gateway/TrafficInfoController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAAkE;AAClE,mFAAkF;AAClF,6EAA8F;AAC9F,gDAA4B;AAE5B,MAAa,qBAAsB,SAAQ,8BAAc;IACrD;QACI,KAAK,CAAC,WAAI,CAAC,IAAI,EAAE,IAAI,uCAAmB,CAAC,WAAI,CAAC,YAAY,CAAC,IAAI,EAAE,WAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAGnG,gBAAW,GAAG,CAAO,IAAS,EAAiB,EAAE;YACpD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEpC,MAAM,IAAI,CAAC,qBAAqB,CAC5B,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,kBAAkB,EAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EACnC;oBACI,UAAU,EAAE,IAAI;iBACnB,CACJ,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAA,CAAC;IApBF,CAAC;CAqBJ;AAxBD,sDAwBC"}
1
+ {"version":3,"file":"TrafficInfoController.js","sourceRoot":"","sources":["../../src/input-gateway/TrafficInfoController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAAkE;AAClE,mFAAkF;AAClF,6EAAuE;AACvE,gDAA4B;AAE5B,MAAa,qBAAsB,SAAQ,8BAAc;IACrD;QACI,KAAK,CAAC,WAAI,CAAC,IAAI,EAAE,IAAI,uCAAmB,CAAC,WAAI,CAAC,YAAY,CAAC,IAAI,EAAE,WAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAGnG,gBAAW,GAAG,CAAO,IAAS,EAAiB,EAAE;YACpD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEpC,MAAM,IAAI,CAAC,qBAAqB,CAC5B,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,kBAAkB,EAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EACnC;oBACI,UAAU,EAAE,IAAI;iBACnB,CACJ,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,4BAAW,EAAE;oBAC5B,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,4BAAW,CAAC,oCAAoC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBAC1F;aACJ;QACL,CAAC,CAAA,CAAC;IApBF,CAAC;CAqBJ;AAxBD,sDAwBC"}
@@ -1,5 +1,18 @@
1
- import { AbstractWorker } from "@golemio/core/dist/integration-engine";
2
- export declare class NdicWorker extends AbstractWorker {
3
- protected name: string;
1
+ import { BaseWorker } from "@golemio/core/dist/integration-engine";
2
+ import { RsdTmcPointsModel } from "./models/RsdTmcPointsModel";
3
+ export declare class NdicWorker extends BaseWorker {
4
+ private readonly queuePrefix;
5
+ private ndicTrafficInfoTransformation;
6
+ private ndicTrafficRestrictionsTransformation;
7
+ private ndicTrafficInfoModel;
8
+ private ndicTrafficRestrictionsModel;
9
+ protected rsdTmcPointsModel: RsdTmcPointsModel;
4
10
  constructor();
11
+ saveTrafficInfo: (msg: any) => Promise<void>;
12
+ saveTrafficRestrictions: (msg: any) => Promise<void>;
13
+ private uniqueRestrictionsArray;
14
+ private uniqueInfoArray;
15
+ private populateWithGeomAlertCLineInfo;
16
+ private populateWithGeomAlertCLineRestrictions;
17
+ private parseGeomAlertCLine;
5
18
  }
@@ -1,16 +1,106 @@
1
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.NdicWorker = void 0;
4
- const integration_engine_1 = require("@golemio/core/dist/integration-engine");
5
- const SaveTrafficRestrictionsRegions_1 = require("./tasks/SaveTrafficRestrictionsRegions");
6
- const RegionsDataRetention_1 = require("./tasks/RegionsDataRetention");
13
+ const TrafficInfoTransformation_1 = require("./transformations/TrafficInfoTransformation");
14
+ const TrafficRestrictionsTransformation_1 = require("./transformations/TrafficRestrictionsTransformation");
7
15
  const _sch_1 = require("../schema-definitions");
8
- class NdicWorker extends integration_engine_1.AbstractWorker {
16
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
17
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
18
+ const RsdTmcPointsModel_1 = require("./models/RsdTmcPointsModel");
19
+ class NdicWorker extends integration_engine_1.BaseWorker {
9
20
  constructor() {
10
21
  super();
11
- this.name = _sch_1.Ndic.name;
12
- this.registerTask(new SaveTrafficRestrictionsRegions_1.SaveTrafficRestrictionsRegions(this.getQueuePrefix()));
13
- this.registerTask(new RegionsDataRetention_1.RegionsDataRetention(this.getQueuePrefix()));
22
+ // for find only
23
+ this.rsdTmcPointsModel = new RsdTmcPointsModel_1.RsdTmcPointsModel();
24
+ this.saveTrafficInfo = (msg) => __awaiter(this, void 0, void 0, function* () {
25
+ const data = JSON.parse(msg.content.toString());
26
+ const transformedData = yield this.ndicTrafficInfoTransformation.transform(data);
27
+ const dataToSave = yield this.populateWithGeomAlertCLineInfo(transformedData);
28
+ yield this.ndicTrafficInfoModel.save(this.uniqueInfoArray(dataToSave));
29
+ });
30
+ this.saveTrafficRestrictions = (msg) => __awaiter(this, void 0, void 0, function* () {
31
+ const data = JSON.parse(msg.content.toString());
32
+ const transformedData = yield this.ndicTrafficRestrictionsTransformation.transform(data);
33
+ const dataToSave = yield this.populateWithGeomAlertCLineRestrictions(transformedData);
34
+ yield this.ndicTrafficRestrictionsModel.save(this.uniqueRestrictionsArray(dataToSave));
35
+ });
36
+ this.uniqueRestrictionsArray = (arr) => {
37
+ const constraintsArr = [];
38
+ const resultArr = [];
39
+ for (const obj of arr) {
40
+ if (!constraintsArr.includes(obj.situation_record_id + obj.situation_record_version_time)) {
41
+ constraintsArr.push(obj.situation_record_id + obj.situation_record_version_time);
42
+ resultArr.push(obj);
43
+ }
44
+ }
45
+ return resultArr;
46
+ };
47
+ this.uniqueInfoArray = (arr) => {
48
+ const constraintsArr = [];
49
+ const resultArr = [];
50
+ for (const obj of arr) {
51
+ if (!constraintsArr.includes(obj.situation_id + obj.situation_record_type + obj.situation_record_version_time)) {
52
+ constraintsArr.push(obj.situation_id + obj.situation_record_type + obj.situation_record_version_time);
53
+ resultArr.push(obj);
54
+ }
55
+ }
56
+ return resultArr;
57
+ };
58
+ this.populateWithGeomAlertCLineInfo = (transformedData) => __awaiter(this, void 0, void 0, function* () {
59
+ for (const dataObj of transformedData) {
60
+ dataObj.geom_alert_c_line = yield this.parseGeomAlertCLine(dataObj.alert_c_linear);
61
+ }
62
+ return transformedData;
63
+ });
64
+ this.populateWithGeomAlertCLineRestrictions = (transformedData) => __awaiter(this, void 0, void 0, function* () {
65
+ for (const dataObj of transformedData) {
66
+ dataObj.geom_alert_c_line = yield this.parseGeomAlertCLine(dataObj.alert_c_linear);
67
+ }
68
+ return transformedData;
69
+ });
70
+ this.parseGeomAlertCLine = (alertCLinearObj) => __awaiter(this, void 0, void 0, function* () {
71
+ if (!alertCLinearObj)
72
+ return undefined;
73
+ const primaryPointSpecificLocation = alertCLinearObj.alertCMethod2PrimaryPointLocation.alertCLocation.specificLocation;
74
+ const secondaryPointSpecificLocation = alertCLinearObj.alertCMethod2SecondaryPointLocation.alertCLocation.specificLocation;
75
+ const primaryPointObj = yield this.rsdTmcPointsModel.GetOne(primaryPointSpecificLocation);
76
+ const secondaryPointObj = yield this.rsdTmcPointsModel.GetOne(secondaryPointSpecificLocation);
77
+ if (primaryPointObj && secondaryPointObj) {
78
+ const coordinatesArr = [
79
+ [primaryPointObj.wgs84_x.replace(",", "."), primaryPointObj.wgs84_y.replace(",", ".")],
80
+ [secondaryPointObj.wgs84_x.replace(",", "."), secondaryPointObj.wgs84_y.replace(",", ".")],
81
+ ];
82
+ return {
83
+ coordinates: coordinatesArr,
84
+ type: "LineString",
85
+ };
86
+ }
87
+ return undefined;
88
+ });
89
+ this.queuePrefix = integration_engine_1.config.RABBIT_EXCHANGE_NAME + "." + _sch_1.Ndic.name.toLowerCase();
90
+ this.ndicTrafficInfoTransformation = new TrafficInfoTransformation_1.TrafficInfoTransformation();
91
+ this.ndicTrafficRestrictionsTransformation = new TrafficRestrictionsTransformation_1.TrafficRestrictionsTransformation();
92
+ this.ndicTrafficInfoModel = new integration_engine_1.PostgresModel(_sch_1.Ndic.traffic_info.name + "Model", {
93
+ outputSequelizeAttributes: _sch_1.Ndic.traffic_info.outputSequelizeAttributes,
94
+ pgSchema: _sch_1.Ndic.pgSchema,
95
+ pgTableName: _sch_1.Ndic.traffic_info.pgTableName,
96
+ savingType: "insertOnly",
97
+ }, new golemio_validator_1.JSONSchemaValidator(_sch_1.Ndic.traffic_info.name + "PgModelValidator", _sch_1.Ndic.traffic_info.outputSchema));
98
+ this.ndicTrafficRestrictionsModel = new integration_engine_1.PostgresModel(_sch_1.Ndic.traffic_restrictions.name + "Model", {
99
+ outputSequelizeAttributes: _sch_1.Ndic.traffic_restrictions.outputSequelizeAttributes,
100
+ pgSchema: _sch_1.Ndic.pgSchema,
101
+ pgTableName: _sch_1.Ndic.traffic_restrictions.pgTableName,
102
+ savingType: "insertOnly",
103
+ }, new golemio_validator_1.JSONSchemaValidator(_sch_1.Ndic.traffic_restrictions.name + "PgModelValidator", _sch_1.Ndic.traffic_restrictions.outputSchema));
14
104
  }
15
105
  }
16
106
  exports.NdicWorker = NdicWorker;
@@ -1 +1 @@
1
- {"version":3,"file":"NdicWorker.js","sourceRoot":"","sources":["../../src/integration-engine/NdicWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAuE;AACvE,2FAAwF;AACxF,uEAAoE;AACpE,gDAA4B;AAE5B,MAAa,UAAW,SAAQ,mCAAc;IAG1C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAW,WAAI,CAAC,IAAI,CAAC;QAK/B,IAAI,CAAC,YAAY,CAAC,IAAI,+DAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,YAAY,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;CACJ;AATD,gCASC"}
1
+ {"version":3,"file":"NdicWorker.js","sourceRoot":"","sources":["../../src/integration-engine/NdicWorker.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,2 @@
1
- import { NdicWorker } from "./NdicWorker";
2
- export * from "./LegacyNdicWorker";
1
+ export * from "./NdicWorker";
3
2
  export * from "./queueDefinitions";
4
- export declare const workers: (typeof NdicWorker)[];
@@ -14,10 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.workers = void 0;
18
- const NdicWorker_1 = require("./NdicWorker");
19
17
  /* ie/index.ts */
20
- __exportStar(require("./LegacyNdicWorker"), exports);
18
+ __exportStar(require("./NdicWorker"), exports);
21
19
  __exportStar(require("./queueDefinitions"), exports);
22
- exports.workers = [NdicWorker_1.NdicWorker];
23
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA0C;AAE1C,iBAAiB;AACjB,qDAAmC;AACnC,qDAAmC;AAEtB,QAAA,OAAO,GAAG,CAAC,uBAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,+CAA6B;AAC7B,qDAAmC"}
@@ -1,13 +1,4 @@
1
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
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -22,8 +13,7 @@ exports.RsdTmcPointsModel = void 0;
22
13
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
23
14
  const models_1 = require("@golemio/core/dist/output-gateway/models");
24
15
  const _sch_1 = require("../../schema-definitions");
25
- const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
26
- let RsdTmcPointsModel = class RsdTmcPointsModel extends models_1.SequelizeModel {
16
+ class RsdTmcPointsModel extends models_1.SequelizeModel {
27
17
  constructor() {
28
18
  super(_sch_1.Ndic.rsd_tmc_points.name + "Model", _sch_1.Ndic.rsd_tmc_points.pgTableName, _sch_1.Ndic.rsd_tmc_points.outputSequelizeAttributes);
29
19
  /**
@@ -39,7 +29,7 @@ let RsdTmcPointsModel = class RsdTmcPointsModel extends models_1.SequelizeModel
39
29
  return rsdTmcPointsFromDB;
40
30
  }
41
31
  catch (err) {
42
- throw new golemio_errors_1.GeneralError("Database error", "rsdTmcPointsModel", err, 500);
32
+ throw new golemio_errors_1.CustomError("Database error", true, "rsdTmcPointsModel", 500, err);
43
33
  }
44
34
  });
45
35
  this.GetOne = (lcdValue) => __awaiter(this, void 0, void 0, function* () {
@@ -47,10 +37,6 @@ let RsdTmcPointsModel = class RsdTmcPointsModel extends models_1.SequelizeModel
47
37
  return objFromDb[0];
48
38
  });
49
39
  }
50
- };
51
- RsdTmcPointsModel = __decorate([
52
- (0, tsyringe_1.injectable)(),
53
- __metadata("design:paramtypes", [])
54
- ], RsdTmcPointsModel);
40
+ }
55
41
  exports.RsdTmcPointsModel = RsdTmcPointsModel;
56
42
  //# sourceMappingURL=RsdTmcPointsModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RsdTmcPointsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/models/RsdTmcPointsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,6EAAwE;AACxE,qEAA0E;AAC1E,mDAA4B;AAC5B,iEAAgE;AAGhE,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,uBAAc;IACjD;QACI,KAAK,CAAC,WAAI,CAAC,cAAc,CAAC,IAAI,GAAG,OAAO,EAAE,WAAI,CAAC,cAAc,CAAC,WAAW,EAAE,WAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QAG9H;;;WAGG;QAEI,WAAM,GAAG,CAAO,QAAgB,EAAgB,EAAE;YACrD,IAAI;gBACA,MAAM,kBAAkB,GAAU,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAChE,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;iBAC3B,CAAC,CAAC;gBAEH,OAAO,kBAAkB,CAAC;aAC7B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAC3E;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,QAAgB,EAAuB,EAAE;YAC5D,MAAM,SAAS,GAAU,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAA,CAAC;IAvBF,CAAC;CAwBJ,CAAA;AA3BY,iBAAiB;IAD7B,IAAA,qBAAU,GAAE;;GACA,iBAAiB,CA2B7B;AA3BY,8CAAiB"}
1
+ {"version":3,"file":"RsdTmcPointsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/models/RsdTmcPointsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6EAAuE;AACvE,qEAA0E;AAC1E,mDAA4B;AAE5B,MAAa,iBAAkB,SAAQ,uBAAc;IACjD;QACI,KAAK,CAAC,WAAI,CAAC,cAAc,CAAC,IAAI,GAAG,OAAO,EAAE,WAAI,CAAC,cAAc,CAAC,WAAW,EAAE,WAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QAG9H;;;WAGG;QAEI,WAAM,GAAG,CAAO,QAAgB,EAAgB,EAAE;YACrD,IAAI;gBACA,MAAM,kBAAkB,GAAU,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAChE,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;iBAC3B,CAAC,CAAC;gBAEH,OAAO,kBAAkB,CAAC;aAC7B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAChF;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,QAAgB,EAAuB,EAAE;YAC5D,MAAM,SAAS,GAAU,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAA,CAAC;IAvBF,CAAC;CAwBJ;AA3BD,8CA2BC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.queueDefinitions = void 0;
4
4
  const integration_engine_1 = require("@golemio/core/dist/integration-engine");
5
5
  const _sch_1 = require("../schema-definitions");
6
- const LegacyNdicWorker_1 = require("./LegacyNdicWorker");
6
+ const NdicWorker_1 = require("./NdicWorker");
7
7
  const queueDefinitions = [
8
8
  {
9
9
  name: _sch_1.Ndic.name,
@@ -16,7 +16,7 @@ const queueDefinitions = [
16
16
  deadLetterRoutingKey: "dead",
17
17
  messageTtl: 59 * 60 * 1000, // 59 minutes
18
18
  },
19
- worker: LegacyNdicWorker_1.LegacyNdicWorker,
19
+ worker: NdicWorker_1.NdicWorker,
20
20
  workerMethod: "saveTrafficInfo",
21
21
  },
22
22
  ],
@@ -32,7 +32,7 @@ const queueDefinitions = [
32
32
  deadLetterRoutingKey: "dead",
33
33
  messageTtl: 59 * 60 * 1000, // 59 minutes
34
34
  },
35
- worker: LegacyNdicWorker_1.LegacyNdicWorker,
35
+ worker: NdicWorker_1.NdicWorker,
36
36
  workerMethod: "saveTrafficRestrictions",
37
37
  },
38
38
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,8EAAiF;AACjF,gDAA4B;AAC5B,yDAAwD;AAExD,MAAM,gBAAgB,GAAuB;IACzC;QACI,IAAI,EAAE,WAAI,CAAC,IAAI;QACf,WAAW,EAAE,2BAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,WAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QACxE,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE;oBACL,kBAAkB,EAAE,2BAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,mCAAgB;gBACxB,YAAY,EAAE,iBAAiB;aAClC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,WAAI,CAAC,IAAI;QACf,WAAW,EAAE,2BAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,WAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QACxE,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE;oBACL,kBAAkB,EAAE,2BAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,mCAAgB;gBACxB,YAAY,EAAE,yBAAyB;aAC1C;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
1
+ {"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,8EAAiF;AACjF,gDAA4B;AAC5B,6CAA4C;AAE5C,MAAM,gBAAgB,GAAuB;IACzC;QACI,IAAI,EAAE,WAAI,CAAC,IAAI;QACf,WAAW,EAAE,2BAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,WAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QACxE,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE;oBACL,kBAAkB,EAAE,2BAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,uBAAU;gBAClB,YAAY,EAAE,iBAAiB;aAClC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,WAAI,CAAC,IAAI;QACf,WAAW,EAAE,2BAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,WAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QACxE,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE;oBACL,kBAAkB,EAAE,2BAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,uBAAU;gBAClB,YAAY,EAAE,yBAAyB;aAC1C;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
@@ -32,7 +32,7 @@ class TrafficRouter extends BaseRouter_1.BaseRouter {
32
32
  situationRecordType: req.query.situationRecordType,
33
33
  });
34
34
  if (!(dataFromDb === null || dataFromDb === void 0 ? void 0 : dataFromDb.length)) {
35
- throw new golemio_errors_1.GeneralError("No data found", "TrafficRouter", undefined, 404);
35
+ throw new golemio_errors_1.CustomError("No data found", true, "TrafficRouter", 404);
36
36
  }
37
37
  const transformedData = yield this.outputTrafficRestrictionsTransformation.transform(dataFromDb);
38
38
  res.status(200).send(transformedData);
@@ -1 +1 @@
1
- {"version":3,"file":"TrafficRouter.js","sourceRoot":"","sources":["../../src/output-gateway/TrafficRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mFAAoE;AACpE,6EAAwE;AACxE,mEAA6E;AAC7E,oFAAiF;AACjF,6EAAkH;AAClH,qCAAoD;AACpD,uHAAsH;AACtH,gFAAyF;AAEzF,MAAa,aAAc,SAAQ,uBAAU;IACzC,YACc,wBAAkD,EACpD,uCAAgF;QAExF,KAAK,EAAE,CAAC;QAHE,6BAAwB,GAAxB,wBAAwB,CAA0B;QACpD,4CAAuC,GAAvC,uCAAuC,CAAyC;QAerF,2BAAsB,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACtF,IAAI;gBACA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;oBAC1D,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACrD,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,MAAgB;oBACrC,mBAAmB,EAAE,GAAG,CAAC,KAAK,CAAC,mBAA6B;iBAC/D,CAAC,CAAC;gBACH,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE;oBACrB,MAAM,IAAI,6BAAY,CAAC,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;iBAC5E;gBACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,uCAAuC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACjG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACzC;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QA3BE,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,eAAe,EACf,CAAC,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,IAAA,yBAAK,EAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,EAC5F,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,eAAe,CAAC,EAC1C,IAAA,0BAAkB,GAAE,EACpB,IAAI,CAAC,sBAAsB,CAC9B,CAAC;IACN,CAAC;CAmBJ;AAnCD,sCAmCC;AAED,MAAM,aAAa,GAAW,IAAI,aAAa,CAC3C,IAAI,iCAAwB,EAAE,EAC9B,IAAI,iFAAuC,CAAC,IAAI,2CAA0B,EAAE,CAAC,CAChF,CAAC,MAAM,CAAC;AAEA,sCAAa"}
1
+ {"version":3,"file":"TrafficRouter.js","sourceRoot":"","sources":["../../src/output-gateway/TrafficRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mFAAoE;AACpE,6EAAuE;AACvE,mEAA6E;AAC7E,oFAAiF;AACjF,6EAAkH;AAClH,qCAAoD;AACpD,uHAAsH;AACtH,gFAAyF;AAEzF,MAAa,aAAc,SAAQ,uBAAU;IACzC,YACc,wBAAkD,EACpD,uCAAgF;QAExF,KAAK,EAAE,CAAC;QAHE,6BAAwB,GAAxB,wBAAwB,CAA0B;QACpD,4CAAuC,GAAvC,uCAAuC,CAAyC;QAerF,2BAAsB,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACtF,IAAI;gBACA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;oBAC1D,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACrD,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,MAAgB;oBACrC,mBAAmB,EAAE,GAAG,CAAC,KAAK,CAAC,mBAA6B;iBAC/D,CAAC,CAAC;gBACH,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE;oBACrB,MAAM,IAAI,4BAAW,CAAC,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;iBACtE;gBACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,uCAAuC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACjG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACzC;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QA3BE,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,eAAe,EACf,CAAC,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,IAAA,yBAAK,EAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,EAC5F,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,eAAe,CAAC,EAC1C,IAAA,0BAAkB,GAAE,EACpB,IAAI,CAAC,sBAAsB,CAC9B,CAAC;IACN,CAAC;CAmBJ;AAnCD,sCAmCC;AAED,MAAM,aAAa,GAAW,IAAI,aAAa,CAC3C,IAAI,iCAAwB,EAAE,EAC9B,IAAI,iFAAuC,CAAC,IAAI,2CAA0B,EAAE,CAAC,CAChF,CAAC,MAAM,CAAC;AAEA,sCAAa"}
@@ -20,7 +20,7 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
20
20
  const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
21
21
  class TrafficRestrictionsModel extends models_1.SequelizeModel {
22
22
  constructor() {
23
- super(index_1.Ndic.traffic_restrictions.name, "v_traffic_restrictions_all", index_1.Ndic.traffic_restrictions.outputSequelizeAttributes, {
23
+ super(index_1.Ndic.traffic_restrictions.name, index_1.Ndic.traffic_restrictions.pgTableName, index_1.Ndic.traffic_restrictions.outputSequelizeAttributes, {
24
24
  schema: index_1.Ndic.pgSchema,
25
25
  });
26
26
  /**
@@ -48,7 +48,7 @@ class TrafficRestrictionsModel extends models_1.SequelizeModel {
48
48
  situation_record_version_time desc) rn,
49
49
  *
50
50
  FROM
51
- ${index_1.Ndic.pgSchema}.v_traffic_restrictions_all
51
+ ${index_1.Ndic.pgSchema}.ndic_traffic_restrictions
52
52
  )
53
53
  a
54
54
  WHERE rn = 1
@@ -69,11 +69,11 @@ class TrafficRestrictionsModel extends models_1.SequelizeModel {
69
69
  return trafficRestrictionsFromDB[0] || [];
70
70
  }
71
71
  catch (err) {
72
- throw new golemio_errors_1.GeneralError("Database error", "TrafficRestrictionsModel", err, 500);
72
+ throw new golemio_errors_1.CustomError("Database error", true, "TrafficRestrictionsModel", 500, err);
73
73
  }
74
74
  });
75
75
  this.GetOne = (id) => __awaiter(this, void 0, void 0, function* () {
76
- throw new Error("Not implemented");
76
+ throw new golemio_errors_1.CustomError("Not implemented", true, "TrafficRestrictionsModel");
77
77
  });
78
78
  }
79
79
  }
@@ -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,gGAA+D;AAE/D,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,yBAAM,GAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;gBAEhF,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,6EAAuE;AACvE,gGAA+D;AAE/D,MAAa,wBAAyB,SAAQ,uBAAc;IACxD;QACI,KAAK,CACD,YAAI,CAAC,oBAAoB,CAAC,IAAI,EAC9B,YAAI,CAAC,oBAAoB,CAAC,WAAW,EACrC,YAAI,CAAC,oBAAoB,CAAC,yBAAyB,EACnD;YACI,MAAM,EAAE,YAAI,CAAC,QAAQ;SACxB,CACJ,CAAC;QAGN;;;;;;;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,yBAAM,GAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;gBAEhF,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,4BAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvF;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,EAAU,EAA0B,EAAE;YACzD,MAAM,IAAI,4BAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;QAC/E,CAAC,CAAA,CAAC;IArEF,CAAC;CAsEJ;AAhFD,4DAgFC"}
@@ -62,7 +62,7 @@ Popis dat, jak nám jsou posíláná na input-gateway. Pokud je vystaveno více
62
62
 
63
63
  Popis transformace a případného obohacení dat. Zaměřeno hlavně na workery a jejich metody.
64
64
 
65
- ### *LegacyNdicWorker*
65
+ ### *NdicWorker*
66
66
 
67
67
  Worker slouží pro zpracování příchozích dat NdicTrafficInfo a NdicTrafficRestrictions.
68
68
 
@@ -96,36 +96,6 @@ Worker slouží pro zpracování příchozích dat NdicTrafficInfo a NdicTraffic
96
96
  - data modely
97
97
  - `ndicTrafficRestrictionsModel` se ukládá do tabulky ndic_traffic_restrictions
98
98
 
99
- #### Task *SaveTrafficRestrictionsRegions*
100
-
101
- - vstupní rabbitmq fronta
102
- - `dataplatform.ndic.saveTrafficRestrictionsRegions`
103
- - (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
104
- - žádné
105
- - datové zdroje
106
- - `rsdTmcPointsModel` - pro zjištění geo souřadnic
107
- - transformace
108
- - [odkaz na transformaci dat](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/master/src/integration-engine/transformations/TrafficRestrictionsTransformation.ts)
109
- - (volitelně) obohacení dat
110
- - stejné jako u předešlé metody *`saveTrafficInfo`*
111
- - repository
112
- - ukládá do tabulky `ndic_traffic_restrictions_regions`
113
- - předpis stejný jako u saveTrafficRestrictions
114
- - retence
115
- - 48h
116
-
117
- #### Task *RegionsDataRetention*
118
- - spouští procedura `regions_data_retention` pro retenci dat v tabulce `ndic_traffic_restrictions_regions`.
119
- - vstupní rabbitmq fronta
120
- - `dataplatform.ndic.regionsDataRetention`
121
- - (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
122
- - žádné
123
- - datové zdroje
124
- - n/a
125
- - transformace
126
- - n/a
127
- - (volitelně) obohacení dat
128
- - n/a
129
99
 
130
100
  ## Uložení dat
131
101
 
@@ -137,10 +107,7 @@ Popis ukládání dat.
137
107
  - PSQL
138
108
  - datábázové schéma
139
109
  - tabulka `ndic_traffic_info`
140
- - tabulka `ndic_traffic_restrictions` (obsahuje kompletní informace z Hlavního města Prahy a Středočeského kraje)
141
- - tabulka `ndic_traffic_restrictions_regions` (obsahuje časově omezené informace z regionů okolo Středočeského kraje)
142
- - view `v_traffic_restrictions_all`
143
- - procedura `regions_data_retention`
110
+ - tabulka `ndic_traffic_restrictions`
144
111
  ![ndic er diagram](ndic_erdiagram.png "ERD")
145
112
  - retence dat
146
113
  - n/a
@@ -178,11 +145,13 @@ Popis output-api.
178
145
  - veřejné / neveřejné endpointy
179
146
  - api je neveřejné, endpoint /restrictions je přístupný pro uživatele s rolí NDIC
180
147
  - (volitelně) ACL
148
+ - postman kolekce
149
+ - TBD
181
150
 
182
151
  #### */restrictions*
183
152
 
184
153
  - zdrojové tabulky
185
- - `v_traffic_restrictions_all` - view vzniklo spojením tabulek `ndic_traffic_restrictions` a `ndic_traffic_restrictions_regions`
154
+ - `ndic_traffic_restrictions`
186
155
  - (volitlně) nestandardní dodatečná transformace
187
156
  - vrací pouze poslední známe stavy ( max `situation_record_version_time` ) všech dopravních situací podle klíče `situation_record_id`, které jsou platné ve vybraný čas
188
157
  - (volitelně) nestandardní url a query parametry
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/ndic",
3
- "version": "1.1.4-dev.877880825",
3
+ "version": "1.1.4-rc.881702361",
4
4
  "description": "Golemio NDIC Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -35,10 +35,10 @@
35
35
  "@commitlint/cli": "^11.0.0",
36
36
  "@commitlint/config-conventional": "^11.0.0",
37
37
  "@golemio/cli": "1.4.2",
38
- "@golemio/core": "1.7.0-dev.877344481",
38
+ "@golemio/core": "1.6.8",
39
39
  "@golemio/db-common": "1.1.1",
40
+ "@golemio/traffic-common": "0.1.0-dev.864393677",
40
41
  "@golemio/eslint-config": "1.1.0",
41
- "@golemio/traffic-common": "0.1.0-dev.877492401",
42
42
  "@ovos-media/ts-transform-paths": "^1.7.18-1",
43
43
  "@types/body-parser-xml": "^1.1.0",
44
44
  "@types/chai": "4.2.3",
@@ -70,7 +70,7 @@
70
70
  "typescript": "4.6.4"
71
71
  },
72
72
  "peerDependencies": {
73
- "@golemio/core": ">=1.7.0",
74
- "@golemio/traffic-common": ">=0.1.0"
73
+ "@golemio/core": ">=1.5.0",
74
+ "@golemio/traffic-common": "0.1.0-dev.864393677"
75
75
  }
76
76
  }
@@ -1,53 +0,0 @@
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', '20230515142731-regions-traffic-restrictions-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', '20230515142731-regions-traffic-restrictions-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
- };
@@ -1,3 +0,0 @@
1
- DROP PROCEDURE regions_data_retention;
2
- drop view v_traffic_restrictions_all;
3
- DROP TABLE ndic_traffic_restrictions_regions;
@@ -1,110 +0,0 @@
1
- CREATE TABLE ndic_traffic_restrictions_regions (
2
- exchange json NULL,
3
- publication_time timestamptz NULL,
4
- publication_creator json NULL,
5
- situation_id varchar(100) NOT NULL,
6
- situation_version varchar(100) NOT NULL,
7
- situation_version_time timestamptz NULL,
8
- situation_confidentiality varchar(100) NULL,
9
- situation_information_status varchar(100) NULL,
10
- situation_urgency varchar(100) NULL,
11
- situation_record_version varchar(100) NOT NULL,
12
- situation_record_type varchar(100) NOT NULL,
13
- situation_record_id varchar(100) NOT NULL,
14
- situation_record_creation_time timestamptz NOT NULL,
15
- situation_record_version_time timestamptz NOT NULL,
16
- probability_of_occurrence varchar(100) NULL,
17
- "source" varchar(100) NULL,
18
- validity_status varchar(100) NULL,
19
- validity_overall_start_time timestamptz NULL,
20
- validity_overall_end_time timestamptz NULL,
21
- impact_capacity_remaining float4 NULL,
22
- impact_number_of_lanes_restricted int4 NULL,
23
- impact_number_of_operational_lanes int4 NULL,
24
- impact_original_number_of_lanes int4 NULL,
25
- impact_traffic_constriction_type varchar(100) NULL,
26
- impact_delays_type varchar(100) NULL,
27
- impact_delay_time_value float4 NULL,
28
- cause json NULL,
29
- general_public_comment text NULL,
30
- group_of_locations_type varchar(100) NULL,
31
- supplementary_positional_description json NULL,
32
- destination json NULL,
33
- alert_c_linear json NULL,
34
- linear_within_linear_element json NULL,
35
- global_network_linear json NULL,
36
- linear_extension json NULL,
37
- geom_gn_line public.geometry NULL,
38
- geom_openlr_line public.geometry NULL,
39
- situation_record_extension json NULL,
40
- number_of_obstructions int4 NULL,
41
- mobility_of_obstruction json NULL,
42
- compliance_option varchar(100) NULL,
43
- applicable_for_traffic_direction varchar(100) NULL,
44
- applicable_for_traffic_type varchar(100) NULL,
45
- places_at_which_applicable varchar(100) NULL,
46
- for_vehicles_with_characteristics_of json NULL,
47
- roadworks_duration varchar(100) NULL,
48
- roadworks_scale varchar(100) NULL,
49
- under_traffic bool NULL,
50
- urgent_roadworks bool NULL,
51
- mobility json NULL,
52
- subjects json NULL,
53
- maintenance_vehicles json NULL,
54
- abnormal_traffic_type varchar(100) NULL,
55
- accident_type varchar(100) NULL,
56
- group_of_vehicles_involved json NULL,
57
- car_park_identity text NULL,
58
- car_park_occupancy varchar(100) NULL,
59
- number_of_vacant_parking_spaces int4 NULL,
60
- driving_condition_type varchar(100) NULL,
61
- construction_work_type varchar(100) NULL,
62
- disturbance_activity_type varchar(100) NULL,
63
- environmental_obstruction_type varchar(100) NULL,
64
- general_instruction_to_road_users_type varchar(100) NULL,
65
- general_message_to_road_users json NULL,
66
- general_network_management_type varchar(100) NULL,
67
- traffic_manually_directed_by varchar(100) NULL,
68
- infrastructure_damage_type varchar(100) NULL,
69
- road_maintenance_type varchar(100) NULL,
70
- non_weather_related_road_condition_type varchar(100) NULL,
71
- poor_environment_type varchar(100) NULL,
72
- public_event_type varchar(100) NULL,
73
- rerouting_management_type varchar(100) NULL,
74
- rerouting_itinerary_description json NULL,
75
- signed_rerouting bool NULL,
76
- entry text NULL,
77
- "exit" text NULL,
78
- road_or_junction_number text NULL,
79
- road_or_carriageway_or_lane_management_type varchar(100) NULL,
80
- minimum_car_occupancy int4 NULL,
81
- roadside_assistance_type varchar(100) NULL,
82
- speed_management_type varchar(100) NULL,
83
- temporary_speed_limit float4 NULL,
84
- vehicle_obstruction_type varchar(100) NULL,
85
- obstructing_vehicle json NULL,
86
- winter_equipment_management_type varchar(100) NULL,
87
- create_batch_id int8 NULL,
88
- created_at timestamptz NULL,
89
- created_by varchar(150) NULL,
90
- update_batch_id int8 NULL,
91
- updated_at timestamptz NULL,
92
- updated_by varchar(150) NULL,
93
- geom_alert_c_line public.geometry NULL,
94
- alert_c_direction varchar(100) NULL,
95
- CONSTRAINT ndic_traffic_restrictions_regions_pk PRIMARY KEY (situation_record_id, situation_record_version_time)
96
- );
97
-
98
- CREATE PROCEDURE regions_data_retention(dataretentionminutes integer)
99
- LANGUAGE plpgsql
100
- AS $procedure$
101
- begin
102
- delete from ndic.ndic_traffic_restrictions_regions where situation_record_version_time < (NOW() - (dataretentionminutes || ' minutes')::interval);
103
- end;
104
- $procedure$
105
- ;
106
-
107
- create view v_traffic_restrictions_all as
108
- select * from ndic_traffic_restrictions
109
- union all
110
- select * from ndic_traffic_restrictions_regions
@@ -1,13 +0,0 @@
1
- import { BaseWorker } from "@golemio/core/dist/integration-engine";
2
- export declare class LegacyNdicWorker extends BaseWorker {
3
- private readonly queuePrefix;
4
- private ndicTrafficInfoTransformation;
5
- private ndicTrafficRestrictionsTransformation;
6
- private ndicTrafficInfoModel;
7
- private ndicTrafficRestrictionsModel;
8
- constructor();
9
- saveTrafficInfo: (msg: any) => Promise<void>;
10
- saveTrafficRestrictions: (msg: any) => Promise<void>;
11
- private uniqueInfoArray;
12
- private populateWithGeomAlertCLineInfo;
13
- }
@@ -1,69 +0,0 @@
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.LegacyNdicWorker = void 0;
13
- const TrafficInfoTransformation_1 = require("./transformations/TrafficInfoTransformation");
14
- const TrafficRestrictionsTransformation_1 = require("./transformations/TrafficRestrictionsTransformation");
15
- const _sch_1 = require("../schema-definitions");
16
- const integration_engine_1 = require("@golemio/core/dist/integration-engine");
17
- const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
18
- const TrafficRestrictionsHelper_1 = require("./helpers/TrafficRestrictionsHelper");
19
- class LegacyNdicWorker extends integration_engine_1.BaseWorker {
20
- constructor() {
21
- super();
22
- this.saveTrafficInfo = (msg) => __awaiter(this, void 0, void 0, function* () {
23
- const data = JSON.parse(msg.content.toString());
24
- const transformedData = yield this.ndicTrafficInfoTransformation.transform(data);
25
- const dataToSave = yield this.populateWithGeomAlertCLineInfo(transformedData);
26
- yield this.ndicTrafficInfoModel.save(this.uniqueInfoArray(dataToSave));
27
- });
28
- this.saveTrafficRestrictions = (msg) => __awaiter(this, void 0, void 0, function* () {
29
- const data = JSON.parse(msg.content.toString());
30
- const transformedData = yield this.ndicTrafficRestrictionsTransformation.transform(data);
31
- const dataToSave = yield TrafficRestrictionsHelper_1.TrafficRestrictionsHelper.populateWithGeomAlertCLineRestrictions(transformedData);
32
- yield this.ndicTrafficRestrictionsModel.save(TrafficRestrictionsHelper_1.TrafficRestrictionsHelper.uniqueRestrictionsArray(dataToSave));
33
- });
34
- this.uniqueInfoArray = (arr) => {
35
- const constraintsArr = [];
36
- const resultArr = [];
37
- for (const obj of arr) {
38
- if (!constraintsArr.includes(obj.situation_id + obj.situation_record_type + obj.situation_record_version_time)) {
39
- constraintsArr.push(obj.situation_id + obj.situation_record_type + obj.situation_record_version_time);
40
- resultArr.push(obj);
41
- }
42
- }
43
- return resultArr;
44
- };
45
- this.populateWithGeomAlertCLineInfo = (transformedData) => __awaiter(this, void 0, void 0, function* () {
46
- for (const dataObj of transformedData) {
47
- dataObj.geom_alert_c_line = yield TrafficRestrictionsHelper_1.TrafficRestrictionsHelper.parseGeomAlertCLine(dataObj.alert_c_linear);
48
- }
49
- return transformedData;
50
- });
51
- this.queuePrefix = integration_engine_1.config.RABBIT_EXCHANGE_NAME + "." + _sch_1.Ndic.name.toLowerCase();
52
- this.ndicTrafficInfoTransformation = new TrafficInfoTransformation_1.TrafficInfoTransformation();
53
- this.ndicTrafficRestrictionsTransformation = new TrafficRestrictionsTransformation_1.TrafficRestrictionsTransformation();
54
- this.ndicTrafficInfoModel = new integration_engine_1.PostgresModel(_sch_1.Ndic.traffic_info.name + "Model", {
55
- outputSequelizeAttributes: _sch_1.Ndic.traffic_info.outputSequelizeAttributes,
56
- pgSchema: _sch_1.Ndic.pgSchema,
57
- pgTableName: _sch_1.Ndic.traffic_info.pgTableName,
58
- savingType: "insertOnly",
59
- }, new golemio_validator_1.JSONSchemaValidator(_sch_1.Ndic.traffic_info.name + "PgModelValidator", _sch_1.Ndic.traffic_info.outputSchema));
60
- this.ndicTrafficRestrictionsModel = new integration_engine_1.PostgresModel(_sch_1.Ndic.traffic_restrictions.name + "Model", {
61
- outputSequelizeAttributes: _sch_1.Ndic.traffic_restrictions.outputSequelizeAttributes,
62
- pgSchema: _sch_1.Ndic.pgSchema,
63
- pgTableName: _sch_1.Ndic.traffic_restrictions.pgTableName,
64
- savingType: "insertOnly",
65
- }, new golemio_validator_1.JSONSchemaValidator(_sch_1.Ndic.traffic_restrictions.name + "PgModelValidator", _sch_1.Ndic.traffic_restrictions.outputSchema));
66
- }
67
- }
68
- exports.LegacyNdicWorker = LegacyNdicWorker;
69
- //# sourceMappingURL=LegacyNdicWorker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LegacyNdicWorker.js","sourceRoot":"","sources":["../../src/integration-engine/LegacyNdicWorker.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { ITrafficRestrictionsModel } from "../transformations/TrafficRestrictionsInterface";
2
- export declare class LteCze90PointsChecker {
3
- private filtrationLookup;
4
- private relevantLcds;
5
- constructor();
6
- initialize(): Promise<void>;
7
- shouldSave(input: ITrafficRestrictionsModel): boolean;
8
- }
@@ -1,40 +0,0 @@
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.LteCze90PointsChecker = void 0;
13
- const Di_1 = require("@golemio/traffic-common/dist/integration-engine/ioc/Di");
14
- const ModuleContainerToken_1 = require("@golemio/traffic-common/dist/integration-engine/ioc/ModuleContainerToken");
15
- class LteCze90PointsChecker {
16
- constructor() {
17
- this.relevantLcds = [];
18
- this.filtrationLookup = Di_1.TrafficCommonContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.LteCze90PointsSjtskInAreaRepository);
19
- }
20
- initialize() {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- this.relevantLcds = (yield this.filtrationLookup.getFiltrationData()).map((element) => element.lcd);
23
- });
24
- }
25
- shouldSave(input) {
26
- var _a, _b;
27
- const primaryPointSpecificLocation = (_a = input.alert_c_linear) === null || _a === void 0 ? void 0 : _a.alertCMethod2PrimaryPointLocation.alertCLocation.specificLocation;
28
- const secondaryPointSpecificLocation = (_b = input.alert_c_linear) === null || _b === void 0 ? void 0 : _b.alertCMethod2SecondaryPointLocation.alertCLocation.specificLocation;
29
- if (primaryPointSpecificLocation === undefined ||
30
- primaryPointSpecificLocation == null ||
31
- secondaryPointSpecificLocation === undefined ||
32
- secondaryPointSpecificLocation === null) {
33
- return false;
34
- }
35
- return (this.relevantLcds.includes(Number(primaryPointSpecificLocation)) ||
36
- this.relevantLcds.includes(Number(secondaryPointSpecificLocation)));
37
- }
38
- }
39
- exports.LteCze90PointsChecker = LteCze90PointsChecker;
40
- //# sourceMappingURL=LteCze90PointsChecker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LteCze90PointsChecker.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/LteCze90PointsChecker.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+EAAgG;AAChG,mHAAsI;AAGtI,MAAa,qBAAqB;IAI9B;QAFQ,iBAAY,GAAa,EAAE,CAAC;QAGhC,IAAI,CAAC,gBAAgB,GAAG,2BAAsB,CAAC,OAAO,CAClD,2CAAkB,CAAC,mCAAmC,CACzD,CAAC;IACN,CAAC;IAEY,UAAU;;YACnB,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxG,CAAC;KAAA;IAEM,UAAU,CAAC,KAAgC;;QAC9C,MAAM,4BAA4B,GAC9B,MAAA,KAAK,CAAC,cAAc,0CAAE,iCAAiC,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAC5F,MAAM,8BAA8B,GAChC,MAAA,KAAK,CAAC,cAAc,0CAAE,mCAAmC,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAE9F,IACI,4BAA4B,KAAK,SAAS;YAC1C,4BAA4B,IAAI,IAAI;YACpC,8BAA8B,KAAK,SAAS;YAC5C,8BAA8B,KAAK,IAAI,EACzC;YACE,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,CACH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CACrE,CAAC;IACN,CAAC;CACJ;AAlCD,sDAkCC"}
@@ -1,7 +0,0 @@
1
- import { ITrafficRestrictionsModel } from "../transformations/TrafficRestrictionsInterface";
2
- import { LineString } from "@golemio/core/dist/shared/geojson";
3
- export declare class TrafficRestrictionsHelper {
4
- static uniqueRestrictionsArray: (arr: ITrafficRestrictionsModel[]) => ITrafficRestrictionsModel[];
5
- static populateWithGeomAlertCLineRestrictions: (transformedData: ITrafficRestrictionsModel[]) => Promise<ITrafficRestrictionsModel[]>;
6
- static parseGeomAlertCLine: (alertCLinearObj: Record<string, any> | undefined) => Promise<LineString | undefined>;
7
- }
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var _a;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.TrafficRestrictionsHelper = void 0;
14
- const ContainerToken_1 = require("../ioc/ContainerToken");
15
- const Di_1 = require("../ioc/Di");
16
- class TrafficRestrictionsHelper {
17
- }
18
- exports.TrafficRestrictionsHelper = TrafficRestrictionsHelper;
19
- _a = TrafficRestrictionsHelper;
20
- //#region Public Methods
21
- TrafficRestrictionsHelper.uniqueRestrictionsArray = (arr) => {
22
- const constraintsArr = [];
23
- const resultArr = [];
24
- for (const obj of arr) {
25
- if (!constraintsArr.includes(obj.situation_record_id + obj.situation_record_version_time)) {
26
- constraintsArr.push(obj.situation_record_id + obj.situation_record_version_time);
27
- resultArr.push(obj);
28
- }
29
- }
30
- return resultArr;
31
- };
32
- TrafficRestrictionsHelper.populateWithGeomAlertCLineRestrictions = (transformedData) => __awaiter(void 0, void 0, void 0, function* () {
33
- for (const dataObj of transformedData) {
34
- dataObj.geom_alert_c_line = yield _a.parseGeomAlertCLine(dataObj.alert_c_linear);
35
- }
36
- return transformedData;
37
- });
38
- TrafficRestrictionsHelper.parseGeomAlertCLine = (alertCLinearObj) => __awaiter(void 0, void 0, void 0, function* () {
39
- if (!alertCLinearObj)
40
- return undefined;
41
- const rsTmcRepository = Di_1.NdicContainer.resolve(ContainerToken_1.ModuleContainerToken.RsdTmcPointsRepository);
42
- const primaryPointSpecificLocation = alertCLinearObj.alertCMethod2PrimaryPointLocation.alertCLocation.specificLocation;
43
- const secondaryPointSpecificLocation = alertCLinearObj.alertCMethod2SecondaryPointLocation.alertCLocation.specificLocation;
44
- const primaryPointObj = yield rsTmcRepository.GetOne(primaryPointSpecificLocation);
45
- const secondaryPointObj = yield rsTmcRepository.GetOne(secondaryPointSpecificLocation);
46
- if (primaryPointObj && secondaryPointObj) {
47
- const coordinatesArr = [
48
- [Number(primaryPointObj.wgs84_x.replace(",", ".")), Number(primaryPointObj.wgs84_y.replace(",", "."))],
49
- [Number(secondaryPointObj.wgs84_x.replace(",", ".")), Number(secondaryPointObj.wgs84_y.replace(",", "."))],
50
- ];
51
- return {
52
- coordinates: coordinatesArr,
53
- type: "LineString",
54
- };
55
- }
56
- return undefined;
57
- });
58
- //# sourceMappingURL=TrafficRestrictionsHelper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrafficRestrictionsHelper.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/TrafficRestrictionsHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,0DAA8D;AAC9D,kCAA2C;AAK3C,MAAa,yBAAyB;;AAAtC,8DAiDC;;AAhDG,wBAAwB;AACV,iDAAuB,GAAG,CAAC,GAAgC,EAAE,EAAE;IACzE,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,SAAS,GAAgC,EAAE,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACnB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC,6BAA6B,CAAC,EAAE;YACvF,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC,6BAA6B,CAAC,CAAC;YACjF,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAE,CAAA;AAEY,gEAAsC,GAAG,CACnD,eAA4C,EACR,EAAE;IACtC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE;QACnC,OAAO,CAAC,iBAAiB,GAAG,MAAM,EAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;KACtF;IACD,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAC,CAAA;AAEY,6CAAmB,GAAG,CAChC,eAAgD,EACjB,EAAE;IACjC,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IAEvC,MAAM,eAAe,GAAG,kBAAa,CAAC,OAAO,CAAoB,qCAAoB,CAAC,sBAAsB,CAAC,CAAC;IAC9G,MAAM,4BAA4B,GAAG,eAAe,CAAC,iCAAiC,CAAC,cAAc,CAAC,gBAAgB,CAAC;IACvH,MAAM,8BAA8B,GAChC,eAAe,CAAC,mCAAmC,CAAC,cAAc,CAAC,gBAAgB,CAAC;IAExF,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACnF,MAAM,iBAAiB,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAEvF,IAAI,eAAe,IAAI,iBAAiB,EAAE;QACtC,MAAM,cAAc,GAAe;YAC/B,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACtG,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SAC7G,CAAC;QACF,OAAO;YACH,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,YAAY;SACP,CAAC;KACnB;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- declare const ModuleContainerToken: {
2
- RsdTmcPointsRepository: symbol;
3
- };
4
- export { ModuleContainerToken };
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModuleContainerToken = void 0;
4
- const ModuleContainerToken = {
5
- RsdTmcPointsRepository: Symbol(),
6
- };
7
- exports.ModuleContainerToken = ModuleContainerToken;
8
- //# sourceMappingURL=ContainerToken.js.map
@@ -1 +0,0 @@
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,3 +0,0 @@
1
- import { DependencyContainer } from "@golemio/core/dist/shared/tsyringe";
2
- declare const NdicContainer: DependencyContainer;
3
- export { NdicContainer };
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NdicContainer = void 0;
4
- const RsdTmcPointsModel_1 = require("../models/RsdTmcPointsModel");
5
- const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
6
- const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
7
- const ContainerToken_1 = require("./ContainerToken");
8
- //#region Initialization
9
- const NdicContainer = Di_1.IntegrationEngineContainer.createChildContainer();
10
- exports.NdicContainer = NdicContainer;
11
- //#endregion
12
- //#region Datasource
13
- //#endregion
14
- //#region Transformation
15
- //#endregion
16
- //#region Repositories
17
- NdicContainer.register(ContainerToken_1.ModuleContainerToken.RsdTmcPointsRepository, RsdTmcPointsModel_1.RsdTmcPointsModel, { lifecycle: tsyringe_1.Lifecycle.Singleton });
18
- //# sourceMappingURL=Di.js.map
@@ -1 +0,0 @@
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,6 +0,0 @@
1
- import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/workers/AbstractEmptyTask";
2
- export declare class RegionsDataRetention extends AbstractEmptyTask {
3
- queueName: string;
4
- private DATA_RETENTION_IN_MINUTES;
5
- protected execute(): Promise<void>;
6
- }
@@ -1,34 +0,0 @@
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.RegionsDataRetention = void 0;
13
- const _sch_1 = require("../../schema-definitions");
14
- const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
15
- const AbstractEmptyTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractEmptyTask");
16
- const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
17
- class RegionsDataRetention extends AbstractEmptyTask_1.AbstractEmptyTask {
18
- constructor() {
19
- super(...arguments);
20
- this.queueName = "regionsDataRetention";
21
- this.DATA_RETENTION_IN_MINUTES = 2880; // 2 days
22
- }
23
- execute() {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- const sequelize = connectors_1.PostgresConnector.getConnection();
26
- yield sequelize.query(`CALL ${_sch_1.Ndic.pgSchema}.regions_data_retention(${this.DATA_RETENTION_IN_MINUTES});`, {
27
- plain: true,
28
- type: sequelize_1.QueryTypes.SELECT,
29
- });
30
- });
31
- }
32
- }
33
- exports.RegionsDataRetention = RegionsDataRetention;
34
- //# sourceMappingURL=RegionsDataRetention.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RegionsDataRetention.js","sourceRoot":"","sources":["../../../src/integration-engine/tasks/RegionsDataRetention.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAA4B;AAC5B,iFAAqF;AACrF,uGAAoG;AACpG,mEAAiE;AAEjE,MAAa,oBAAqB,SAAQ,qCAAiB;IAA3D;;QACW,cAAS,GAAW,sBAAsB,CAAC;QAC1C,8BAAyB,GAAG,IAAI,CAAC,CAAC,SAAS;IASvD,CAAC;IAPmB,OAAO;;YACnB,MAAM,SAAS,GAAG,8BAAiB,CAAC,aAAa,EAAE,CAAC;YACpD,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,WAAI,CAAC,QAAQ,2BAA2B,IAAI,CAAC,yBAAyB,IAAI,EAAE;gBACtG,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,sBAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACP,CAAC;KAAA;CACJ;AAXD,oDAWC"}
@@ -1,14 +0,0 @@
1
- import { ITrafficRestrictions } from "../transformations/TrafficRestrictionsInterface";
2
- import { AbstractTask } from "@golemio/core/dist/integration-engine";
3
- import TrafficRestrictionsRegionsSchema from "./schema/TrafficRestrictionsRegionsSchema";
4
- export declare class SaveTrafficRestrictionsRegions extends AbstractTask<ITrafficRestrictions> {
5
- queueName: string;
6
- queueTtl: number;
7
- protected schema: typeof TrafficRestrictionsRegionsSchema;
8
- private transformation;
9
- private repository;
10
- private filtrationChecker;
11
- constructor(queuePrefix: string);
12
- protected execute: (data: ITrafficRestrictions) => Promise<void>;
13
- private filterData;
14
- }
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.SaveTrafficRestrictionsRegions = void 0;
16
- const LteCze90PointsChecker_1 = require("../helpers/LteCze90PointsChecker");
17
- const TrafficRestrictionsHelper_1 = require("../helpers/TrafficRestrictionsHelper");
18
- const TrafficRestrictionsTransformation_1 = require("../transformations/TrafficRestrictionsTransformation");
19
- const _sch_1 = require("../../schema-definitions");
20
- const integration_engine_1 = require("@golemio/core/dist/integration-engine");
21
- const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
22
- const TrafficRestrictionsRegionsSchema_1 = __importDefault(require("./schema/TrafficRestrictionsRegionsSchema"));
23
- class SaveTrafficRestrictionsRegions extends integration_engine_1.AbstractTask {
24
- constructor(queuePrefix) {
25
- super(queuePrefix);
26
- this.queueName = "saveTrafficRestrictionsRegions";
27
- this.queueTtl = 24 * 60 * 60 * 1000; // 24h
28
- this.schema = TrafficRestrictionsRegionsSchema_1.default; // Data already validated in Input Gateway
29
- this.execute = (data) => __awaiter(this, void 0, void 0, function* () {
30
- const transformedData = yield this.transformation.transform(data);
31
- let dataToSave = yield this.filterData(transformedData);
32
- dataToSave = yield TrafficRestrictionsHelper_1.TrafficRestrictionsHelper.populateWithGeomAlertCLineRestrictions(transformedData);
33
- yield this.repository.save(TrafficRestrictionsHelper_1.TrafficRestrictionsHelper.uniqueRestrictionsArray(dataToSave));
34
- });
35
- this.filterData = (transformedData) => __awaiter(this, void 0, void 0, function* () {
36
- yield this.filtrationChecker.initialize();
37
- return transformedData.filter((element) => this.filtrationChecker.shouldSave(element));
38
- });
39
- this.transformation = new TrafficRestrictionsTransformation_1.TrafficRestrictionsTransformation();
40
- this.repository = new integration_engine_1.PostgresModel(_sch_1.Ndic.traffic_restrictions.name + "Model", {
41
- outputSequelizeAttributes: _sch_1.Ndic.traffic_restrictions.outputSequelizeAttributes,
42
- pgSchema: _sch_1.Ndic.pgSchema,
43
- pgTableName: "ndic_traffic_restrictions_regions",
44
- savingType: "insertOnly",
45
- }, new golemio_validator_1.JSONSchemaValidator(_sch_1.Ndic.traffic_restrictions.name + "PgModelValidator", _sch_1.Ndic.traffic_restrictions.outputSchema));
46
- this.filtrationChecker = new LteCze90PointsChecker_1.LteCze90PointsChecker();
47
- }
48
- }
49
- exports.SaveTrafficRestrictionsRegions = SaveTrafficRestrictionsRegions;
50
- //# sourceMappingURL=SaveTrafficRestrictionsRegions.js.map
@@ -1 +0,0 @@
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,eAAe,CAAC,CAAC;YAErG,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,18 +0,0 @@
1
- import { ISituation, ITrafficRestrictions } from "../../transformations/TrafficRestrictionsInterface";
2
- export default class TrafficRestrictionsRegionsSchema implements ITrafficRestrictions {
3
- $: {
4
- xmlns: string;
5
- "xmlns:xsi": string;
6
- modelBaseVersion: string;
7
- };
8
- exchange: Record<string, any>;
9
- payloadPublication: {
10
- $: {
11
- "xsi:type": string;
12
- lang: string;
13
- };
14
- publicationTime: string;
15
- publicationCreator: Record<string, any>;
16
- situation: ISituation | ISituation[];
17
- };
18
- }
@@ -1,29 +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
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
13
- //Just mockup schema. data are validated on IG side.
14
- class TrafficRestrictionsRegionsSchema {
15
- }
16
- __decorate([
17
- (0, class_validator_1.IsObject)(),
18
- __metadata("design:type", Object)
19
- ], TrafficRestrictionsRegionsSchema.prototype, "$", void 0);
20
- __decorate([
21
- (0, class_validator_1.IsObject)(),
22
- __metadata("design:type", Object)
23
- ], TrafficRestrictionsRegionsSchema.prototype, "exchange", void 0);
24
- __decorate([
25
- (0, class_validator_1.IsObject)(),
26
- __metadata("design:type", Object)
27
- ], TrafficRestrictionsRegionsSchema.prototype, "payloadPublication", void 0);
28
- exports.default = TrafficRestrictionsRegionsSchema;
29
- //# sourceMappingURL=TrafficRestrictionsRegionsSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrafficRestrictionsRegionsSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/tasks/schema/TrafficRestrictionsRegionsSchema.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,+EAAqE;AAErE,oDAAoD;AACpD,MAAqB,gCAAgC;CAgBpD;AAdG;IADC,IAAA,0BAAQ,GAAE;;2DAKT;AAEF;IADC,IAAA,0BAAQ,GAAE;;kEACoB;AAE/B;IADC,IAAA,0BAAQ,GAAE;;4EAMT;AAfN,mDAgBC"}