@golemio/ndic 1.1.3 → 1.1.4-dev.869103701

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 (32) hide show
  1. package/db/example/01_reset3rdParty.sql +0 -9
  2. package/db/example/02_sql_dump.sql +0 -8
  3. package/dist/input-gateway/AbstractTrafficRestrictionsController.d.ts +7 -0
  4. package/dist/input-gateway/{TrafficRestrictionsController.js → AbstractTrafficRestrictionsController.js} +8 -9
  5. package/dist/input-gateway/AbstractTrafficRestrictionsController.js.map +1 -0
  6. package/dist/input-gateway/NdicRouter.js +21 -9
  7. package/dist/input-gateway/NdicRouter.js.map +1 -1
  8. package/dist/input-gateway/TrafficRestrictionsPragueController.d.ts +5 -0
  9. package/dist/input-gateway/TrafficRestrictionsPragueController.js +14 -0
  10. package/dist/input-gateway/TrafficRestrictionsPragueController.js.map +1 -0
  11. package/dist/input-gateway/TrafficRestrictionsRegionsController.d.ts +5 -0
  12. package/dist/input-gateway/TrafficRestrictionsRegionsController.js +14 -0
  13. package/dist/input-gateway/TrafficRestrictionsRegionsController.js.map +1 -0
  14. package/dist/integration-engine/transformations/TrafficRestrictionsInterface.d.ts +1 -1
  15. package/dist/output-gateway/TrafficRouter.d.ts +2 -1
  16. package/dist/output-gateway/TrafficRouter.js +5 -4
  17. package/dist/output-gateway/TrafficRouter.js.map +1 -1
  18. package/dist/output-gateway/models/index.d.ts +0 -1
  19. package/dist/output-gateway/models/index.js +0 -1
  20. package/dist/output-gateway/models/index.js.map +1 -1
  21. package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.d.ts +4 -3
  22. package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.js +13 -11
  23. package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.js.map +1 -1
  24. package/dist/schema-definitions/index.js +0 -7
  25. package/dist/schema-definitions/index.js.map +1 -1
  26. package/docs/implementation_documentation.md +5 -0
  27. package/package.json +4 -2
  28. package/dist/input-gateway/TrafficRestrictionsController.d.ts +0 -5
  29. package/dist/input-gateway/TrafficRestrictionsController.js.map +0 -1
  30. package/dist/output-gateway/models/RsdTmcOsmMappingModel.d.ts +0 -17
  31. package/dist/output-gateway/models/RsdTmcOsmMappingModel.js +0 -71
  32. package/dist/output-gateway/models/RsdTmcOsmMappingModel.js.map +0 -1
@@ -1,12 +1,3 @@
1
- drop table if exists public.rsd_tmc_osm_mapping;
2
- CREATE TABLE public.rsd_tmc_osm_mapping (
3
- lt_start int8 NULL,
4
- lt_end int8 NULL,
5
- osm_path text NULL
6
- );
7
- CREATE INDEX rsd_tmc_osm_mapping_idx ON public.rsd_tmc_osm_mapping USING btree (lt_start, lt_end);
8
-
9
-
10
1
  -- Drop table
11
2
 
12
3
  DROP TABLE if exists public.rsd_tmc_points;
