@golemio/fcd 1.1.3-dev.856055436 → 1.1.3-dev.872686154

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 (38) hide show
  1. package/db/example/.config.json +1 -1
  2. package/db/migrations/postgresql/20230516183543-regions-integration.js +53 -0
  3. package/db/migrations/postgresql/sqls/20230516183543-regions-integration-down.sql +3 -0
  4. package/db/migrations/postgresql/sqls/20230516183543-regions-integration-up.sql +40 -0
  5. package/dist/integration-engine/FCDWorker.d.ts +5 -0
  6. package/dist/integration-engine/FCDWorker.js +32 -3
  7. package/dist/integration-engine/FCDWorker.js.map +1 -1
  8. package/dist/integration-engine/helpers/LteCze90PointsChecker.d.ts +8 -0
  9. package/dist/integration-engine/helpers/LteCze90PointsChecker.js +41 -0
  10. package/dist/integration-engine/helpers/LteCze90PointsChecker.js.map +1 -0
  11. package/dist/integration-engine/queueDefinitions.js +22 -2
  12. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  13. package/dist/integration-engine/transformations/FloatingCarDataInterface.d.ts +1 -1
  14. package/dist/output-gateway/FCDRouter.d.ts +2 -1
  15. package/dist/output-gateway/FCDRouter.js +5 -4
  16. package/dist/output-gateway/FCDRouter.js.map +1 -1
  17. package/dist/output-gateway/models/FloatingCarDataModel.d.ts +2 -10
  18. package/dist/output-gateway/models/FloatingCarDataModel.js +2 -12
  19. package/dist/output-gateway/models/FloatingCarDataModel.js.map +1 -1
  20. package/dist/output-gateway/models/index.d.ts +0 -1
  21. package/dist/output-gateway/models/index.js +0 -1
  22. package/dist/output-gateway/models/index.js.map +1 -1
  23. package/dist/output-gateway/transformations/OutputFloatingCarDataTransformation.d.ts +3 -3
  24. package/dist/output-gateway/transformations/OutputFloatingCarDataTransformation.js +5 -7
  25. package/dist/output-gateway/transformations/OutputFloatingCarDataTransformation.js.map +1 -1
  26. package/dist/output-gateway/transformations/getLocationPointsFromTsString.d.ts +2 -4
  27. package/dist/output-gateway/transformations/getLocationPointsFromTsString.js +2 -2
  28. package/dist/output-gateway/transformations/getLocationPointsFromTsString.js.map +1 -1
  29. package/dist/schema-definitions/index.js +0 -7
  30. package/dist/schema-definitions/index.js.map +1 -1
  31. package/package.json +4 -2
  32. package/db/example/rsd_tmc_osm_mapping.sql +0 -13
  33. package/dist/output-gateway/models/RsdTmcOsmMappingModel.d.ts +0 -16
  34. package/dist/output-gateway/models/RsdTmcOsmMappingModel.js +0 -66
  35. package/dist/output-gateway/models/RsdTmcOsmMappingModel.js.map +0 -1
  36. package/dist/schema-definitions/schemas/rsd_tmc_osm_mapping_output_schema.d.ts +0 -18
  37. package/dist/schema-definitions/schemas/rsd_tmc_osm_mapping_output_schema.js +0 -26
  38. package/dist/schema-definitions/schemas/rsd_tmc_osm_mapping_output_schema.js.map +0 -1
@@ -1,3 +1,3 @@
1
1
  {
2
- "schema": "fcd, public"
2
+ "schema": "fcd"
3
3
  }
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20230516183543-regions-integration-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', '20230516183543-regions-integration-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,3 @@
1
+ DROP PROCEDURE regions_data_retention;
2
+ DROP VIEW v_traffic_params_all;
3
+ DROP TABLE fcd_traff_params_regions;
@@ -0,0 +1,40 @@
1
+ CREATE TABLE fcd_traff_params_regions (
2
+ publication_time timestamptz NULL,
3
+ source_identification varchar(50) NOT NULL,
4
+ measurement_or_calculation_time timestamptz NOT NULL,
5
+ predefined_location varchar(50) NOT NULL,
6
+ version_of_predefined_location int4 NULL,
7
+ traffic_level varchar(50) NOT NULL,
8
+ queue_exists bool NULL,
9
+ queue_length int4 NULL,
10
+ from_point float4 NULL,
11
+ to_point float4 NULL,
12
+ data_quality float4 NULL,
13
+ input_values int4 NULL,
14
+ average_vehicle_speed int4 NULL,
15
+ travel_time int4 NULL,
16
+ free_flow_travel_time int4 NULL,
17
+ free_flow_speed int4 NULL,
18
+ create_batch_id int8 NULL,
19
+ created_at timestamptz NULL,
20
+ created_by varchar(150) NULL,
21
+ update_batch_id int8 NULL,
22
+ updated_at timestamptz NULL,
23
+ updated_by varchar(150) NULL,
24
+ CONSTRAINT fcd_traff_params_regions_pk PRIMARY KEY (source_identification, measurement_or_calculation_time)
25
+ );
26
+ CREATE INDEX fcd_traff_params_regions_time ON ONLY fcd_traff_params_regions USING btree (measurement_or_calculation_time);
27
+
28
+ create view v_traffic_params_all as
29
+ select * from fcd_traff_params_part
30
+ union all
31
+ select * from fcd_traff_params_regions;
32
+
33
+ CREATE PROCEDURE regions_data_retention(dataretentionminutes integer)
34
+ LANGUAGE plpgsql
35
+ AS $procedure$
36
+ begin
37
+ delete from fcd.fcd_traff_params_regions where measurement_or_calculation_time < (NOW() - (dataretentionminutes || ' minutes')::interval);
38
+ end;
39
+ $procedure$
40
+ ;
@@ -3,6 +3,11 @@ export declare class FCDWorker extends BaseWorker {
3
3
  private readonly queuePrefix;
4
4
  private floatingCarDataTransformation;
5
5
  private floatingCarDataModel;
6
+ private floatingCarDataRegionsModel;
7
+ private lteCze90PointsChecker;
8
+ private DATA_RETENTION_IN_MINUTES;
6
9
  constructor();
7
10
  saveFloatingCarData: (msg: any) => Promise<void>;
11
+ saveRegionsData: (msg: any) => Promise<void>;
12
+ regionsDataRetention: (msg: any) => Promise<void>;
8
13
  }
