@golemio/ndic 1.0.7 → 1.0.8-dev.528010519
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.
- package/db/example/.config.json +3 -0
- package/db/example/00_reset.sql +1 -0
- package/db/example/01_reset3rdParty.sql +50 -0
- package/db/example/{sql_dump.sql → 02_sql_dump.sql} +5 -5
- package/db/migrations/postgresql/.config.json +3 -0
- package/db/migrations/postgresql/20210531070318-ndic-init.js +53 -0
- package/db/migrations/postgresql/20210611010101-ndic-restrictions.js +53 -0
- package/db/migrations/postgresql/20210702010000-ndic-add-geoms.js +53 -0
- package/db/migrations/postgresql/20210927000001-ndic-constriction-fix.js +51 -0
- package/db/migrations/postgresql/package.json +3 -0
- package/db/migrations/postgresql/sqls/20210531070318-ndic-init-down.sql +6 -0
- package/db/migrations/postgresql/sqls/20210531070318-ndic-init-up.sql +164 -0
- package/db/migrations/postgresql/sqls/20210611010101-ndic-restrictions-down.sql +6 -0
- package/db/migrations/postgresql/sqls/20210611010101-ndic-restrictions-up.sql +131 -0
- package/db/migrations/postgresql/sqls/20210702010000-ndic-add-geoms-down.sql +21 -0
- package/db/migrations/postgresql/sqls/20210702010000-ndic-add-geoms-up.sql +21 -0
- package/db/migrations/postgresql/sqls/20210927000001-ndic-constriction-fix-down.sql +5 -0
- package/db/migrations/postgresql/sqls/20210927000001-ndic-constriction-fix-up.sql +5 -0
- package/db/migrations/postgresql/sqls/package.json +3 -0
- package/dist/integration-engine/NdicWorker.js +2 -0
- package/dist/integration-engine/NdicWorker.js.map +1 -1
- package/dist/output-gateway/models/RsdTmcOsmMappingModel.js +4 -3
- package/dist/output-gateway/models/RsdTmcOsmMappingModel.js.map +1 -1
- package/dist/output-gateway/models/TrafficRestrictionsModel.d.ts +1 -1
- package/dist/output-gateway/models/TrafficRestrictionsModel.js +11 -9
- package/dist/output-gateway/models/TrafficRestrictionsModel.js.map +1 -1
- package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.js +1 -1
- package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.js.map +1 -1
- package/dist/schema-definitions/index.js +1 -0
- package/dist/schema-definitions/index.js.map +1 -1
- package/docs/implementation_documentation.md +157 -0
- package/docs/ndic_erdiagram.png +0 -0
- package/package.json +83 -78
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
CREATE TABLE ndic_traffic_restrictions (
|
|
2
|
+
exchange json,
|
|
3
|
+
publication_time timestamp with time zone,
|
|
4
|
+
publication_creator json,
|
|
5
|
+
situation_id varchar(100) NOT NULL,
|
|
6
|
+
situation_version varchar(100) NOT NULL,
|
|
7
|
+
situation_version_time timestamp with time zone,
|
|
8
|
+
-- Header --
|
|
9
|
+
situation_confidentiality varchar(100),
|
|
10
|
+
situation_information_status varchar(100),
|
|
11
|
+
situation_urgency varchar(100),
|
|
12
|
+
--- Situation record ---
|
|
13
|
+
-- identification
|
|
14
|
+
situation_record_version varchar(100) NOT NULL,
|
|
15
|
+
situation_record_type varchar(100) NOT NULL,
|
|
16
|
+
-- content
|
|
17
|
+
situation_record_id varchar(100) NOT NULL,
|
|
18
|
+
situation_record_creation_time timestamp with time zone NOT NULL,
|
|
19
|
+
situation_record_version_time timestamp with time zone NOT NULL,
|
|
20
|
+
probability_of_occurrence varchar(100),
|
|
21
|
+
source json,
|
|
22
|
+
-- validity JSON --
|
|
23
|
+
validity_status varchar(100),
|
|
24
|
+
validity_overall_start_time timestamp with time zone,
|
|
25
|
+
validity_overall_end_time timestamp with time zone,
|
|
26
|
+
-- impact JSON --
|
|
27
|
+
impact_capacity_remaining real,
|
|
28
|
+
impact_number_of_lanes_restricted int,
|
|
29
|
+
impact_number_of_operational_lanes int,
|
|
30
|
+
impact_original_number_of_lanes int,
|
|
31
|
+
impact_traffic_construction_type varchar(100),
|
|
32
|
+
impact_delays_type varchar(100),
|
|
33
|
+
impact_delay_time_value real,
|
|
34
|
+
cause json,
|
|
35
|
+
general_public_comment json,
|
|
36
|
+
-- group_of_locations JSON --
|
|
37
|
+
group_of_locations_type varchar(100),
|
|
38
|
+
supplementary_positional_description json,
|
|
39
|
+
destination json,
|
|
40
|
+
alert_c_linear json,
|
|
41
|
+
linear_within_linear_element json,
|
|
42
|
+
global_network_linear json,
|
|
43
|
+
linear_extension json,
|
|
44
|
+
geom_gn_line GEOMETRY,
|
|
45
|
+
geom_openlr_line GEOMETRY,
|
|
46
|
+
--- Situation record extension ---
|
|
47
|
+
situation_record_extension json,
|
|
48
|
+
--- Situation record abstract types ---
|
|
49
|
+
-- Obstruction
|
|
50
|
+
number_of_obstructions int,
|
|
51
|
+
mobility_of_obstruction json,
|
|
52
|
+
-- NetworkManagement
|
|
53
|
+
compliance_option varchar(100),
|
|
54
|
+
applicable_for_traffic_direction varchar(100),
|
|
55
|
+
applicable_for_traffic_type varchar(100),
|
|
56
|
+
places_at_which_applicable varchar(100),
|
|
57
|
+
for_vehicles_with_characteristics_of json,
|
|
58
|
+
-- RoadWorks
|
|
59
|
+
roadworks_duration varchar(100),
|
|
60
|
+
roadworks_scale varchar(100),
|
|
61
|
+
under_traffic bool,
|
|
62
|
+
urgent_roadworks bool,
|
|
63
|
+
mobility json,
|
|
64
|
+
subjects json,
|
|
65
|
+
maintenance_vehicles json,
|
|
66
|
+
--- Situation record types ---
|
|
67
|
+
-- AbnormalTraffic
|
|
68
|
+
abnormal_traffic_type varchar(100),
|
|
69
|
+
-- Accident
|
|
70
|
+
accident_type varchar(100),
|
|
71
|
+
group_of_vehicles_involved json,
|
|
72
|
+
-- CarParks
|
|
73
|
+
car_park_identity text,
|
|
74
|
+
car_park_occupancy varchar(100),
|
|
75
|
+
number_of_vacant_parking_spaces int,
|
|
76
|
+
-- Conditions
|
|
77
|
+
driving_condition_type varchar(100),
|
|
78
|
+
-- ConstructionWorks
|
|
79
|
+
construction_work_type varchar(100),
|
|
80
|
+
-- DisturbanceActivity
|
|
81
|
+
disturbance_activity_type varchar(100),
|
|
82
|
+
-- EnvironmentalObstruction
|
|
83
|
+
environmental_obstruction_type varchar(100),
|
|
84
|
+
-- GeneralInstructionOrMessageToRoadUsers
|
|
85
|
+
general_instruction_to_road_users_type varchar(100),
|
|
86
|
+
general_message_to_road_users json,
|
|
87
|
+
-- GeneralNetworkManagement
|
|
88
|
+
general_network_management_type varchar(100),
|
|
89
|
+
traffic_manually_directed_by varchar(100),
|
|
90
|
+
--group_of_people_involved JSON, already in Accident
|
|
91
|
+
-- InfrastructureDamageObstruction
|
|
92
|
+
infrastructure_damage_type varchar(100),
|
|
93
|
+
-- MaintenanceWorks
|
|
94
|
+
road_maintenance_type varchar(100),
|
|
95
|
+
-- NonWeatherRelatedRoadConditions
|
|
96
|
+
non_weather_related_road_condition_type varchar(100),
|
|
97
|
+
-- PoorEnvironmentConditions
|
|
98
|
+
poor_environment_type varchar(100),
|
|
99
|
+
-- PublicEvent
|
|
100
|
+
public_event_type varchar(100),
|
|
101
|
+
-- ReroutingManagement
|
|
102
|
+
rerouting_management_type varchar(100),
|
|
103
|
+
rerouting_itinerary_description json,
|
|
104
|
+
signed_rerouting bool,
|
|
105
|
+
entry text,
|
|
106
|
+
exit text,
|
|
107
|
+
road_or_junction_number text,
|
|
108
|
+
-- RoadOrCarriagewayOrLaneManagement
|
|
109
|
+
road_or_carriageway_or_lane_management_type varchar(100),
|
|
110
|
+
minimum_car_occupancy int,
|
|
111
|
+
-- RoadsideAssistance
|
|
112
|
+
roadside_assistance_type varchar(100),
|
|
113
|
+
-- SpeedManagement
|
|
114
|
+
speed_management_type varchar(100),
|
|
115
|
+
temporary_speed_limit real,
|
|
116
|
+
-- VehicleObstruction
|
|
117
|
+
vehicle_obstruction_type varchar(100),
|
|
118
|
+
obstructing_vehicle json,
|
|
119
|
+
-- WinterDrivingManagement
|
|
120
|
+
winter_equipment_management_type varchar(100),
|
|
121
|
+
|
|
122
|
+
-- Audit fields --
|
|
123
|
+
create_batch_id bigint,
|
|
124
|
+
created_at timestamp with time zone,
|
|
125
|
+
created_by varchar(150),
|
|
126
|
+
update_batch_id bigint,
|
|
127
|
+
updated_at timestamp with time zone,
|
|
128
|
+
updated_by varchar(150),
|
|
129
|
+
|
|
130
|
+
CONSTRAINT ndic_traffic_restrictions_pk PRIMARY KEY (situation_record_id, situation_record_version_time)
|
|
131
|
+
);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
ALTER TABLE ndic_traffic_restrictions
|
|
2
|
+
ALTER COLUMN "source" TYPE json
|
|
3
|
+
USING "source"::json;
|
|
4
|
+
|
|
5
|
+
ALTER TABLE ndic_traffic_info
|
|
6
|
+
ALTER COLUMN "source" TYPE json
|
|
7
|
+
USING "source"::json;
|
|
8
|
+
|
|
9
|
+
ALTER TABLE ndic_traffic_restrictions
|
|
10
|
+
ALTER COLUMN general_public_comment TYPE json
|
|
11
|
+
USING general_public_comment::json;
|
|
12
|
+
|
|
13
|
+
ALTER TABLE ndic_traffic_info
|
|
14
|
+
ALTER COLUMN general_public_comment TYPE json
|
|
15
|
+
USING general_public_comment::json;
|
|
16
|
+
|
|
17
|
+
ALTER TABLE ndic_traffic_restrictions DROP COLUMN IF EXISTS geom_alert_c_line;
|
|
18
|
+
ALTER TABLE ndic_traffic_restrictions DROP COLUMN IF EXISTS alert_c_direction;
|
|
19
|
+
|
|
20
|
+
ALTER TABLE ndic_traffic_info DROP COLUMN IF EXISTS geom_alert_c_line;
|
|
21
|
+
ALTER TABLE ndic_traffic_info DROP COLUMN IF EXISTS alert_c_direction;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
ALTER TABLE ndic_traffic_restrictions
|
|
2
|
+
ALTER COLUMN "source" TYPE varchar(100)
|
|
3
|
+
USING "source"::varchar(100);
|
|
4
|
+
|
|
5
|
+
ALTER TABLE ndic_traffic_info
|
|
6
|
+
ALTER COLUMN "source" TYPE varchar(100)
|
|
7
|
+
USING "source"::varchar(100);
|
|
8
|
+
|
|
9
|
+
ALTER TABLE ndic_traffic_restrictions
|
|
10
|
+
ALTER COLUMN general_public_comment TYPE text
|
|
11
|
+
USING general_public_comment::text;
|
|
12
|
+
|
|
13
|
+
ALTER TABLE ndic_traffic_info
|
|
14
|
+
ALTER COLUMN general_public_comment TYPE text
|
|
15
|
+
USING general_public_comment::text;
|
|
16
|
+
|
|
17
|
+
ALTER TABLE ndic_traffic_restrictions ADD geom_alert_c_line geometry NULL;
|
|
18
|
+
ALTER TABLE ndic_traffic_restrictions ADD alert_c_direction varchar(100) NULL;
|
|
19
|
+
|
|
20
|
+
ALTER TABLE ndic_traffic_info ADD geom_alert_c_line geometry NULL;
|
|
21
|
+
ALTER TABLE ndic_traffic_info ADD alert_c_direction varchar(100) NULL;
|
|
@@ -91,11 +91,13 @@ class NdicWorker extends integration_engine_1.BaseWorker {
|
|
|
91
91
|
this.ndicTrafficRestrictionsTransformation = new TrafficRestrictionsTransformation_1.TrafficRestrictionsTransformation();
|
|
92
92
|
this.ndicTrafficInfoModel = new integration_engine_1.PostgresModel(_sch_1.Ndic.traffic_info.name + "Model", {
|
|
93
93
|
outputSequelizeAttributes: _sch_1.Ndic.traffic_info.outputSequelizeAttributes,
|
|
94
|
+
pgSchema: _sch_1.Ndic.pgSchema,
|
|
94
95
|
pgTableName: _sch_1.Ndic.traffic_info.pgTableName,
|
|
95
96
|
savingType: "insertOnly",
|
|
96
97
|
}, new golemio_validator_1.JSONSchemaValidator(_sch_1.Ndic.traffic_info.name + "PgModelValidator", _sch_1.Ndic.traffic_info.outputSchema));
|
|
97
98
|
this.ndicTrafficRestrictionsModel = new integration_engine_1.PostgresModel(_sch_1.Ndic.traffic_restrictions.name + "Model", {
|
|
98
99
|
outputSequelizeAttributes: _sch_1.Ndic.traffic_restrictions.outputSequelizeAttributes,
|
|
100
|
+
pgSchema: _sch_1.Ndic.pgSchema,
|
|
99
101
|
pgTableName: _sch_1.Ndic.traffic_restrictions.pgTableName,
|
|
100
102
|
savingType: "insertOnly",
|
|
101
103
|
}, new golemio_validator_1.JSONSchemaValidator(_sch_1.Ndic.traffic_restrictions.name + "PgModelValidator", _sch_1.Ndic.traffic_restrictions.outputSchema));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NdicWorker.js","sourceRoot":"","sources":["../../src/integration-engine/NdicWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA0F;AAC1F,mFAA6F;AAC7F,2FAA0F;AAC1F,2GAA0G;AAC1G,kEAA+D;AAC/D,gDAA4B;AAK5B,MAAa,UAAW,SAAQ,+BAAU;IAWtC;QACI,KAAK,EAAE,CAAC;QAJZ,gBAAgB;QACN,sBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"NdicWorker.js","sourceRoot":"","sources":["../../src/integration-engine/NdicWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
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
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
20
|
class RsdTmcOsmMappingModel extends models_1.SequelizeModel {
|
|
21
21
|
constructor() {
|
|
22
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);
|
|
@@ -43,6 +43,7 @@ class RsdTmcOsmMappingModel extends models_1.SequelizeModel {
|
|
|
43
43
|
lt_end: +ltEnd,
|
|
44
44
|
});
|
|
45
45
|
const rsdTmcOsmMappingFromDB = yield this.sequelizeModel.findOne({
|
|
46
|
+
attributes: ["lt_start", "lt_end", "osm_path"],
|
|
46
47
|
raw: true,
|
|
47
48
|
where,
|
|
48
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RsdTmcOsmMappingModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/RsdTmcOsmMappingModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SequelizeModel } from "@golemio/core/dist/output-gateway/models";
|
|
2
1
|
import { ITrafficRestrictionsModel } from "../../integration-engine/transformations/TrafficRestrictionsInterface";
|
|
2
|
+
import { SequelizeModel } from "@golemio/core/dist/output-gateway/models";
|
|
3
3
|
export declare class TrafficRestrictionsModel extends SequelizeModel {
|
|
4
4
|
constructor();
|
|
5
5
|
/**
|
|
@@ -13,14 +13,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.TrafficRestrictionsModel = void 0;
|
|
16
|
-
const
|
|
17
|
-
const models_1 = require("@golemio/core/dist/output-gateway/models");
|
|
16
|
+
const index_1 = require("../../schema-definitions/index");
|
|
18
17
|
const database_1 = require("@golemio/core/dist/output-gateway/database");
|
|
18
|
+
const models_1 = require("@golemio/core/dist/output-gateway/models");
|
|
19
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
19
20
|
const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
|
|
20
|
-
const index_1 = require("../../schema-definitions/index");
|
|
21
21
|
class TrafficRestrictionsModel extends models_1.SequelizeModel {
|
|
22
22
|
constructor() {
|
|
23
|
-
super(index_1.Ndic.traffic_restrictions.name, index_1.Ndic.traffic_restrictions.pgTableName, index_1.Ndic.traffic_restrictions.outputSequelizeAttributes
|
|
23
|
+
super(index_1.Ndic.traffic_restrictions.name, index_1.Ndic.traffic_restrictions.pgTableName, index_1.Ndic.traffic_restrictions.outputSequelizeAttributes, {
|
|
24
|
+
schema: index_1.Ndic.pgSchema,
|
|
25
|
+
});
|
|
24
26
|
/**
|
|
25
27
|
* @param {object} [options] Options object with params
|
|
26
28
|
* @param {number} [options.limit] Limit
|
|
@@ -37,18 +39,18 @@ class TrafficRestrictionsModel extends models_1.SequelizeModel {
|
|
|
37
39
|
// get rows for each `situation_record_id`,
|
|
38
40
|
// but with MAX `situation_record_version_time` for each `situation_record_id`
|
|
39
41
|
let query = `
|
|
40
|
-
SELECT *
|
|
42
|
+
SELECT *
|
|
41
43
|
FROM
|
|
42
44
|
(
|
|
43
45
|
SELECT
|
|
44
|
-
row_number() OVER (partition by situation_record_id
|
|
46
|
+
row_number() OVER (partition by situation_record_id
|
|
45
47
|
ORDER BY
|
|
46
48
|
situation_record_version_time desc) rn,
|
|
47
|
-
*
|
|
49
|
+
*
|
|
48
50
|
FROM
|
|
49
|
-
ndic_traffic_restrictions
|
|
51
|
+
${index_1.Ndic.pgSchema}.ndic_traffic_restrictions
|
|
50
52
|
)
|
|
51
|
-
a
|
|
53
|
+
a
|
|
52
54
|
WHERE rn = 1
|
|
53
55
|
AND validity_overall_start_time < '${queryMoment}'
|
|
54
56
|
AND validity_overall_end_time > '${queryMoment}'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrafficRestrictionsModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/TrafficRestrictionsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"TrafficRestrictionsModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/TrafficRestrictionsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,0DAAkC;AAClC,yEAAiF;AACjF,qEAA0E;AAC1E,6EAAuE;AACvE,gGAA+D;AAE/D,MAAa,wBAAyB,SAAQ,uBAAc;IACxD;QACI,KAAK,CACD,YAAI,CAAC,oBAAoB,CAAC,IAAI,EAC9B,YAAI,CAAC,oBAAoB,CAAC,WAAW,EACrC,YAAI,CAAC,oBAAoB,CAAC,yBAAyB,EACnD;YACI,MAAM,EAAE,YAAI,CAAC,QAAQ;SACxB,CACJ,CAAC;QAGN;;;;;;;WAOG;QAEI,WAAM,GAAG,CACZ,UAKI,EAAE,EAC8B,EAAE;YACtC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;YAElE,IAAI;gBACA,kCAAkC;gBAClC,IAAI,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,yBAAM,GAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;gBAEhF,2CAA2C;gBAC3C,8EAA8E;gBAE9E,IAAI,KAAK,GAAG;;;;;;;;;;sBAUF,YAAI,CAAC,QAAQ;;;;iDAIc,WAAW;+CACb,WAAW;aAC7C,CAAC;gBAEF,IAAI,mBAAmB,EAAE;oBACrB,KAAK,IAAI,iCAAiC,mBAAmB,GAAG,CAAC;iBACpE;gBAED,IAAI,KAAK,EAAE;oBACP,KAAK,IAAI,UAAU,KAAK,EAAE,CAAC;iBAC9B;gBAED,IAAI,MAAM,EAAE;oBACR,KAAK,IAAI,WAAW,MAAM,EAAE,CAAC;iBAChC;gBAED,MAAM,yBAAyB,GAAG,CAAC,MAAM,CAAA,8BAAmB,aAAnB,8BAAmB,uBAAnB,8BAAmB,CAAE,KAAK,CAAC,KAAK,CAAC,CAAA,CAAkC,CAAC;gBAE7G,OAAO,yBAAyB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC7C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvF;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,EAAU,EAA0B,EAAE;YACzD,MAAM,IAAI,4BAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;QAC/E,CAAC,CAAA,CAAC;IApEF,CAAC;CAqEJ;AA/ED,4DA+EC"}
|
|
@@ -100,7 +100,7 @@ class OutputTrafficRestrictionsTransformation {
|
|
|
100
100
|
}
|
|
101
101
|
resultRecordsArr.push({
|
|
102
102
|
situationRecordCreationTime: (0, moment_timezone_1.default)(record.situation_record_creation_time).tz("Europe/Prague").format(),
|
|
103
|
-
situationRecordVersionTime: (0, moment_timezone_1.default)(record.
|
|
103
|
+
situationRecordVersionTime: (0, moment_timezone_1.default)(record.situation_record_version_time).tz("Europe/Prague").format(),
|
|
104
104
|
startTime: (0, moment_timezone_1.default)(record.validity_overall_start_time).tz("Europe/Prague").format(),
|
|
105
105
|
endTime: (0, moment_timezone_1.default)(record.validity_overall_end_time).tz("Europe/Prague").format(),
|
|
106
106
|
type: record.situation_record_type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputTrafficRestrictionsTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/OutputTrafficRestrictionsTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gGAA+D;AAC/D,mDAA4B;AAQ5B,sCAAmD;AAEnD,MAAa,uCAAuC;IAIhD;QAMO,cAAS,GAAG,CAAO,IAAiC,EAAE,EAAE;YAC3D,iEAAiE;YACjE,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAC9C,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAC5D,CAAC,gBAAgB,CAAC;YAEnB,MAAM,MAAM,GAA2B;gBACnC,gBAAgB,EAAE,GAAG;gBACrB,yBAAyB,EAAE;oBACvB,IAAI,EAAE,IAAI;oBACV,eAAe,EAAE,IAAA,yBAAM,EAAC,eAAe,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE;oBACrE,kBAAkB,EAAE;wBAChB,OAAO,EAAE,IAAI;wBACb,kBAAkB,EAAE,MAAM;qBAC7B;oBACD,SAAS,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;iBACrD;aACJ,CAAC;YAEF,OAAO,MAAM,CAAC;QAClB,CAAC,CAAA,CAAC;QAuIM,uBAAkB,GAAG,CAAyB,IAAS,EAAE,MAAsB,EAAE,EAAE,CACvF,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC3C,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClC,OAAO,QAAQ,CAAC;QACpB,CAAC,EAAE,EAAoB,CAAC,CAAC;QAtKzB,IAAI,CAAC,IAAI,GAAG,WAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,8BAAqB,EAAE,CAAC;QACzD,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAwBa,sBAAsB,CAAC,aAA0C;;YAC3E,MAAM,mBAAmB,GAA0B,EAAE,CAAC;YAEtD,wBAAwB;YACxB,MAAM,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAE/F,8CAA8C;YAC9C,+CAA+C;YAC/C,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE;gBACxC,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,KAAK,MAAM,MAAM,IAAI,wBAAwB,CAAC,GAAG,CAAC,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;wBACpB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC3B;yBAAM,IAAI,MAAM,CAAC,wBAAwB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE;wBAClF,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC3B;yBAAM,IAAI,MAAM,CAAC,wBAAwB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE;wBACjF,UAAU,GAAG,EAAE,CAAC;wBAChB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC3B;iBACJ;gBACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAEnE,4DAA4D;gBAC5D,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;oBACzB,SAAS;iBACZ;gBACD,mBAAmB,CAAC,IAAI,CAAC;oBACrB,EAAE,EAAE,GAAG;oBACP,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB;oBACzC,eAAe;iBAClB,CAAC,CAAC;aACN;YAED,OAAO,mBAAmB,CAAC;QAC/B,CAAC;KAAA;IAEa,mBAAmB,CAAC,eAA4C;;;YAC1E,MAAM,gBAAgB,GAAgC,EAAE,CAAC;YAEzD,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE;gBAClC,MAAM,OAAO,GACT,CAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,iCAAiC,CAAC,cAAc,CAAC,gBAAgB,KAAI,IAAI,CAAC;gBACrG,MAAM,KAAK,GACP,CAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,mCAAmC,CAAC,cAAc,CAAC,gBAAgB,KAAI,IAAI,CAAC;gBACvG,MAAM,WAAW,GAAW,MAAA,MAAM,CAAC,cAAc,0CAAE,eAAe,CAAC,oBAAoB,CAAC;gBAExF,MAAM,4BAA4B,GAAG;oBACjC,OAAO;oBACP,KAAK;oBACL,WAAW;iBACd,CAAC;gBAEF,iDAAiD;gBACjD,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,CAAC,CAAC,UAAU,CAAC,CAAA,EAAE;oBACvC,SAAS;iBACZ;gBAED,gBAAgB,CAAC,IAAI,CAAC;oBAClB,2BAA2B,EAAE,IAAA,yBAAM,EAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE;oBACvG,0BAA0B,EAAE,IAAA,yBAAM,EAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"OutputTrafficRestrictionsTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/OutputTrafficRestrictionsTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ const rsd_tmc_points_output_schema_1 = require("./schemas/rsd_tmc_points_output_
|
|
|
9
9
|
const rsd_tmc_osm_mapping_output_schema_1 = require("./schemas/rsd_tmc_osm_mapping_output_schema");
|
|
10
10
|
const forExport = {
|
|
11
11
|
name: "Ndic",
|
|
12
|
+
pgSchema: "ndic",
|
|
12
13
|
traffic_info: {
|
|
13
14
|
name: "NdicTrafficInfo",
|
|
14
15
|
datasourceSchema: traffic_info_datasource_schema_1.datasourceTrafficInfoSchema,
|
|
@@ -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,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;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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Implementační dokumentace modulu *Ndic*
|
|
2
|
+
|
|
3
|
+
## Záměr
|
|
4
|
+
|
|
5
|
+
Stručný popis, k čemu modul slouží.
|
|
6
|
+
|
|
7
|
+
Pokud má modul více oblastí, každá oblast je popsána zvlášť. Dále jsem popsány vazby mezi jednotlivými oblastmi.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Vstupní data
|
|
12
|
+
|
|
13
|
+
### Data nám jsou posílána
|
|
14
|
+
|
|
15
|
+
Popis dat, jak nám jsou posíláná na input-gateway. Pokud je vystaveno více endpointů (pro různé datové sady), každý endpoint je popsán zvlášť.
|
|
16
|
+
|
|
17
|
+
#### */traffic-info / NdicTrafficInfo*
|
|
18
|
+
|
|
19
|
+
- formát dat
|
|
20
|
+
- protokol http
|
|
21
|
+
- datový typ xml
|
|
22
|
+
- [odkaz na validační schéma](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/master/schemas/traffic_info_schema.xsd)
|
|
23
|
+
- [příklad vstupních dat](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/master/test/data/traffic_info_data.xml)
|
|
24
|
+
- endpoint v input-gateway `/traffic-info`
|
|
25
|
+
- příchozí xml je na input gateway pomocí obecného middlewaru rozparsováno body parsererem z xml na json. Již předpřipravený request se dostane skrze NdicRouter do TrafficInfoController a je zvalidován oproti json schématu [link](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/master/src/schema-definitions/schemas/traffic_info_datasource_schema.ts)
|
|
26
|
+
- (volitelně) nastavení práv v permission-proxy
|
|
27
|
+
- zvláštní požadaky na řízení přístupu
|
|
28
|
+
- TBD
|
|
29
|
+
- transformace raw dat
|
|
30
|
+
- standardní body parser xml->json
|
|
31
|
+
- název rabbitmq fronty
|
|
32
|
+
- `dataplatform.ndic.saveTrafficInfo` - zprávy v queue obsahují přichozí data v json formátu
|
|
33
|
+
- (volitelně) odhadovaná zátěž
|
|
34
|
+
- n/a
|
|
35
|
+
|
|
36
|
+
#### */traffic-restrictions / NdicTrafficRestrictions*
|
|
37
|
+
|
|
38
|
+
- formát dat
|
|
39
|
+
- protokol http
|
|
40
|
+
- datový typ xml
|
|
41
|
+
- [odkaz na validační schéma](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/master/schemas/traffic_restrictions_schema.xsd)
|
|
42
|
+
- [příklad vstupních dat](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/master/test/data/traffic_restrictions_data.xml)
|
|
43
|
+
- endpoint v input-gateway
|
|
44
|
+
- popis endpointu /traffic-restrictions
|
|
45
|
+
- (volitelně) nastavení práv v permission-proxy
|
|
46
|
+
- zvláštní požadaky na řízení přístupu
|
|
47
|
+
- transformace raw dat
|
|
48
|
+
- body parser xml->json
|
|
49
|
+
- název rabbitmq fronty
|
|
50
|
+
- `dataplatform.ndic.saveTrafficRestrictions` - zprávy v queue obsahují přichozí data v json formátu
|
|
51
|
+
- (volitelně) odhadovaná zátěž
|
|
52
|
+
- n/a
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
## Zpracování dat / transformace
|
|
57
|
+
|
|
58
|
+
Popis transformace a případného obohacení dat. Zaměřeno hlavně na workery a jejich metody.
|
|
59
|
+
|
|
60
|
+
### *NdicWorker*
|
|
61
|
+
|
|
62
|
+
Worker slouží pro zpracování příchozích dat NdicTrafficInfo a NdicTrafficRestrictions.
|
|
63
|
+
|
|
64
|
+
#### *saveTrafficInfo*
|
|
65
|
+
|
|
66
|
+
- vstupní rabbitmq fronta
|
|
67
|
+
- `dataplatform.ndic.saveTrafficInfo`
|
|
68
|
+
- (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
69
|
+
- žádné
|
|
70
|
+
- datové zdroje
|
|
71
|
+
- rsdTmcPointsModel - pro zjištění geo souřadnic
|
|
72
|
+
- transformace
|
|
73
|
+
- [odkaz na transformaci dat](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/development/src/integration-engine/transformations/TrafficInfoTransformation.ts)
|
|
74
|
+
- (volitelně) obohacení dat
|
|
75
|
+
- po tranformaci se data obohacují o geosouřadnice (např. úsek silnice), kdy data z alertCLinear části slouží jako filtrovací parametry pro lookup datasource rsdTmcPointsModel
|
|
76
|
+
- data modely
|
|
77
|
+
- `ndicTrafficInfoModel` - ukládá se do tabulky `ndic_traffic_info`
|
|
78
|
+
|
|
79
|
+
#### *saveTrafficRestrictions*
|
|
80
|
+
|
|
81
|
+
- vstupní rabbitmq fronta
|
|
82
|
+
- `dataplatform.ndic.saveTrafficRestrictions`
|
|
83
|
+
- (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
84
|
+
- žádné
|
|
85
|
+
- datové zdroje
|
|
86
|
+
- `rsdTmcPointsModel` - pro zjištění geo souřadnic
|
|
87
|
+
- transformace
|
|
88
|
+
- [odkaz na transformaci dat](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/master/src/integration-engine/transformations/TrafficRestrictionsTransformation.ts)
|
|
89
|
+
- (volitelně) obohacení dat
|
|
90
|
+
- stejné jako u předešlé metody *`saveTrafficInfo`*
|
|
91
|
+
- data modely
|
|
92
|
+
- `ndicTrafficRestrictionsModel` se ukládá do tabulky ndic_traffic_restrictions
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
## Uložení dat
|
|
96
|
+
|
|
97
|
+
Popis ukládání dat.
|
|
98
|
+
|
|
99
|
+
### Obecné
|
|
100
|
+
|
|
101
|
+
- typ databáze
|
|
102
|
+
- PSQL
|
|
103
|
+
- datábázové schéma
|
|
104
|
+
- tabulka `ndic_traffic_info`
|
|
105
|
+
- tabulka `ndic_traffic_restrictions`
|
|
106
|
+

|
|
107
|
+
- retence dat
|
|
108
|
+
- n/a
|
|
109
|
+
|
|
110
|
+
### *ndicTrafficInfoModel*
|
|
111
|
+
|
|
112
|
+
- schéma a název tabulky / kolekce
|
|
113
|
+
- `ndic.ndic_traffic_info`
|
|
114
|
+
- struktura tabulky / kolekce
|
|
115
|
+
- odkaz na schéma, případně na migrační skripty
|
|
116
|
+
- schéma viz výše
|
|
117
|
+
- [odkaz na migrační skripty]((./../db/migrations/postgresql/sqls))
|
|
118
|
+
- ukázka dat
|
|
119
|
+
n/a
|
|
120
|
+
|
|
121
|
+
### *ndicTrafficInfoModel*
|
|
122
|
+
|
|
123
|
+
- schéma a název tabulky / kolekce
|
|
124
|
+
- `ndic.ndic_traffic_restrictions`
|
|
125
|
+
- struktura tabulky / kolekce
|
|
126
|
+
- odkaz na schéma, případně na migrační skripty
|
|
127
|
+
- schéma viz výše
|
|
128
|
+
- [odkaz na migrační skripty](./../db/migrations/postgresql/sqls)
|
|
129
|
+
- [ukázka dat](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/master/db/example/sql_dump.sql)
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
## Output API
|
|
133
|
+
|
|
134
|
+
Popis output-api.
|
|
135
|
+
|
|
136
|
+
### Obecné
|
|
137
|
+
|
|
138
|
+
- API Blueprint / OpenAPI dokumentace
|
|
139
|
+
- [odkaz na dokumentaci](./openapi.yaml)
|
|
140
|
+
- veřejné / neveřejné endpointy
|
|
141
|
+
- api je neveřejné, endpoint /restrictions je přístupný pro uživatele s rolí NDIC
|
|
142
|
+
- (volitelně) ACL
|
|
143
|
+
- postman kolekce
|
|
144
|
+
- TBD
|
|
145
|
+
|
|
146
|
+
#### */restrictions*
|
|
147
|
+
|
|
148
|
+
- zdrojové tabulky
|
|
149
|
+
- `ndic_traffic_restrictions`
|
|
150
|
+
- (volitlně) nestandardní dodatečná transformace
|
|
151
|
+
- vrací pouze poslední známe stavy ( max `situation_record_version_time` ) všech dopravních situací podle klíče `situation_record_id`, které jsou platné ve vybraný čas
|
|
152
|
+
- (volitelně) nestandardní url a query parametry
|
|
153
|
+
|
|
154
|
+
| query parameter | popis |
|
|
155
|
+
| --- |---|
|
|
156
|
+
| reqMoment | datum a čas pro který zobrazit platné situace ve formátu ISO8601 |
|
|
157
|
+
| situationRecordType | filtruje podle typu situace |
|
|
Binary file
|