@@ -9,11 +9,3 @@ VALUES('{"supplierIdentification":{"country":"cz","nationalIdentifier":"DIC"}}':
9
9
  INSERT INTO ndic_traffic_restrictions
10
10
  (exchange, publication_time, publication_creator, situation_id, situation_version, situation_version_time, situation_confidentiality, situation_information_status, situation_urgency, situation_record_version, situation_record_type, situation_record_id, situation_record_creation_time, situation_record_version_time, probability_of_occurrence, "source", validity_status, validity_overall_start_time, validity_overall_end_time, impact_capacity_remaining, impact_number_of_lanes_restricted, impact_number_of_operational_lanes, impact_original_number_of_lanes, impact_traffic_constriction_type, impact_delays_type, impact_delay_time_value, cause, general_public_comment, group_of_locations_type, supplementary_positional_description, destination, alert_c_linear, linear_within_linear_element, global_network_linear, linear_extension, geom_gn_line, geom_openlr_line, situation_record_extension, number_of_obstructions, mobility_of_obstruction, compliance_option, applicable_for_traffic_direction, applicable_for_traffic_type, places_at_which_applicable, for_vehicles_with_characteristics_of, roadworks_duration, roadworks_scale, under_traffic, urgent_roadworks, mobility, subjects, maintenance_vehicles, abnormal_traffic_type, accident_type, group_of_vehicles_involved, car_park_identity, car_park_occupancy, number_of_vacant_parking_spaces, driving_condition_type, construction_work_type, disturbance_activity_type, environmental_obstruction_type, general_instruction_to_road_users_type, general_message_to_road_users, general_network_management_type, traffic_manually_directed_by, infrastructure_damage_type, road_maintenance_type, non_weather_related_road_condition_type, poor_environment_type, public_event_type, rerouting_management_type, rerouting_itinerary_description, signed_rerouting, entry, "exit", road_or_junction_number, road_or_carriageway_or_lane_management_type, minimum_car_occupancy, roadside_assistance_type, speed_management_type, temporary_speed_limit, vehicle_obstruction_type, obstructing_vehicle, winter_equipment_management_type, create_batch_id, created_at, created_by, update_batch_id, updated_at, updated_by, geom_alert_c_line, alert_c_direction)
11
11
  VALUES('{"supplierIdentification":{"country":"cz","nationalIdentifier":"DIC"}}'::json, '2021-06-21 09:53:37.000', '{"country":"cz","nationalIdentifier":"NDIC"}'::json, 'd5321261-0cf1-47ae-a1d6-39cb8aab3874', '6', '2021-06-21 09:52:49.000', 'noRestriction', 'real', 'urgent', '6', 'MaintenanceWorks', 'd5321261-0cf1-47ae-a1d6-39cb8aab3874_MaintenanceWorks', '2021-06-21 09:53:27.000', '2021-06-21 09:52:49.000', 'certain', '{"sourceIdentification":"RSD","sourceName":{"values":{"value":{"$":{"lang":"cs"}}}}}', 'definedByValidityTimeSpec', '2021-06-21 07:15:00.000', '2021-06-24 09:53:27.000', NULL, 1, 2, 2, NULL, NULL, NULL, NULL, '{"comment":{"values":{"value":{"_":"D1, mezi km 52 a 49, ve směru Praha, práce na silnici, zpevněná krajnice uzavřena, Od 21.06.2021 07:15 Do 21.06.2021 17:00, Sečení trávy strojně., sekání trávy a údržba travních porostů, pracovní místo DM - Krátkodobé pohyblivé (mobilní), zdroj: ŘSD","$":{"lang":"cs"}}}}}', 'Linear', '{"affectedCarriagewayAndLanes":{"carriageway":"mainCarriageway","lane":["hardShoulder","hardShoulder"]}}'::json, NULL, '{"$":{"xsi:type":"AlertCMethod2Linear"},"alertCLocationCountryCode":"CZ","alertCLocationTableNumber":"25","alertCLocationTableVersion":"8.0","alertCDirection":{"alertCDirectionCoded":"negative"},"alertCMethod2PrimaryPointLocation":{"alertCLocation":{"specificLocation":"1279"}},"alertCMethod2SecondaryPointLocation":{"alertCLocation":{"specificLocation":"25540"}}}'::json, '{"directionRelativeOnLinearSection":"opposite","linearElement":{"roadNumber":"D1"},"fromPoint":{"$":{"xsi:type":"DistanceFromLinearElementStart"},"distanceAlong":"52000"},"toPoint":{"$":{"xsi:type":"DistanceFromLinearElementStart"},"distanceAlong":"48999"}}'::json, '{"networkVersion":{"values":{"value":{"_":"20.12","$":{"lang":"cs"}}}},"linearGeometryType":"continuous","startPoint":{"sjtskPointCoordinates":{"sjtskX":"-705367.665475001","sjtskY":"-1085484.320675"}},"endPoint":{"sjtskPointCoordinates":{"sjtskX":"-708220.292120583","sjtskY":"-1085240.94330743"}},"linearWithinLinearGNElement":[{"sectionId":"716168","directionRelativeOnLinearSection":"aligned","orderOfSection":"0","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0.25"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"3731284","directionRelativeOnLinearSection":"aligned","orderOfSection":"1","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"3731283","directionRelativeOnLinearSection":"aligned","orderOfSection":"2","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"3776298","directionRelativeOnLinearSection":"aligned","orderOfSection":"3","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"3737940","directionRelativeOnLinearSection":"aligned","orderOfSection":"4","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"3709908","directionRelativeOnLinearSection":"aligned","orderOfSection":"5","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"3709909","directionRelativeOnLinearSection":"aligned","orderOfSection":"6","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"3663080","directionRelativeOnLinearSection":"aligned","orderOfSection":"7","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"1358023","directionRelativeOnLinearSection":"aligned","orderOfSection":"8","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"3663072","directionRelativeOnLinearSection":"aligned","orderOfSection":"9","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"3721196","directionRelativeOnLinearSection":"aligned","orderOfSection":"10","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"3721193","directionRelativeOnLinearSection":"aligned","orderOfSection":"11","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"1"}},{"sectionId":"3513651","directionRelativeOnLinearSection":"aligned","orderOfSection":"12","fromPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0"},"toPoint":{"$":{"xsi:type":"PercentageDistanceAlongLinearElement"},"percentageDistanceAlong":"0.801408450704281"}}]}'::json, '{"openlrExtendedLinear":{"firstDirection":{"openlrLocationReferencePoint":{"openlrCoordinate":{"latitude":"49.751823499059107","longitude":"15.024250722599788"},"openlrLineAttributes":{"openlrFunctionalRoadClass":"FRC0","openlrFormOfWay":"motorway","openlrBearing":"304"},"openlrPathAttributes":{"openlrLowestFRCToNextLRPoint":"FRC0","openlrDistanceToNextLRPoint":"3918"}},"openlrLastLocationReferencePoint":{"openlrCoordinate":{"latitude":"49.754080738289225","longitude":"14.973070308369639"},"openlrLineAttributes":{"openlrFunctionalRoadClass":"FRC0","openlrFormOfWay":"motorway","openlrBearing":"128"}},"openlrOffsets":{"openlrPositiveOffset":"606","openlrNegativeOffset":"321"}}}}'::json, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'roadworks', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2021-06-21 09:53:37.380', NULL, NULL, '2021-06-21 09:53:37.380', NULL, NULL, NULL);
12
-
13
- -- TO DO Add data for rsd_tmc_osm_mapping
14
- INSERT INTO public.rsd_tmc_osm_mapping
15
- (lt_start, lt_end, osm_path)
16
- VALUES(1279, 25540, '[74256918, 191823166, 191823171, 74269338, 262869174, 189021819, 189021825, 74177021, 189021808, 191834725, 189021814, 189021813, 191834765, 191823161, 5506226185, 191823018, 74084348, 74282499, 1600950538, 156250951, 1600950600, 156250948, 1600950646, 74177697, 74238396, 74244807, 156250944, 156250941, 976485311, 74153579, 156250937, 156250932, 74168337, 74279965, 151003135]');
17
- INSERT INTO public.rsd_tmc_osm_mapping
18
- (lt_start, lt_end, osm_path)
19
- VALUES(25631, 25632, '[156250932, 156250937, 74153579, 976485311]');
@@ -0,0 +1,7 @@
1
+ import { BaseController } from "@golemio/core/dist/input-gateway";
2
+ import { IValidator } from "@golemio/core/dist/shared/golemio-validator";
3
+ export declare abstract class AbstractTrafficRestrictionsController extends BaseController {
4
+ protected abstract saveQueueKey: string;
5
+ constructor(validator: IValidator);
6
+ processData: (data: any) => Promise<void>;
7
+ }
@@ -9,18 +9,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TrafficRestrictionsController = void 0;
12
+ exports.AbstractTrafficRestrictionsController = void 0;
13
+ const _sch_1 = require("../schema-definitions");
13
14
  const input_gateway_1 = require("@golemio/core/dist/input-gateway");
14
- const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
15
15
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
16
- const _sch_1 = require("../schema-definitions");
17
- class TrafficRestrictionsController extends input_gateway_1.BaseController {
18
- constructor() {
19
- super(_sch_1.Ndic.name, new golemio_validator_1.JSONSchemaValidator(_sch_1.Ndic.traffic_restrictions.name, _sch_1.Ndic.traffic_restrictions.datasourceSchema));
16
+ class AbstractTrafficRestrictionsController extends input_gateway_1.BaseController {
17
+ constructor(validator) {
18
+ super(_sch_1.Ndic.name, validator);
20
19
  this.processData = (data) => __awaiter(this, void 0, void 0, function* () {
21
20
  try {
22
21
  yield this.validator.Validate(data);
23
- yield this.sendMessageToExchange("input." + this.queuePrefix + ".saveTrafficRestrictions", JSON.stringify(data.d2LogicalModel), {
22
+ yield this.sendMessageToExchange("input." + this.queuePrefix + "." + this.saveQueueKey, JSON.stringify(data.d2LogicalModel), {
24
23
  persistent: true,
25
24
  });
26
25
  }
@@ -35,5 +34,5 @@ class TrafficRestrictionsController extends input_gateway_1.BaseController {
35
34
  });
36
35
  }
37
36
  }
38
- exports.TrafficRestrictionsController = TrafficRestrictionsController;
39
- //# sourceMappingURL=TrafficRestrictionsController.js.map
37
+ exports.AbstractTrafficRestrictionsController = AbstractTrafficRestrictionsController;
38
+ //# sourceMappingURL=AbstractTrafficRestrictionsController.js.map
@@ -0,0 +1 @@
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"}
@@ -11,14 +11,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ndicRouter = void 0;
13
13
  const TrafficInfoController_1 = require("./TrafficInfoController");
14
- const TrafficRestrictionsController_1 = require("./TrafficRestrictionsController");
14
+ const TrafficRestrictionsPragueController_1 = require("./TrafficRestrictionsPragueController");
15
+ const LoggerEmitter_1 = require("@golemio/core/dist/helpers/logger/LoggerEmitter");
15
16
  const helpers_1 = require("@golemio/core/dist/input-gateway/helpers");
17
+ const ioc_1 = require("@golemio/core/dist/input-gateway/ioc");
16
18
  const express_1 = require("@golemio/core/dist/shared/express");
19
+ const TrafficRestrictionsRegionsController_1 = require("./TrafficRestrictionsRegionsController");
17
20
  class NdicRouter {
18
21
  constructor() {
22
+ this.router = (0, express_1.Router)();
23
+ this.trafficInfoController = new TrafficInfoController_1.TrafficInfoController();
24
+ this.trafficRestrictionsPragueController = new TrafficRestrictionsPragueController_1.TrafficRestrictionsPragueController();
25
+ this.trafficRestrictionsRegionsController = new TrafficRestrictionsRegionsController_1.TrafficRestrictionsRegionsController();
19
26
  this.initRoutes = () => {
20
27
  this.router.post("/traffic-info", (0, helpers_1.checkContentTypeMiddleware)(["text/xml", "application/xml"]), this.trafficInfo);
21
- this.router.post("/traffic-restrictions", (0, helpers_1.checkContentTypeMiddleware)(["text/xml", "application/xml"]), this.trafficRestriction);
28
+ this.router.post("/traffic-restrictions", (0, helpers_1.checkContentTypeMiddleware)(["text/xml", "application/xml"]), this.trafficRestrictionPrague);
29
+ this.router.post("/traffic-restrictions-regions", (0, helpers_1.checkContentTypeMiddleware)(["text/xml", "application/xml"]), this.trafficRestrictionRegions);
22
30
  };
23
31
  this.trafficInfo = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
24
32
  try {
@@ -28,31 +36,35 @@ class NdicRouter {
28
36
  numberOfRecords,
29
37
  req,
30
38
  };
31
- helpers_1.loggerEvents.emit(helpers_1.LoggerEventType.NumberOfRecords, metrics);
39
+ this.loggerEmitter.emit(LoggerEmitter_1.LoggerEventType.NumberOfRecords, metrics);
32
40
  res.sendStatus(204);
33
41
  }
34
42
  catch (err) {
35
43
  next(err);
36
44
  }
37
45
  });
38
- this.trafficRestriction = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
46
+ this.trafficRestrictionPrague = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
47
+ yield this.trafficRestriction(this.trafficRestrictionsPragueController, req, res, next);
48
+ });
49
+ this.trafficRestrictionRegions = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
50
+ yield this.trafficRestriction(this.trafficRestrictionsRegionsController, req, res, next);
51
+ });
52
+ this.trafficRestriction = (controller, req, res, next) => __awaiter(this, void 0, void 0, function* () {
39
53
  try {
40
- yield this.trafficRestrictionsController.processData(req.body);
54
+ yield controller.processData(req.body);
41
55
  const numberOfRecords = (JSON.stringify(req.body.d2LogicalModel.payloadPublication.situation || {}).match(/situationRecord/g) || []).length;
42
56
  const metrics = {
43
57
  numberOfRecords,
44
58
  req,
45
59
  };
46
- helpers_1.loggerEvents.emit(helpers_1.LoggerEventType.NumberOfRecords, metrics);
60
+ this.loggerEmitter.emit(LoggerEmitter_1.LoggerEventType.NumberOfRecords, metrics);
47
61
  res.sendStatus(204);
48
62
  }
49
63
  catch (err) {
50
64
  next(err);
51
65
  }
52
66
  });
53
- this.router = (0, express_1.Router)();
54
- this.trafficInfoController = new TrafficInfoController_1.TrafficInfoController();
55
- this.trafficRestrictionsController = new TrafficRestrictionsController_1.TrafficRestrictionsController();
67
+ this.loggerEmitter = ioc_1.InputGatewayContainer.resolve(ioc_1.ContainerToken.LoggerEmitter);
56
68
  this.initRoutes();
57
69
  }
58
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NdicRouter.js","sourceRoot":"","sources":["../../src/input-gateway/NdicRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mEAAkE;AAClE,mFAAkF;AAElF,sEAAqH;AACrH,+DAA4F;AAE5F,MAAM,UAAU;IAKZ;QAOQ,eAAU,GAAG,GAAS,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,IAAA,oCAA0B,EAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACjH,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,uBAAuB,EACvB,IAAA,oCAA0B,EAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAC3D,IAAI,CAAC,kBAAkB,CAC1B,CAAC;QACN,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAC3F,IAAI;gBACA,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEvD,MAAM,eAAe,GAAG,CACpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAC7G,CAAC,MAAM,CAAC;gBAET,MAAM,OAAO,GAA6B;oBACtC,eAAe;oBACf,GAAG;iBACN,CAAC;gBACF,sBAAY,CAAC,IAAI,CAAC,yBAAe,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAE5D,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QAEM,uBAAkB,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAClG,IAAI;gBACA,MAAM,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAE/D,MAAM,eAAe,GAAG,CACpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAC7G,CAAC,MAAM,CAAC;gBAET,MAAM,OAAO,GAA6B;oBACtC,eAAe;oBACf,GAAG;iBACN,CAAC;gBACF,sBAAY,CAAC,IAAI,CAAC,yBAAe,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAE5D,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QArDE,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,qBAAqB,GAAG,IAAI,6CAAqB,EAAE,CAAC;QACzD,IAAI,CAAC,6BAA6B,GAAG,IAAI,6DAA6B,EAAE,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CAkDJ;AAED,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC,MAAM,CAAC;AAElC,gCAAU"}
1
+ {"version":3,"file":"NdicRouter.js","sourceRoot":"","sources":["../../src/input-gateway/NdicRouter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { AbstractTrafficRestrictionsController } from "./AbstractTrafficRestrictionsController";
2
+ export declare class TrafficRestrictionsPragueController extends AbstractTrafficRestrictionsController {
3
+ protected saveQueueKey: string;
4
+ constructor();
5
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrafficRestrictionsPragueController = void 0;
4
+ const _sch_1 = require("../schema-definitions");
5
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
6
+ const AbstractTrafficRestrictionsController_1 = require("./AbstractTrafficRestrictionsController");
7
+ class TrafficRestrictionsPragueController extends AbstractTrafficRestrictionsController_1.AbstractTrafficRestrictionsController {
8
+ constructor() {
9
+ super(new golemio_validator_1.JSONSchemaValidator("NdicTrafficRestrictionsPragueValidator", _sch_1.Ndic.traffic_restrictions.datasourceSchema));
10
+ this.saveQueueKey = "saveTrafficRestrictions";
11
+ }
12
+ }
13
+ exports.TrafficRestrictionsPragueController = TrafficRestrictionsPragueController;
14
+ //# sourceMappingURL=TrafficRestrictionsPragueController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrafficRestrictionsPragueController.js","sourceRoot":"","sources":["../../src/input-gateway/TrafficRestrictionsPragueController.ts"],"names":[],"mappings":";;;AAAA,gDAA4B;AAC5B,mFAAkF;AAClF,mGAAgG;AAEhG,MAAa,mCAAoC,SAAQ,6EAAqC;IAG1F;QACI,KAAK,CAAC,IAAI,uCAAmB,CAAC,wCAAwC,EAAE,WAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAH/G,iBAAY,GAAG,yBAAyB,CAAC;IAInD,CAAC;CACJ;AAND,kFAMC"}
@@ -0,0 +1,5 @@
1
+ import { AbstractTrafficRestrictionsController } from "./AbstractTrafficRestrictionsController";
2
+ export declare class TrafficRestrictionsRegionsController extends AbstractTrafficRestrictionsController {
3
+ protected saveQueueKey: string;
4
+ constructor();
5
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrafficRestrictionsRegionsController = void 0;
4
+ const _sch_1 = require("../schema-definitions");
5
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
6
+ const AbstractTrafficRestrictionsController_1 = require("./AbstractTrafficRestrictionsController");
7
+ class TrafficRestrictionsRegionsController extends AbstractTrafficRestrictionsController_1.AbstractTrafficRestrictionsController {
8
+ constructor() {
9
+ super(new golemio_validator_1.JSONSchemaValidator("NdicTrafficRestrictionsRegionsValidator", _sch_1.Ndic.traffic_restrictions.datasourceSchema));
10
+ this.saveQueueKey = "saveTrafficRestrictionsRegions";
11
+ }
12
+ }
13
+ exports.TrafficRestrictionsRegionsController = TrafficRestrictionsRegionsController;
14
+ //# sourceMappingURL=TrafficRestrictionsRegionsController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrafficRestrictionsRegionsController.js","sourceRoot":"","sources":["../../src/input-gateway/TrafficRestrictionsRegionsController.ts"],"names":[],"mappings":";;;AAAA,gDAA4B;AAC5B,mFAAkF;AAClF,mGAAgG;AAEhG,MAAa,oCAAqC,SAAQ,6EAAqC;IAG3F;QACI,KAAK,CAAC,IAAI,uCAAmB,CAAC,yCAAyC,EAAE,WAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAHhH,iBAAY,GAAG,gCAAgC,CAAC;IAI1D,CAAC;CACJ;AAND,oFAMC"}
@@ -133,7 +133,7 @@ export interface IOutputApiSituationRecord {
133
133
  };
134
134
  };
135
135
  };
136
- osmPath: Record<string, any>;
136
+ osmPath?: number[];
137
137
  }
138
138
  export declare enum OutputApiSituationRecordType {
139
139
  ConstructionWorks = "CONSTRUCTION_WORKS",
@@ -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 { TrafficRestrictionsModel } from "./models";
5
+ import { OutputTrafficRestrictionsTransformation } from "./transformations/OutputTrafficRestrictionsTransformation";
5
6
  export declare class TrafficRouter extends BaseRouter {
6
7
  protected trafficRestrictionsModel: TrafficRestrictionsModel;
7
8
  private outputTrafficRestrictionsTransformation;
8
- constructor();
9
+ constructor(trafficRestrictionsModel: TrafficRestrictionsModel, outputTrafficRestrictionsTransformation: OutputTrafficRestrictionsTransformation);
9
10
  GetTrafficRestrictions: (req: Request, res: Response, next: NextFunction) => Promise<void>;
10
11
  }
11
12
  declare const trafficRouter: 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 OutputTrafficRestrictionsTransformation_1 = require("./transformations/OutputTrafficRestrictionsTransformation");
20
+ const output_gateway_1 = require("@golemio/traffic-common/dist/output-gateway");
20
21
  class TrafficRouter extends BaseRouter_1.BaseRouter {
21
- constructor() {
22
+ constructor(trafficRestrictionsModel, outputTrafficRestrictionsTransformation) {
22
23
  super();
24
+ this.trafficRestrictionsModel = trafficRestrictionsModel;
25
+ this.outputTrafficRestrictionsTransformation = outputTrafficRestrictionsTransformation;
23
26
  this.GetTrafficRestrictions = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
24
27
  try {
25
28
  const dataFromDb = yield this.trafficRestrictionsModel.GetAll({
@@ -38,12 +41,10 @@ class TrafficRouter extends BaseRouter_1.BaseRouter {
38
41
  next(err);
39
42
  }
40
43
  });
41
- this.trafficRestrictionsModel = new models_1.TrafficRestrictionsModel();
42
- this.outputTrafficRestrictionsTransformation = new OutputTrafficRestrictionsTransformation_1.OutputTrafficRestrictionsTransformation();
43
44
  this.router.get("/restrictions", [(0, express_validator_1.query)("moment").optional().isISO8601(), (0, express_validator_1.query)("situationRecordType").optional().isString()], Validation_1.pagination, Validation_1.checkErrors, (0, Validation_1.paginationLimitMiddleware)("TrafficRouter"), (0, redis_1.useCacheMiddleware)(), this.GetTrafficRestrictions);
44
45
  }
45
46
  }
46
47
  exports.TrafficRouter = TrafficRouter;
47
- const trafficRouter = new TrafficRouter().router;
48
+ const trafficRouter = new TrafficRouter(new models_1.TrafficRestrictionsModel(), new OutputTrafficRestrictionsTransformation_1.OutputTrafficRestrictionsTransformation(new output_gateway_1.RsdTmcOsmMappingRepository())).router;
48
49
  exports.trafficRouter = trafficRouter;
49
50
  //# sourceMappingURL=TrafficRouter.js.map
@@ -1 +1 @@
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;AAEtH,MAAa,aAAc,SAAQ,uBAAU;IAIzC;QACI,KAAK,EAAE,CAAC;QAeL,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;QA9BE,IAAI,CAAC,wBAAwB,GAAG,IAAI,iCAAwB,EAAE,CAAC;QAC/D,IAAI,CAAC,uCAAuC,GAAG,IAAI,iFAAuC,EAAE,CAAC;QAE7F,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;AArCD,sCAqCC;AAED,MAAM,aAAa,GAAW,IAAI,aAAa,EAAE,CAAC,MAAM,CAAC;AAEhD,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"}
@@ -1,2 +1 @@
1
1
  export * from "./TrafficRestrictionsModel";
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("./TrafficRestrictionsModel"), 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,6DAA2C;AAC3C,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-gateway/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C"}
@@ -1,9 +1,9 @@
1
1
  import { ITrafficRestrictionsModel, IOutputApiRestrictions, OutputApiSituationRecordType } from "../../integration-engine/transformations/TrafficRestrictionsInterface";
2
- import { RsdTmcOsmMappingModel } from "../models";
2
+ import { RsdTmcOsmMappingRepository } from "@golemio/traffic-common/dist/output-gateway";
3
3
  export declare class OutputTrafficRestrictionsTransformation {
4
4
  name: string;
5
- protected rsdTmcOsmMappingModel: RsdTmcOsmMappingModel;
6
- constructor();
5
+ protected rsdTmcOsmMappingRepository: RsdTmcOsmMappingRepository;
6
+ constructor(rsdTmcOsmMappingRepository: RsdTmcOsmMappingRepository);
7
7
  transform: (data: ITrafficRestrictionsModel[]) => Promise<IOutputApiRestrictions>;
8
8
  private transformSituationsArr;
9
9
  private transformRecordsArr;
@@ -11,4 +11,5 @@ export declare class OutputTrafficRestrictionsTransformation {
11
11
  private generalPublicCommentParsing;
12
12
  private sourceNameParsing;
13
13
  private groupByOneProperty;
14
+ private getRsdTmcOsmMapping;
14
15
  }
@@ -16,10 +16,9 @@ exports.OutputTrafficRestrictionsTransformation = void 0;
16
16
  const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
17
17
  const _sch_1 = require("../../schema-definitions");
18
18
  const TrafficRestrictionsInterface_1 = require("../../integration-engine/transformations/TrafficRestrictionsInterface");
19
- const models_1 = require("../models");
20
19
  const ParserHelper_1 = require("../../integration-engine/transformations/ParserHelper");
21
20
  class OutputTrafficRestrictionsTransformation {
22
- constructor() {
21
+ constructor(rsdTmcOsmMappingRepository) {
23
22
  this.transform = (data) => __awaiter(this, void 0, void 0, function* () {
24
23
  // Format needed: "publicationTime": "2022-03-31T14:12:11+02:00",
25
24
  const publicationTime = data.reduce((acc, curr) => acc.publication_time > curr.publication_time ? acc : curr).publication_time;
@@ -45,8 +44,7 @@ class OutputTrafficRestrictionsTransformation {
45
44
  return previous;
46
45
  }, {});
47
46
  this.name = _sch_1.Ndic.traffic_restrictions.name;
48
- this.rsdTmcOsmMappingModel = new models_1.RsdTmcOsmMappingModel();
49
- this.rsdTmcOsmMappingModel.sequelizeModel.removeAttribute("id");
47
+ this.rsdTmcOsmMappingRepository = rsdTmcOsmMappingRepository;
50
48
  }
51
49
  transformSituationsArr(dataFromDbArr) {
52
50
  return __awaiter(this, void 0, void 0, function* () {
@@ -84,18 +82,13 @@ class OutputTrafficRestrictionsTransformation {
84
82
  });
85
83
  }
86
84
  transformRecordsArr(oneSituationArr) {
87
- var _a, _b, _c, _d, _e, _f, _g, _h;
85
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
88
86
  return __awaiter(this, void 0, void 0, function* () {
89
87
  const resultRecordsArr = [];
90
88
  for (const record of oneSituationArr) {
91
89
  const ltStart = ((_a = record.alert_c_linear) === null || _a === void 0 ? void 0 : _a.alertCMethod2PrimaryPointLocation.alertCLocation.specificLocation) || null;
92
90
  const ltEnd = ((_b = record.alert_c_linear) === null || _b === void 0 ? void 0 : _b.alertCMethod2SecondaryPointLocation.alertCLocation.specificLocation) || null;
93
91
  const ltDirection = (_c = record.alert_c_linear) === null || _c === void 0 ? void 0 : _c.alertCDirection.alertCDirectionCoded;
94
- const rsdTmcOsmMappingModelOptions = {
95
- ltStart,
96
- ltEnd,
97
- ltDirection,
98
- };
99
92
  resultRecordsArr.push({
100
93
  id: record.situation_record_id,
101
94
  situationRecordCreationTime: (0, moment_timezone_1.default)(record.situation_record_creation_time).tz("Europe/Prague").format(),
@@ -134,7 +127,7 @@ class OutputTrafficRestrictionsTransformation {
134
127
  },
135
128
  },
136
129
  },
137
- osmPath: yield this.rsdTmcOsmMappingModel.GetOne(rsdTmcOsmMappingModelOptions),
130
+ osmPath: (_j = (yield this.getRsdTmcOsmMapping(Number(ltStart), Number(ltEnd), ltDirection))) !== null && _j !== void 0 ? _j : undefined,
138
131
  });
139
132
  }
140
133
  return resultRecordsArr;
@@ -189,6 +182,15 @@ class OutputTrafficRestrictionsTransformation {
189
182
  }
190
183
  return source;
191
184
  }
185
+ getRsdTmcOsmMapping(ltStart, ltEnd, ltDirection) {
186
+ return __awaiter(this, void 0, void 0, function* () {
187
+ const osmPath = yield this.rsdTmcOsmMappingRepository.GetOne({ ltStart, ltEnd });
188
+ if (Array.isArray(osmPath) && ltDirection === "negative") {
189
+ return osmPath.reverse();
190
+ }
191
+ return osmPath;
192
+ });
193
+ }
192
194
  }
193
195
  exports.OutputTrafficRestrictionsTransformation = OutputTrafficRestrictionsTransformation;
194
196
  //# sourceMappingURL=OutputTrafficRestrictionsTransformation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OutputTrafficRestrictionsTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/OutputTrafficRestrictionsTransformation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OutputTrafficRestrictionsTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/OutputTrafficRestrictionsTransformation.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ const traffic_restrictions_datasource_schema_1 = require("./schemas/traffic_rest
6
6
  const traffic_info_output_schema_1 = require("./schemas/traffic_info_output_schema");
7
7
  const traffic_restrictions_output_schema_1 = require("./schemas/traffic_restrictions_output_schema");
8
8
  const rsd_tmc_points_output_schema_1 = require("./schemas/rsd_tmc_points_output_schema");
9
- const rsd_tmc_osm_mapping_output_schema_1 = require("./schemas/rsd_tmc_osm_mapping_output_schema");
10
9
  const forExport = {
11
10
  name: "Ndic",
12
11
  pgSchema: "ndic",
@@ -30,12 +29,6 @@ const forExport = {
30
29
  outputSequelizeAttributes: rsd_tmc_points_output_schema_1.outputRsdTmcPointsSDMA,
31
30
  pgTableName: "rsd_tmc_points",
32
31
  },
33
- rsd_tmc_osm_mapping: {
34
- name: "LtOsmMapping",
35
- outputSchema: rsd_tmc_osm_mapping_output_schema_1.outputRsdTmcOsmMappingSchema,
36
- outputSequelizeAttributes: rsd_tmc_osm_mapping_output_schema_1.outputRsdTmcOsmMappingSDMA,
37
- pgTableName: "rsd_tmc_osm_mapping",
38
- },
39
32
  };
40
33
  exports.Ndic = forExport;
41
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":";;;AAAA,6FAA0F;AAC1F,6GAA0G;AAE1G,qFAAyG;AACzG,qGAAiI;AACjI,yFAA6G;AAC7G,mGAA0H;AAE1H,MAAM,SAAS,GAAQ;IACnB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,YAAY,EAAE;QACV,IAAI,EAAE,iBAAiB;QACvB,gBAAgB,EAAE,4DAA2B;QAC7C,YAAY,EAAE,oDAAuB;QACrC,yBAAyB,EAAE,kDAAqB;QAChD,WAAW,EAAE,mBAAmB;KACnC;IACD,oBAAoB,EAAE;QAClB,IAAI,EAAE,yBAAyB;QAC/B,gBAAgB,EAAE,4EAAmC;QACrD,YAAY,EAAE,oEAA+B;QAC7C,yBAAyB,EAAE,kEAA6B;QACxD,WAAW,EAAE,2BAA2B;KAC3C;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,uDAAwB;QACtC,yBAAyB,EAAE,qDAAsB;QACjD,WAAW,EAAE,gBAAgB;KAChC;IACD,mBAAmB,EAAE;QACjB,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,gEAA4B;QAC1C,yBAAyB,EAAE,8DAA0B;QACrD,WAAW,EAAE,qBAAqB;KACrC;CACJ,CAAC;AAEoB,yBAAI"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":";;;AAAA,6FAA0F;AAC1F,6GAA0G;AAE1G,qFAAyG;AACzG,qGAAiI;AACjI,yFAA6G;AAG7G,MAAM,SAAS,GAAQ;IACnB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,YAAY,EAAE;QACV,IAAI,EAAE,iBAAiB;QACvB,gBAAgB,EAAE,4DAA2B;QAC7C,YAAY,EAAE,oDAAuB;QACrC,yBAAyB,EAAE,kDAAqB;QAChD,WAAW,EAAE,mBAAmB;KACnC;IACD,oBAAoB,EAAE;QAClB,IAAI,EAAE,yBAAyB;QAC/B,gBAAgB,EAAE,4EAAmC;QACrD,YAAY,EAAE,oEAA+B;QAC7C,yBAAyB,EAAE,kEAA6B;QACxD,WAAW,EAAE,2BAA2B;KAC3C;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,uDAAwB;QACtC,yBAAyB,EAAE,qDAAsB;QACjD,WAAW,EAAE,gBAAgB;KAChC;CACJ,CAAC;AAEoB,yBAAI"}
@@ -51,6 +51,11 @@ Popis dat, jak nám jsou posíláná na input-gateway. Pokud je vystaveno více
51
51
  - (volitelně) odhadovaná zátěž
52
52
  - n/a
53
53
 
54
+ ### */traffic-restrictions-regions
55
+
56
+ - stejné jako `traffic-restrictions` s tím rozdílem, že na tento endpoint chodí data kolem Středočeského kraje: tj Liberecký, Královehradecký, Pardubický, Vysočina, Jihočeský, Plzeňský, Karlovarský, Ústecký
57
+ - název rabbitmq fronty
58
+ - `dataplatform.ndic.saveTrafficRestrictionsRegions` - zprávy v queue obsahují přichozí data v json formátu
54
59
 
55
60
 
56
61
  ## Zpracování dat / transformace
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/ndic",
3
- "version": "1.1.3",
3
+ "version": "1.1.4-dev.869103701",
4
4
  "description": "Golemio NDIC Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -37,6 +37,7 @@
37
37
  "@golemio/cli": "1.4.2",
38
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
42
  "@ovos-media/ts-transform-paths": "^1.7.18-1",
42
43
  "@types/body-parser-xml": "^1.1.0",
@@ -69,6 +70,7 @@
69
70
  "typescript": "4.6.4"
70
71
  },
71
72
  "peerDependencies": {
72
- "@golemio/core": ">=1.5.0"
73
+ "@golemio/core": ">=1.5.0",
74
+ "@golemio/traffic-common": "0.1.0-dev.864393677"
73
75
  }
74
76
  }
@@ -1,5 +0,0 @@
1
- import { BaseController } from "@golemio/core/dist/input-gateway";
2
- export declare class TrafficRestrictionsController extends BaseController {
3
- constructor();
4
- processData: (data: any) => Promise<void>;
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrafficRestrictionsController.js","sourceRoot":"","sources":["../../src/input-gateway/TrafficRestrictionsController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAAkE;AAClE,mFAAkF;AAClF,6EAAuE;AACvE,gDAA4B;AAE5B,MAAa,6BAA8B,SAAQ,8BAAc;IAC7D;QACI,KAAK,CAAC,WAAI,CAAC,IAAI,EAAE,IAAI,uCAAmB,CAAC,WAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAGnH,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,0BAA0B,EACxD,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,sEAwBC"}
@@ -1,17 +0,0 @@
1
- import { SequelizeModel } from "@golemio/core/dist/output-gateway/models";
2
- export declare class RsdTmcOsmMappingModel extends SequelizeModel {
3
- constructor();
4
- /**
5
- * @param {object} [options] Options object with params
6
- * @param {number} [options.ltStart] Options object with params
7
- * @param {number} [options.ltEnd] Options object with params
8
- * @param {number} [options.ltDirection] Options object with params
9
- * @returns Array of the retrieved records
10
- */
11
- GetOne: (options: {
12
- ltStart: string;
13
- ltEnd: string;
14
- ltDirection: string;
15
- }) => Promise<any>;
16
- GetAll: () => Promise<object | null>;
17
- }
@@ -1,71 +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 _sch_1 = require("../../schema-definitions");
17
- const models_1 = require("@golemio/core/dist/output-gateway/models");
18
- const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
19
- const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
20
- class RsdTmcOsmMappingModel extends models_1.SequelizeModel {
21
- constructor() {
22
- super(_sch_1.Ndic.rsd_tmc_osm_mapping.name + "Model", _sch_1.Ndic.rsd_tmc_osm_mapping.pgTableName, _sch_1.Ndic.rsd_tmc_osm_mapping.outputSequelizeAttributes);
23
- /**
24
- * @param {object} [options] Options object with params
25
- * @param {number} [options.ltStart] Options object with params
26
- * @param {number} [options.ltEnd] Options object with params
27
- * @param {number} [options.ltDirection] Options object with params
28
- * @returns Array of the retrieved records
29
- */
30
- this.GetOne = (options) => __awaiter(this, void 0, void 0, function* () {
31
- let { ltStart, ltEnd, ltDirection } = options;
32
- if (!ltStart || !ltEnd || !ltDirection)
33
- return null;
34
- try {
35
- const and = sequelize_1.default.Op.and;
36
- const where = {
37
- [and]: [],
38
- };
39
- where[and].push({
40
- lt_start: +ltStart,
41
- });
42
- where[and].push({
43
- lt_end: +ltEnd,
44
- });
45
- const rsdTmcOsmMappingFromDB = yield this.sequelizeModel.findOne({
46
- attributes: ["lt_start", "lt_end", "osm_path"],
47
- raw: true,
48
- where,
49
- });
50
- try {
51
- let resultArr = JSON.parse(rsdTmcOsmMappingFromDB === null || rsdTmcOsmMappingFromDB === void 0 ? void 0 : rsdTmcOsmMappingFromDB.osm_path);
52
- if (Array.isArray(resultArr) && ltDirection === "negative") {
53
- return resultArr.reverse();
54
- }
55
- return resultArr;
56
- }
57
- catch (e) {
58
- return null;
59
- }
60
- }
61
- catch (err) {
62
- throw new golemio_errors_1.CustomError("Database error", true, "RsdTmcOsmMappingModel.GetOne", 500, err);
63
- }
64
- });
65
- this.GetAll = () => __awaiter(this, void 0, void 0, function* () {
66
- throw new golemio_errors_1.CustomError("Not implemented", true, "Method RsdTmcOsmMappingModel.GetAll is not implemented");
67
- });
68
- }
69
- }
70
- exports.RsdTmcOsmMappingModel = RsdTmcOsmMappingModel;
71
- //# sourceMappingURL=RsdTmcOsmMappingModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RsdTmcOsmMappingModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/RsdTmcOsmMappingModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mDAA4B;AAC5B,qEAA0E;AAC1E,6EAAuE;AACvE,oFAA4D;AAE5D,MAAa,qBAAsB,SAAQ,uBAAc;IACrD;QACI,KAAK,CACD,WAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,OAAO,EACvC,WAAI,CAAC,mBAAmB,CAAC,WAAW,EACpC,WAAI,CAAC,mBAAmB,CAAC,yBAAyB,CACrD,CAAC;QAGN;;;;;;WAMG;QAEI,WAAM,GAAG,CAAO,OAAgE,EAAgB,EAAE;YACrG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;YAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YACpD,IAAI;gBACA,MAAM,GAAG,GAAG,mBAAS,CAAC,EAAE,CAAC,GAAG,CAAC;gBAC7B,MAAM,KAAK,GAAQ;oBACf,CAAC,GAAG,CAAC,EAAE,EAAE;iBACZ,CAAC;gBACF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACZ,QAAQ,EAAE,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,CAAC,KAAK;iBACjB,CAAC,CAAC;gBACH,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC7D,UAAU,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;oBAC9C,GAAG,EAAE,IAAI;oBACT,KAAK;iBACR,CAAC,CAAC;gBAEH,IAAI;oBACA,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,QAAQ,CAAC,CAAC;oBAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,WAAW,KAAK,UAAU,EAAE;wBACxD,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;qBAC9B;oBACD,OAAO,SAAS,CAAC;iBACpB;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,IAAI,CAAC;iBACf;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAC3F;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,GAAiC,EAAE;YAC/C,MAAM,IAAI,4BAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE,wDAAwD,CAAC,CAAC;QAC7G,CAAC,CAAA,CAAC;IA9CF,CAAC;CA+CJ;AAtDD,sDAsDC"}