@@ -10,14 +10,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.FCDWorker = void 0;
13
- const integration_engine_1 = require("@golemio/core/dist/integration-engine");
14
- const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
15
- const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
16
13
  const FloatingCarDataTransformation_1 = require("./transformations/FloatingCarDataTransformation");
17
14
  const _sch_1 = require("../schema-definitions");
15
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
16
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
17
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
18
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
19
+ const LteCze90PointsChecker_1 = require("./helpers/LteCze90PointsChecker");
18
20
  class FCDWorker extends integration_engine_1.BaseWorker {
19
21
  constructor() {
20
22
  super();
23
+ this.DATA_RETENTION_IN_MINUTES = 2880; // 2 days
21
24
  this.saveFloatingCarData = (msg) => __awaiter(this, void 0, void 0, function* () {
22
25
  try {
23
26
  const data = JSON.parse(msg.content.toString());
@@ -28,6 +31,25 @@ class FCDWorker extends integration_engine_1.BaseWorker {
28
31
  throw new golemio_errors_1.CustomError("Error while processing Floating Car Data data.", true, "FCDWorker", 422, error);
29
32
  }
30
33
  });
34
+ this.saveRegionsData = (msg) => __awaiter(this, void 0, void 0, function* () {
35
+ try {
36
+ const data = JSON.parse(msg.content.toString());
37
+ const transformedData = yield this.floatingCarDataTransformation.transform(data);
38
+ yield this.lteCze90PointsChecker.initialize();
39
+ const filteredData = transformedData.filter((element) => this.lteCze90PointsChecker.shouldSave(element.source_identification));
40
+ yield this.floatingCarDataRegionsModel.save(filteredData);
41
+ }
42
+ catch (error) {
43
+ throw new golemio_errors_1.CustomError("Error while processing Floating Car Data for regions.", true, "FCDWorker", 422, error);
44
+ }
45
+ });
46
+ this.regionsDataRetention = (msg) => __awaiter(this, void 0, void 0, function* () {
47
+ const sequelize = integration_engine_1.PostgresConnector.getConnection();
48
+ yield sequelize.query(`CALL ${_sch_1.FCD.pgSchema}.regions_data_retention(${this.DATA_RETENTION_IN_MINUTES});`, {
49
+ plain: true,
50
+ type: sequelize_1.QueryTypes.SELECT,
51
+ });
52
+ });
31
53
  this.queuePrefix = integration_engine_1.config.RABBIT_EXCHANGE_NAME + "." + _sch_1.FCD.name.toLowerCase();
32
54
  this.floatingCarDataTransformation = new FloatingCarDataTransformation_1.FloatingCarDataTransformation();
33
55
  this.floatingCarDataModel = new integration_engine_1.PostgresModel(_sch_1.FCD.fcd_info.name + "Model", {
@@ -36,6 +58,13 @@ class FCDWorker extends integration_engine_1.BaseWorker {
36
58
  pgTableName: _sch_1.FCD.fcd_info.pgTableName,
37
59
  savingType: "insertOnly",
38
60
  }, new golemio_validator_1.JSONSchemaValidator(_sch_1.FCD.fcd_info.name + "PgModelValidator", _sch_1.FCD.fcd_info.outputSchema));
61
+ this.floatingCarDataRegionsModel = new integration_engine_1.PostgresModel(_sch_1.FCD.fcd_info.name + "Model", {
62
+ outputSequelizeAttributes: _sch_1.FCD.fcd_info.outputSequelizeAttributes,
63
+ pgSchema: _sch_1.FCD.pgSchema,
64
+ pgTableName: "fcd_traff_params_regions",
65
+ savingType: "insertOnly",
66
+ }, new golemio_validator_1.JSONSchemaValidator(_sch_1.FCD.fcd_info.name + "PgModelValidator", _sch_1.FCD.fcd_info.outputSchema));
67
+ this.lteCze90PointsChecker = new LteCze90PointsChecker_1.LteCze90PointsChecker();
39
68
  }
40
69
  }
41
70
  exports.FCDWorker = FCDWorker;
@@ -1 +1 @@
1
- {"version":3,"file":"FCDWorker.js","sourceRoot":"","sources":["../../src/integration-engine/FCDWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA0F;AAC1F,mFAAkF;AAClF,6EAAuE;AACvE,mGAAkG;AAClG,gDAA2B;AAE3B,MAAa,SAAU,SAAQ,+BAAU;IAMrC;QACI,KAAK,EAAE,CAAC;QAiBL,wBAAmB,GAAG,CAAO,GAAQ,EAAiB,EAAE;YAC3D,IAAI;gBACA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACjF,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACzD;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,IAAI,4BAAW,CAAC,gDAAgD,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;aAC1G;QACL,CAAC,CAAA,CAAC;QAvBE,IAAI,CAAC,WAAW,GAAG,2BAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,UAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAE9E,IAAI,CAAC,6BAA6B,GAAG,IAAI,6DAA6B,EAAE,CAAC;QACzE,IAAI,CAAC,oBAAoB,GAAG,IAAI,kCAAa,CACzC,UAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,EAC3B;YACI,yBAAyB,EAAE,UAAG,CAAC,QAAQ,CAAC,yBAAyB;YACjE,QAAQ,EAAE,UAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,WAAW;YACrC,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,UAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,kBAAkB,EAAE,UAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC7F,CAAC;IACN,CAAC;CAWJ;AAjCD,8BAiCC"}
1
+ {"version":3,"file":"FCDWorker.js","sourceRoot":"","sources":["../../src/integration-engine/FCDWorker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare class LteCze90PointsChecker {
2
+ private filtrationLookup;
3
+ private relevantLcds;
4
+ private SOURCE_ID_REGEX;
5
+ constructor();
6
+ initialize(): Promise<void>;
7
+ shouldSave(sourceIdentification: string | undefined): boolean;
8
+ }
@@ -0,0 +1,41 @@
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 LteCze90PointsSjtskInAreaRepository_1 = require("@golemio/traffic-common/dist/integration-engine/repositories/LteCze90PointsSjtskInAreaRepository");
14
+ class LteCze90PointsChecker {
15
+ constructor() {
16
+ this.relevantLcds = [];
17
+ this.SOURCE_ID_REGEX = /^TS(?<secondaryPoint>\d+)T(?<primaryPoint>\d+)$/;
18
+ this.filtrationLookup = new LteCze90PointsSjtskInAreaRepository_1.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(sourceIdentification) {
26
+ var _a, _b;
27
+ const regexResult = sourceIdentification ? this.SOURCE_ID_REGEX.exec(sourceIdentification) : undefined;
28
+ const primaryPointSpecificLocation = (_a = regexResult === null || regexResult === void 0 ? void 0 : regexResult.groups) === null || _a === void 0 ? void 0 : _a.primaryPoint;
29
+ const secondaryPointSpecificLocation = (_b = regexResult === null || regexResult === void 0 ? void 0 : regexResult.groups) === null || _b === void 0 ? void 0 : _b.secondaryPoint;
30
+ if (primaryPointSpecificLocation === undefined ||
31
+ primaryPointSpecificLocation === null ||
32
+ secondaryPointSpecificLocation === undefined ||
33
+ secondaryPointSpecificLocation === null) {
34
+ return false;
35
+ }
36
+ return (this.relevantLcds.includes(Number(primaryPointSpecificLocation)) ||
37
+ this.relevantLcds.includes(Number(secondaryPointSpecificLocation)));
38
+ }
39
+ }
40
+ exports.LteCze90PointsChecker = LteCze90PointsChecker;
41
+ //# sourceMappingURL=LteCze90PointsChecker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LteCze90PointsChecker.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/LteCze90PointsChecker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0JAAuJ;AAEvJ,MAAa,qBAAqB;IAK9B;QAHQ,iBAAY,GAAa,EAAE,CAAC;QAC5B,oBAAe,GAAG,iDAAiD,CAAC;QAGxE,IAAI,CAAC,gBAAgB,GAAG,IAAI,yEAAmC,EAAE,CAAC;IACtE,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,oBAAwC;;QACtD,MAAM,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvG,MAAM,4BAA4B,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAE,YAAY,CAAC;QACvE,MAAM,8BAA8B,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAE,cAAc,CAAC;QAE3E,IACI,4BAA4B,KAAK,SAAS;YAC1C,4BAA4B,KAAK,IAAI;YACrC,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;AAjCD,sDAiCC"}
@@ -9,15 +9,35 @@ const queueDefinitions = [
9
9
  name: _sch_1.FCD.name,
10
10
  queuePrefix: integration_engine_1.config.RABBIT_EXCHANGE_NAME + "." + _sch_1.FCD.name.toLowerCase(),
11
11
  queues: [
12
- {
12
+ /*{
13
13
  name: "saveFloatingCarData",
14
+ options: {
15
+ deadLetterExchange: config.RABBIT_EXCHANGE_NAME,
16
+ deadLetterRoutingKey: "dead",
17
+ messageTtl: 59 * 60 * 1000, // 59 minutes
18
+ },
19
+ worker: FCDWorker,
20
+ workerMethod: "saveFloatingCarData",
21
+ },*/
22
+ {
23
+ name: "saveRegionsData",
14
24
  options: {
15
25
  deadLetterExchange: integration_engine_1.config.RABBIT_EXCHANGE_NAME,
16
26
  deadLetterRoutingKey: "dead",
17
27
  messageTtl: 59 * 60 * 1000, // 59 minutes
18
28
  },
19
29
  worker: FCDWorker_1.FCDWorker,
20
- workerMethod: "saveFloatingCarData",
30
+ workerMethod: "saveRegionsData",
31
+ },
32
+ {
33
+ name: "regionsDataRetention",
34
+ options: {
35
+ deadLetterExchange: integration_engine_1.config.RABBIT_EXCHANGE_NAME,
36
+ deadLetterRoutingKey: "dead",
37
+ messageTtl: 59 * 60 * 1000, // 59 minutes
38
+ },
39
+ worker: FCDWorker_1.FCDWorker,
40
+ workerMethod: "regionsDataRetention",
21
41
  },
22
42
  ],
23
43
  },
@@ -1 +1 @@
1
- {"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,8EAAiF;AACjF,gDAA2B;AAC3B,2CAA0C;AAE1C,MAAM,gBAAgB,GAAuB;IACzC;QACI,IAAI,EAAE,UAAG,CAAC,IAAI;QACd,WAAW,EAAE,2BAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,UAAG,CAAC,IAAI,CAAC,WAAW,EAAE;QACvE,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,qBAAqB;gBAC3B,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,qBAAS;gBACjB,YAAY,EAAE,qBAAqB;aACtC;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
1
+ {"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,8EAAiF;AACjF,gDAA2B;AAC3B,2CAA0C;AAE1C,MAAM,gBAAgB,GAAuB;IACzC;QACI,IAAI,EAAE,UAAG,CAAC,IAAI;QACd,WAAW,EAAE,2BAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,UAAG,CAAC,IAAI,CAAC,WAAW,EAAE;QACvE,MAAM,EAAE;YACJ;;;;;;;;;gBASI;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,qBAAS;gBACjB,YAAY,EAAE,iBAAiB;aAClC;YACD;gBACI,IAAI,EAAE,sBAAsB;gBAC5B,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,qBAAS;gBACjB,YAAY,EAAE,sBAAsB;aACvC;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
@@ -143,6 +143,6 @@ export interface IOutputApiFloatingCarDataElaboratedData {
143
143
  queueLength?: string;
144
144
  fromPoint?: string;
145
145
  toPoint?: string;
146
- osmPath?: number[];
146
+ osmPath?: number[] | null;
147
147
  }
148
148
  export {};
@@ -2,10 +2,11 @@
2
2
  import { NextFunction, Request, Response, Router } from "@golemio/core/dist/shared/express";
3
3
  import { BaseRouter } from "@golemio/core/dist/output-gateway/routes/BaseRouter";
4
4
  import { FloatingCarDataModel } from "./models";
5
+ import { OutputFloatingCarDataTransformation } from "./transformations/OutputFloatingCarDataTransformation";
5
6
  export declare class FCDRouter extends BaseRouter {
6
7
  protected floatingCarDataModel: FloatingCarDataModel;
7
8
  private outputFloatingCarDataTransformation;
8
- constructor();
9
+ constructor(floatingCarDataModel: FloatingCarDataModel, outputFloatingCarDataTransformation: OutputFloatingCarDataTransformation);
9
10
  GetFloatingCarData: (req: Request, res: Response, next: NextFunction) => Promise<void>;
10
11
  }
11
12
  declare const fcdRouter: Router;
@@ -17,9 +17,12 @@ const BaseRouter_1 = require("@golemio/core/dist/output-gateway/routes/BaseRoute
17
17
  const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
18
18
  const models_1 = require("./models");
19
19
  const OutputFloatingCarDataTransformation_1 = require("./transformations/OutputFloatingCarDataTransformation");
20
+ const repositories_1 = require("@golemio/traffic-common/dist/output-gateway/repositories");
20
21
  class FCDRouter extends BaseRouter_1.BaseRouter {
21
- constructor() {
22
+ constructor(floatingCarDataModel, outputFloatingCarDataTransformation) {
22
23
  super();
24
+ this.floatingCarDataModel = floatingCarDataModel;
25
+ this.outputFloatingCarDataTransformation = outputFloatingCarDataTransformation;
23
26
  this.GetFloatingCarData = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
24
27
  try {
25
28
  const isRequestedPathOsm = req.query.osmPath == "true";
@@ -38,12 +41,10 @@ class FCDRouter extends BaseRouter_1.BaseRouter {
38
41
  next(err);
39
42
  }
40
43
  });
41
- this.floatingCarDataModel = new models_1.FloatingCarDataModel();
42
- this.outputFloatingCarDataTransformation = new OutputFloatingCarDataTransformation_1.OutputFloatingCarDataTransformation();
43
44
  this.router.get("/info", [(0, express_validator_1.query)("osmPath").optional().isString(), (0, express_validator_1.query)("locationId").optional().isString()], Validation_1.pagination, Validation_1.checkErrors, (0, Validation_1.paginationLimitMiddleware)("FCDRouter"), (0, redis_1.useCacheMiddleware)(), this.GetFloatingCarData);
44
45
  }
45
46
  }
46
47
  exports.FCDRouter = FCDRouter;
47
- const fcdRouter = new FCDRouter().router;
48
+ const fcdRouter = new FCDRouter(new models_1.FloatingCarDataModel(), new OutputFloatingCarDataTransformation_1.OutputFloatingCarDataTransformation(new repositories_1.RsdTmcOsmMappingRepository())).router;
48
49
  exports.fcdRouter = fcdRouter;
49
50
  //# sourceMappingURL=FCDRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FCDRouter.js","sourceRoot":"","sources":["../../src/output-gateway/FCDRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mFAAoE;AACpE,6EAAuE;AACvE,mEAA6E;AAC7E,oFAAiF;AACjF,6EAAkH;AAClH,qCAAgD;AAChD,+GAA8G;AAE9G,MAAa,SAAU,SAAQ,uBAAU;IAIrC;QACI,KAAK,EAAE,CAAC;QAeL,uBAAkB,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAClF,IAAI;gBACA,MAAM,kBAAkB,GAAI,GAAG,CAAC,KAAK,CAAC,OAAkB,IAAI,MAAM,CAAC;gBAEnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;oBACtD,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,UAAoB;oBAC1C,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;iBAC3D,CAAC,CAAC;gBACH,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE;oBACrB,MAAM,IAAI,4BAAW,CAAC,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;iBAClE;gBACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;gBACjH,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;QA/BE,IAAI,CAAC,oBAAoB,GAAG,IAAI,6BAAoB,EAAE,CAAC;QACvD,IAAI,CAAC,mCAAmC,GAAG,IAAI,yEAAmC,EAAE,CAAC;QAErF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,OAAO,EACP,CAAC,IAAA,yBAAK,EAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAA,yBAAK,EAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,EACnF,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,WAAW,CAAC,EACtC,IAAA,0BAAkB,GAAE,EACpB,IAAI,CAAC,kBAAkB,CAC1B,CAAC;IACN,CAAC;CAoBJ;AAtCD,8BAsCC;AAED,MAAM,SAAS,GAAW,IAAI,SAAS,EAAE,CAAC,MAAM,CAAC;AAExC,8BAAS"}
1
+ {"version":3,"file":"FCDRouter.js","sourceRoot":"","sources":["../../src/output-gateway/FCDRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mFAAoE;AACpE,6EAAuE;AACvE,mEAA6E;AAC7E,oFAAiF;AACjF,6EAAkH;AAClH,qCAAgD;AAChD,+GAA8G;AAC9G,2FAAsG;AAEtG,MAAa,SAAU,SAAQ,uBAAU;IACrC,YACc,oBAA0C,EAC5C,mCAAwE;QAEhF,KAAK,EAAE,CAAC;QAHE,yBAAoB,GAApB,oBAAoB,CAAsB;QAC5C,wCAAmC,GAAnC,mCAAmC,CAAqC;QAe7E,uBAAkB,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAClF,IAAI;gBACA,MAAM,kBAAkB,GAAI,GAAG,CAAC,KAAK,CAAC,OAAkB,IAAI,MAAM,CAAC;gBAEnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;oBACtD,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,UAAoB;oBAC1C,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;iBAC3D,CAAC,CAAC;gBACH,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE;oBACrB,MAAM,IAAI,4BAAW,CAAC,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;iBAClE;gBACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;gBACjH,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;QA5BE,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,OAAO,EACP,CAAC,IAAA,yBAAK,EAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAA,yBAAK,EAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,EACnF,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,WAAW,CAAC,EACtC,IAAA,0BAAkB,GAAE,EACpB,IAAI,CAAC,kBAAkB,CAC1B,CAAC;IACN,CAAC;CAoBJ;AApCD,8BAoCC;AAED,MAAM,SAAS,GAAW,IAAI,SAAS,CACnC,IAAI,6BAAoB,EAAE,EAC1B,IAAI,yEAAmC,CAAC,IAAI,yCAA0B,EAAE,CAAC,CAC5E,CAAC,MAAM,CAAC;AAEA,8BAAS"}
@@ -1,19 +1,11 @@
1
1
  import { SequelizeModel } from "@golemio/core/dist/output-gateway/models";
2
+ import { IFloatingCarDataModel } from "../../integration-engine/transformations/FloatingCarDataInterface";
2
3
  export declare class FloatingCarDataModel extends SequelizeModel {
3
4
  constructor();
4
- /**
5
- * @param {object} [options] Options object with params
6
- * @param {number} [options.locationId] Predefined Location Id
7
- * @param {number} [options.limit] Limit
8
- * @param {number} [options.offset] Offset
9
- * @param {string} [options.from] ISO date<br>
10
- * @param {string} [options.to] ISO date<br>
11
- * @returns Array of the retrieved records
12
- */
13
5
  GetAll: (options?: {
14
6
  locationId?: string;
15
7
  limit?: number;
16
8
  offset?: number;
17
- }) => Promise<any>;
9
+ }) => Promise<IFloatingCarDataModel[]>;
18
10
  GetOne: () => Promise<object | null>;
19
11
  }
@@ -19,18 +19,9 @@ const models_1 = require("@golemio/core/dist/output-gateway/models");
19
19
  const index_1 = require("../../schema-definitions/index");
20
20
  class FloatingCarDataModel extends models_1.SequelizeModel {
21
21
  constructor() {
22
- super(index_1.FCD.fcd_info.name, index_1.FCD.fcd_info.pgTableName, index_1.FCD.fcd_info.outputSequelizeAttributes, {
22
+ super(index_1.FCD.fcd_info.name, "v_traffic_params_all", index_1.FCD.fcd_info.outputSequelizeAttributes, {
23
23
  schema: index_1.FCD.pgSchema,
24
24
  });
25
- /**
26
- * @param {object} [options] Options object with params
27
- * @param {number} [options.locationId] Predefined Location Id
28
- * @param {number} [options.limit] Limit
29
- * @param {number} [options.offset] Offset
30
- * @param {string} [options.from] ISO date<br>
31
- * @param {string} [options.to] ISO date<br>
32
- * @returns Array of the retrieved records
33
- */
34
25
  this.GetAll = (options = {}) => __awaiter(this, void 0, void 0, function* () {
35
26
  const { locationId, limit, offset } = options;
36
27
  try {
@@ -48,13 +39,12 @@ class FloatingCarDataModel extends models_1.SequelizeModel {
48
39
  [Op.eq]: sequelize_1.default.literal(`(select max(measurement_or_calculation_time) from ${index_1.FCD.pgSchema}.${index_1.FCD.fcd_info.pgTableName})`),
49
40
  },
50
41
  });
51
- const floatingCarDataFromDB = yield this.sequelizeModel.findAll({
42
+ return yield this.sequelizeModel.findAll({
52
43
  limit,
53
44
  offset,
54
45
  raw: true,
55
46
  where,
56
47
  });
57
- return floatingCarDataFromDB;
58
48
  }
59
49
  catch (err) {
60
50
  throw new golemio_errors_1.CustomError(`GetAll method error: ${err.message}`, true, "FloatingCarDataModel", 500, err);
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingCarDataModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/FloatingCarDataModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oFAA4D;AAC5D,6EAAuE;AACvE,qEAA0E;AAC1E,0DAAiC;AAEjC,MAAa,oBAAqB,SAAQ,uBAAc;IACpD;QACI,KAAK,CAAC,WAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE;YACvF,MAAM,EAAE,WAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;QAGP;;;;;;;;WAQG;QAEI,WAAM,GAAG,CACZ,UAII,EAAE,EACM,EAAE;YACd,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC9C,IAAI;gBACA,MAAM,EAAE,GAAG,mBAAS,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG;oBACV,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;iBACjB,CAAC;gBAEF,IAAI,UAAU,EAAE;oBACZ,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACf,mBAAmB,EAAE,UAAU;qBAClC,CAAC,CAAC;iBACN;gBAED,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACf,+BAA+B,EAAE;wBAC7B,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,mBAAS,CAAC,OAAO,CACtB,qDAAqD,WAAG,CAAC,QAAQ,IAAI,WAAG,CAAC,QAAQ,CAAC,WAAW,GAAG,CACnG;qBACJ;iBACJ,CAAC,CAAC;gBAEH,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC5D,KAAK;oBACL,MAAM;oBACN,GAAG,EAAE,IAAI;oBACT,KAAK;iBACR,CAAC,CAAC;gBAEH,OAAO,qBAAqB,CAAC;aAChC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACxG;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,GAAiC,EAAE;YAC/C,MAAM,IAAI,4BAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC;QAC3E,CAAC,CAAA,CAAC;IAvDF,CAAC;CAwDJ;AA7DD,oDA6DC"}
1
+ {"version":3,"file":"FloatingCarDataModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/FloatingCarDataModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oFAA4D;AAC5D,6EAAuE;AACvE,qEAA0E;AAC1E,0DAAiC;AAGjC,MAAa,oBAAqB,SAAQ,uBAAc;IACpD;QACI,KAAK,CAAC,WAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,EAAE,WAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE;YACrF,MAAM,EAAE,WAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;QAGA,WAAM,GAAG,CACZ,UAII,EAAE,EAC0B,EAAE;YAClC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC9C,IAAI;gBACA,MAAM,EAAE,GAAG,mBAAS,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG;oBACV,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;iBACjB,CAAC;gBAEF,IAAI,UAAU,EAAE;oBACZ,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACf,mBAAmB,EAAE,UAAU;qBAClC,CAAC,CAAC;iBACN;gBAED,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACf,+BAA+B,EAAE;wBAC7B,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,mBAAS,CAAC,OAAO,CACtB,qDAAqD,WAAG,CAAC,QAAQ,IAAI,WAAG,CAAC,QAAQ,CAAC,WAAW,GAAG,CACnG;qBACJ;iBACJ,CAAC,CAAC;gBAEH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK;oBACL,MAAM;oBACN,GAAG,EAAE,IAAI;oBACT,KAAK;iBACR,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACxG;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,GAAiC,EAAE;YAC/C,MAAM,IAAI,4BAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC;QAC3E,CAAC,CAAA,CAAC;IA3CF,CAAC;CA4CJ;AAjDD,oDAiDC"}
@@ -1,2 +1 @@
1
1
  export * from "./FloatingCarDataModel";
2
- export * from "./RsdTmcOsmMappingModel";
@@ -15,5 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./FloatingCarDataModel"), exports);
18
- __exportStar(require("./RsdTmcOsmMappingModel"), exports);
19
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-gateway/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-gateway/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
@@ -1,8 +1,8 @@
1
1
  import { IFloatingCarDataModel, IOutputApiFloatingCarData } from "../../integration-engine/transformations/FloatingCarDataInterface";
2
- import { RsdTmcOsmMappingModel } from "../models";
2
+ import { RsdTmcOsmMappingRepository } from "@golemio/traffic-common/dist/output-gateway/repositories";
3
3
  export declare class OutputFloatingCarDataTransformation {
4
4
  name: string;
5
- protected rsdTmcOsmMappingModel: RsdTmcOsmMappingModel;
6
- constructor();
5
+ protected rsdTmcOsmMappingRepository: RsdTmcOsmMappingRepository;
6
+ constructor(rsdTmcOsmMappingRepository: RsdTmcOsmMappingRepository);
7
7
  transform: (data: IFloatingCarDataModel[], isRequestedPathOsm: Boolean) => Promise<IOutputApiFloatingCarData>;
8
8
  }
@@ -15,10 +15,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.OutputFloatingCarDataTransformation = void 0;
16
16
  const _sch_1 = require("../../schema-definitions");
17
17
  const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
18
- const models_1 = require("../models");
19
18
  const getLocationPointsFromTsString_1 = require("./getLocationPointsFromTsString");
20
19
  class OutputFloatingCarDataTransformation {
21
- constructor() {
20
+ constructor(rsdTmcOsmMappingRepository) {
22
21
  this.transform = (data, isRequestedPathOsm) => __awaiter(this, void 0, void 0, function* () {
23
22
  const elaboratedData = [];
24
23
  let latestPublicationTime = data[0].measurement_or_calculation_time;
@@ -48,14 +47,15 @@ class OutputFloatingCarDataTransformation {
48
47
  itemResultObject.toPoint = item.to_point.toString();
49
48
  }
50
49
  if (isRequestedPathOsm) {
51
- itemResultObject.osmPath = yield this.rsdTmcOsmMappingModel.GetOne((0, getLocationPointsFromTsString_1.getLocationPointsFromTsString)(item.predefined_location));
50
+ const osmPath = yield this.rsdTmcOsmMappingRepository.GetOne((0, getLocationPointsFromTsString_1.getLocationPointsFromTsString)(item.predefined_location));
51
+ itemResultObject.osmPath = osmPath !== null && osmPath !== void 0 ? osmPath : null;
52
52
  }
53
53
  elaboratedData.push(itemResultObject);
54
54
  if (item.measurement_or_calculation_time > latestPublicationTime) {
55
55
  latestPublicationTime = item.measurement_or_calculation_time;
56
56
  }
57
57
  }
58
- const result = {
58
+ return {
59
59
  modelBaseVersion: "3",
60
60
  payloadPublicationLight: {
61
61
  lang: "cz",
@@ -67,11 +67,9 @@ class OutputFloatingCarDataTransformation {
67
67
  elaboratedData,
68
68
  },
69
69
  };
70
- return result;
71
70
  });
72
71
  this.name = _sch_1.FCD.fcd_info.name;
73
- this.rsdTmcOsmMappingModel = new models_1.RsdTmcOsmMappingModel();
74
- this.rsdTmcOsmMappingModel.sequelizeModel.removeAttribute("id");
72
+ this.rsdTmcOsmMappingRepository = rsdTmcOsmMappingRepository;
75
73
  }
76
74
  }
77
75
  exports.OutputFloatingCarDataTransformation = OutputFloatingCarDataTransformation;
@@ -1 +1 @@
1
- {"version":3,"file":"OutputFloatingCarDataTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/OutputFloatingCarDataTransformation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OutputFloatingCarDataTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/OutputFloatingCarDataTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mDAA2B;AAM3B,gGAA+D;AAC/D,mFAAkG;AAGlG,MAAa,mCAAmC;IAI5C,YAAY,0BAAsD;QAK3D,cAAS,GAAG,CAAO,IAA6B,EAAE,kBAA2B,EAAsC,EAAE;YACxH,MAAM,cAAc,GAA8C,EAAE,CAAC;YACrE,IAAI,qBAAqB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC;YAEpE,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACrB,MAAM,gBAAgB,GAA4C;oBAC9D,4BAA4B,EAAE,IAAA,yBAAM,EAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE;oBACvG,oBAAoB,EAAE,IAAI,CAAC,qBAAqB;oBAChD,6BAA6B,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;oBAC3D,uBAAuB,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;oBACrD,oBAAoB,EAAE,IAAI,CAAC,mBAAmB;oBAC9C,YAAY,EAAE,IAAI,CAAC,aAAa;oBAChC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE;oBAC1D,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oBACvC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE;oBACzD,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;iBACjD,CAAC;gBAEF,IAAI,IAAI,CAAC,YAAY,EAAE;oBACnB,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;iBAC/D;gBAED,IAAI,IAAI,CAAC,YAAY,EAAE;oBACnB,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;iBAC/D;gBAED,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjB,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;iBAC3D;gBAED,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACvD;gBAED,IAAI,kBAAkB,EAAE;oBACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CACxD,IAAA,6DAA6B,EAAC,IAAI,CAAC,mBAAmB,CAAC,CAC1D,CAAC;oBAEF,gBAAgB,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC;iBAC9C;gBAED,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACtC,IAAI,IAAI,CAAC,+BAA+B,GAAG,qBAAqB,EAAE;oBAC9D,qBAAqB,GAAG,IAAI,CAAC,+BAA+B,CAAC;iBAChE;aACJ;YAED,OAAO;gBACH,gBAAgB,EAAE,GAAG;gBACrB,uBAAuB,EAAE;oBACrB,IAAI,EAAE,IAAI;oBACV,eAAe,EAAE,IAAA,yBAAM,EAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE;oBAC3E,kBAAkB,EAAE;wBAChB,OAAO,EAAE,IAAI;wBACb,kBAAkB,EAAE,KAAK;qBAC5B;oBACD,cAAc;iBACjB;aACJ,CAAC;QACN,CAAC,CAAA,CAAC;QAhEE,IAAI,CAAC,IAAI,GAAG,UAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;IACjE,CAAC;CA+DJ;AAtED,kFAsEC"}
@@ -1,4 +1,2 @@
1
- export declare function getLocationPointsFromTsString(location: string): {
2
- ltStart: string;
3
- ltEnd: string;
4
- };
1
+ import { LocationConfigOptions } from "@golemio/traffic-common/dist/output-gateway";
2
+ export declare function getLocationPointsFromTsString(location: string): LocationConfigOptions;
@@ -7,8 +7,8 @@ function getLocationPointsFromTsString(location) {
7
7
  const pointsArr = location.match(regex);
8
8
  if ((pointsArr === null || pointsArr === void 0 ? void 0 : pointsArr.length) == 2 && pointsArr[0] && pointsArr[1]) {
9
9
  return {
10
- ltStart: pointsArr[1],
11
- ltEnd: pointsArr[0],
10
+ ltStart: Number(pointsArr[1]),
11
+ ltEnd: Number(pointsArr[0]),
12
12
  };
13
13
  }
14
14
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"getLocationPointsFromTsString.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/getLocationPointsFromTsString.ts"],"names":[],"mappings":";;;AAAA,6EAAuE;AAEvE,SAAgB,6BAA6B,CAAC,QAAgB;IAC1D,MAAM,KAAK,GAAG,2CAA2C,CAAC;IAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,KAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;QACxD,OAAO;YACH,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;YACrB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;SACtB,CAAC;KACL;SAAM;QACH,MAAM,IAAI,4BAAW,CAAC,gEAAgE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;KACnH;AACL,CAAC;AAXD,sEAWC"}
1
+ {"version":3,"file":"getLocationPointsFromTsString.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/getLocationPointsFromTsString.ts"],"names":[],"mappings":";;;AAAA,6EAAuE;AAGvE,SAAgB,6BAA6B,CAAC,QAAgB;IAC1D,MAAM,KAAK,GAAG,2CAA2C,CAAC;IAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,KAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;QACxD,OAAO;YACH,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC9B,CAAC;KACL;SAAM;QACH,MAAM,IAAI,4BAAW,CAAC,gEAAgE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;KACnH;AACL,CAAC;AAXD,sEAWC"}
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FCD = void 0;
4
4
  const fcd_datasource_schema_1 = require("./schemas/fcd_datasource_schema");
5
5
  const fcd_output_schema_1 = require("./schemas/fcd_output_schema");
6
- const rsd_tmc_osm_mapping_output_schema_1 = require("./schemas/rsd_tmc_osm_mapping_output_schema");
7
6
  const forExport = {
8
7
  name: "FCD",
9
8
  pgSchema: "fcd",
@@ -14,12 +13,6 @@ const forExport = {
14
13
  outputSequelizeAttributes: fcd_output_schema_1.outputFloatingCarDataSDMA,
15
14
  pgTableName: "fcd_traff_params_part",
16
15
  },
17
- rsd_tmc_osm_mapping: {
18
- name: "LtOsmMapping",
19
- outputSchema: rsd_tmc_osm_mapping_output_schema_1.outputRsdTmcOsmMappingSchema,
20
- outputSequelizeAttributes: rsd_tmc_osm_mapping_output_schema_1.outputRsdTmcOsmMappingSDMA,
21
- pgTableName: "rsd_tmc_osm_mapping",
22
- },
23
16
  };
24
17
  exports.FCD = forExport;
25
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":";;;AAAA,2EAAqF;AACrF,mEAAwG;AACxG,mGAA0H;AAE1H,MAAM,SAAS,GAAQ;IACnB,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE;QACN,IAAI,EAAE,iBAAiB;QACvB,gBAAgB,EAAE,uDAA+B;QACjD,YAAY,EAAE,+CAA2B;QACzC,yBAAyB,EAAE,6CAAyB;QACpD,WAAW,EAAE,uBAAuB;KACvC;IACD,mBAAmB,EAAE;QACjB,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,gEAA4B;QAC1C,yBAAyB,EAAE,8DAA0B;QACrD,WAAW,EAAE,qBAAqB;KACrC;CACJ,CAAC;AAEoB,wBAAG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":";;;AAAA,2EAAqF;AACrF,mEAAwG;AAExG,MAAM,SAAS,GAAQ;IACnB,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE;QACN,IAAI,EAAE,iBAAiB;QACvB,gBAAgB,EAAE,uDAA+B;QACjD,YAAY,EAAE,+CAA2B;QACzC,yBAAyB,EAAE,6CAAyB;QACpD,WAAW,EAAE,uBAAuB;KACvC;CACJ,CAAC;AAEoB,wBAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/fcd",
3
- "version": "1.1.3-dev.856055436",
3
+ "version": "1.1.3-dev.872686154",
4
4
  "description": "Golemio Floating Car Data Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -37,6 +37,7 @@
37
37
  "@commitlint/config-conventional": "^11.0.0",
38
38
  "@golemio/cli": "1.4.2",
39
39
  "@golemio/core": "1.6.8",
40
+ "@golemio/traffic-common": "0.1.0-dev.864393677",
40
41
  "@golemio/db-common": "1.1.1",
41
42
  "@golemio/eslint-config": "1.1.0",
42
43
  "@ovos-media/ts-transform-paths": "^1.7.18-1",
@@ -70,6 +71,7 @@
70
71
  "typescript": "4.7.2"
71
72
  },
72
73
  "peerDependencies": {
73
- "@golemio/core": ">=1.5.0"
74
+ "@golemio/core": ">=1.5.0",
75
+ "@golemio/traffic-common": ">=0.1.0"
74
76
  }
75
77
  }
@@ -1,13 +0,0 @@
1
- DROP TABLE IF EXISTS public.rsd_tmc_osm_mapping;
2
-
3
- CREATE TABLE public.rsd_tmc_osm_mapping (
4
- lt_start int8 NULL,
5
- lt_end int8 NULL,
6
- osm_path text NULL
7
- );
8
-
9
- INSERT INTO public.rsd_tmc_osm_mapping ("lt_start", "lt_end", "osm_path") VALUES
10
- (10123, 10125, '[1017997529, 977504768, 1994461410, 5216395185, 977504817, 340196025, 1837022967, 5919113281, 7881860424, 977504742, 7881860432, 977504743, 7881860435, 1826208722, 1837041100]');
11
-
12
- INSERT INTO public.rsd_tmc_osm_mapping ("lt_start", "lt_end", "osm_path") VALUES
13
- (19629, 10127, '[29381030, 29403193, 338604070, 29381028, 338604072, 29403192, 2681371748, 1138616634, 2681371747, 308815174, 1138624651, 29403191]');
@@ -1,16 +0,0 @@
1
- import { SequelizeModel } from "@golemio/core/dist/output-gateway/models";
2
- export interface LocationConfigOptions {
3
- ltStart: string;
4
- ltEnd: string;
5
- }
6
- export declare class RsdTmcOsmMappingModel extends SequelizeModel {
7
- constructor();
8
- /**
9
- * @param {object} [options] Options object with params
10
- * @param {string} [options.ltStart] Options object with params
11
- * @param {string} [options.ltEnd] Options object with params
12
- * @returns Array of the retrieved records
13
- */
14
- GetOne: (options: LocationConfigOptions) => Promise<any>;
15
- GetAll: () => Promise<object | null>;
16
- }
@@ -1,66 +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.RsdTmcOsmMappingModel = void 0;
16
- const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
17
- const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
18
- const models_1 = require("@golemio/core/dist/output-gateway/models");
19
- const _sch_1 = require("../../schema-definitions");
20
- class RsdTmcOsmMappingModel extends models_1.SequelizeModel {
21
- constructor() {
22
- super(_sch_1.FCD.rsd_tmc_osm_mapping.name + "Model", _sch_1.FCD.rsd_tmc_osm_mapping.pgTableName, _sch_1.FCD.rsd_tmc_osm_mapping.outputSequelizeAttributes, {
23
- schema: "public",
24
- });
25
- /**
26
- * @param {object} [options] Options object with params
27
- * @param {string} [options.ltStart] Options object with params
28
- * @param {string} [options.ltEnd] Options object with params
29
- * @returns Array of the retrieved records
30
- */
31
- this.GetOne = (options) => __awaiter(this, void 0, void 0, function* () {
32
- if (!options.ltStart || !options.ltEnd)
33
- return null;
34
- try {
35
- const Op = sequelize_1.default.Op;
36
- const where = {
37
- [Op.and]: [{}],
38
- };
39
- where[Op.and].push({
40
- lt_start: Number(options.ltStart),
41
- });
42
- where[Op.and].push({
43
- lt_end: Number(options.ltEnd),
44
- });
45
- const rsdTmcOsmMappingFromDB = yield this.sequelizeModel.findOne({
46
- raw: true,
47
- where,
48
- });
49
- try {
50
- return JSON.parse(rsdTmcOsmMappingFromDB === null || rsdTmcOsmMappingFromDB === void 0 ? void 0 : rsdTmcOsmMappingFromDB.osm_path);
51
- }
52
- catch (e) {
53
- return null;
54
- }
55
- }
56
- catch (err) {
57
- throw new golemio_errors_1.CustomError(`GetOne method error: ${err.message}`, true, "RsdTmcOsmMappingModel", 500, err);
58
- }
59
- });
60
- this.GetAll = () => __awaiter(this, void 0, void 0, function* () {
61
- throw new golemio_errors_1.CustomError("Not implemented", true, "RsdTmcOsmMappingModel");
62
- });
63
- }
64
- }
65
- exports.RsdTmcOsmMappingModel = RsdTmcOsmMappingModel;
66
- //# sourceMappingURL=RsdTmcOsmMappingModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RsdTmcOsmMappingModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/RsdTmcOsmMappingModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oFAA4D;AAC5D,6EAAuE;AACvE,qEAA0E;AAC1E,mDAA2B;AAO3B,MAAa,qBAAsB,SAAQ,uBAAc;IACrD;QACI,KAAK,CACD,UAAG,CAAC,mBAAmB,CAAC,IAAI,GAAG,OAAO,EACtC,UAAG,CAAC,mBAAmB,CAAC,WAAW,EACnC,UAAG,CAAC,mBAAmB,CAAC,yBAAyB,EACjD;YACI,MAAM,EAAE,QAAQ;SACnB,CACJ,CAAC;QAGN;;;;;WAKG;QAEI,WAAM,GAAG,CAAO,OAA8B,EAAgB,EAAE;YACnE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAEpD,IAAI;gBACA,MAAM,EAAE,GAAG,mBAAS,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG;oBACV,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;iBACjB,CAAC;gBAEF,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;iBACpC,CAAC,CAAC;gBAEH,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACf,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;iBAChC,CAAC,CAAC;gBAEH,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC7D,GAAG,EAAE,IAAI;oBACT,KAAK;iBACR,CAAC,CAAC;gBAEH,IAAI;oBACA,OAAO,IAAI,CAAC,KAAK,CAAC,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,QAAQ,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,IAAI,CAAC;iBACf;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACzG;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,GAAiC,EAAE;YAC/C,MAAM,IAAI,4BAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAC5E,CAAC,CAAA,CAAC;IA3CF,CAAC;CA4CJ;AAtDD,sDAsDC"}
@@ -1,18 +0,0 @@
1
- import Sequelize from "@golemio/core/dist/shared/sequelize";
2
- export declare const outputRsdTmcOsmMappingSDMA: Sequelize.ModelAttributes<any>;
3
- export declare const outputRsdTmcOsmMappingSchema: {
4
- type: string;
5
- required: string[];
6
- additionalProperties: boolean;
7
- properties: {
8
- lt_start: {
9
- type: string;
10
- };
11
- lt_end: {
12
- type: string;
13
- };
14
- osm_path: {
15
- type: string;
16
- };
17
- };
18
- };
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.outputRsdTmcOsmMappingSchema = exports.outputRsdTmcOsmMappingSDMA = void 0;
7
- const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
8
- // outputSequelizeAttributes
9
- exports.outputRsdTmcOsmMappingSDMA = {
10
- lt_start: { type: sequelize_1.default.INTEGER },
11
- lt_end: { type: sequelize_1.default.INTEGER },
12
- osm_path: {
13
- type: sequelize_1.default.STRING,
14
- },
15
- };
16
- exports.outputRsdTmcOsmMappingSchema = {
17
- type: "object",
18
- required: ["lt_start", "lt_end", "osm_path"],
19
- additionalProperties: false,
20
- properties: {
21
- lt_start: { type: "number" },
22
- lt_end: { type: "number" },
23
- osm_path: { type: "string" },
24
- },
25
- };
26
- //# sourceMappingURL=rsd_tmc_osm_mapping_output_schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rsd_tmc_osm_mapping_output_schema.js","sourceRoot":"","sources":["../../../src/schema-definitions/schemas/rsd_tmc_osm_mapping_output_schema.ts"],"names":[],"mappings":";;;;;;AAAA,oFAA4D;AAE5D,4BAA4B;AACf,QAAA,0BAA0B,GAAmC;IACtE,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAS,CAAC,OAAO,EAAE;IACrC,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAS,CAAC,OAAO,EAAE;IACnC,QAAQ,EAAE;QACN,IAAI,EAAE,mBAAS,CAAC,MAAM;KACzB;CACJ,CAAC;AAEW,QAAA,4BAA4B,GAAG;IACxC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;IAC5C,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC/B;CACJ,CAAC"}