@golemio/ndic 1.1.4-dev.856047480 → 1.1.4-dev.872604229
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/00_reset.sql +1 -0
- package/db/example/01_reset3rdParty.sql +0 -9
- package/db/example/02_sql_dump.sql +0 -8
- package/db/migrations/postgresql/20230515142731-regions-traffic-restrictions.js +53 -0
- package/db/migrations/postgresql/sqls/20230515142731-regions-traffic-restrictions-down.sql +3 -0
- package/db/migrations/postgresql/sqls/20230515142731-regions-traffic-restrictions-up.sql +110 -0
- package/dist/integration-engine/LegacyNdicWorker.d.ts +13 -0
- package/dist/integration-engine/LegacyNdicWorker.js +69 -0
- package/dist/integration-engine/LegacyNdicWorker.js.map +1 -0
- package/dist/integration-engine/NdicWorker.d.ts +3 -16
- package/dist/integration-engine/NdicWorker.js +7 -97
- package/dist/integration-engine/NdicWorker.js.map +1 -1
- package/dist/integration-engine/helpers/LteCze90PointsChecker.d.ts +8 -0
- package/dist/integration-engine/helpers/LteCze90PointsChecker.js +40 -0
- package/dist/integration-engine/helpers/LteCze90PointsChecker.js.map +1 -0
- package/dist/integration-engine/helpers/TrafficRestrictionsHelper.d.ts +7 -0
- package/dist/integration-engine/helpers/TrafficRestrictionsHelper.js +58 -0
- package/dist/integration-engine/helpers/TrafficRestrictionsHelper.js.map +1 -0
- package/dist/integration-engine/index.d.ts +3 -1
- package/dist/integration-engine/index.js +4 -1
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/ioc/ContainerToken.d.ts +4 -0
- package/dist/integration-engine/ioc/ContainerToken.js +8 -0
- package/dist/integration-engine/ioc/ContainerToken.js.map +1 -0
- package/dist/integration-engine/ioc/Di.d.ts +3 -0
- package/dist/integration-engine/ioc/Di.js +18 -0
- package/dist/integration-engine/ioc/Di.js.map +1 -0
- package/dist/integration-engine/models/RsdTmcPointsModel.js +16 -2
- package/dist/integration-engine/models/RsdTmcPointsModel.js.map +1 -1
- package/dist/integration-engine/queueDefinitions.js +3 -3
- package/dist/integration-engine/queueDefinitions.js.map +1 -1
- package/dist/integration-engine/tasks/RegionsDataRetention.d.ts +6 -0
- package/dist/integration-engine/tasks/RegionsDataRetention.js +34 -0
- package/dist/integration-engine/tasks/RegionsDataRetention.js.map +1 -0
- package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.d.ts +14 -0
- package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.js +50 -0
- package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.js.map +1 -0
- package/dist/integration-engine/tasks/schema/TrafficRestrictionsRegionsSchema.d.ts +18 -0
- package/dist/integration-engine/tasks/schema/TrafficRestrictionsRegionsSchema.js +29 -0
- package/dist/integration-engine/tasks/schema/TrafficRestrictionsRegionsSchema.js.map +1 -0
- package/dist/integration-engine/transformations/TrafficRestrictionsInterface.d.ts +1 -1
- package/dist/output-gateway/TrafficRouter.d.ts +2 -1
- package/dist/output-gateway/TrafficRouter.js +5 -4
- package/dist/output-gateway/TrafficRouter.js.map +1 -1
- package/dist/output-gateway/models/TrafficRestrictionsModel.js +2 -2
- package/dist/output-gateway/models/TrafficRestrictionsModel.js.map +1 -1
- package/dist/output-gateway/models/index.d.ts +0 -1
- package/dist/output-gateway/models/index.js +0 -1
- package/dist/output-gateway/models/index.js.map +1 -1
- package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.d.ts +4 -3
- package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.js +13 -11
- package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.js.map +1 -1
- package/dist/schema-definitions/index.js +0 -7
- package/dist/schema-definitions/index.js.map +1 -1
- package/docs/implementation_documentation.md +36 -5
- package/docs/ndic_erdiagram.png +0 -0
- package/package.json +4 -2
- package/dist/output-gateway/models/RsdTmcOsmMappingModel.d.ts +0 -17
- package/dist/output-gateway/models/RsdTmcOsmMappingModel.js +0 -71
- package/dist/output-gateway/models/RsdTmcOsmMappingModel.js.map +0 -1
|
@@ -62,7 +62,7 @@ Popis dat, jak nám jsou posíláná na input-gateway. Pokud je vystaveno více
|
|
|
62
62
|
|
|
63
63
|
Popis transformace a případného obohacení dat. Zaměřeno hlavně na workery a jejich metody.
|
|
64
64
|
|
|
65
|
-
### *
|
|
65
|
+
### *LegacyNdicWorker*
|
|
66
66
|
|
|
67
67
|
Worker slouží pro zpracování příchozích dat NdicTrafficInfo a NdicTrafficRestrictions.
|
|
68
68
|
|
|
@@ -96,6 +96,36 @@ Worker slouží pro zpracování příchozích dat NdicTrafficInfo a NdicTraffic
|
|
|
96
96
|
- data modely
|
|
97
97
|
- `ndicTrafficRestrictionsModel` se ukládá do tabulky ndic_traffic_restrictions
|
|
98
98
|
|
|
99
|
+
#### Task *SaveTrafficRestrictionsRegions*
|
|
100
|
+
|
|
101
|
+
- vstupní rabbitmq fronta
|
|
102
|
+
- `dataplatform.ndic.saveTrafficRestrictionsRegions`
|
|
103
|
+
- (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
104
|
+
- žádné
|
|
105
|
+
- datové zdroje
|
|
106
|
+
- `rsdTmcPointsModel` - pro zjištění geo souřadnic
|
|
107
|
+
- transformace
|
|
108
|
+
- [odkaz na transformaci dat](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/master/src/integration-engine/transformations/TrafficRestrictionsTransformation.ts)
|
|
109
|
+
- (volitelně) obohacení dat
|
|
110
|
+
- stejné jako u předešlé metody *`saveTrafficInfo`*
|
|
111
|
+
- repository
|
|
112
|
+
- ukládá do tabulky `ndic_traffic_restrictions_regions`
|
|
113
|
+
- předpis stejný jako u saveTrafficRestrictions
|
|
114
|
+
- retence
|
|
115
|
+
- 48h
|
|
116
|
+
|
|
117
|
+
#### Task *RegionsDataRetention*
|
|
118
|
+
- spouští procedura `regions_data_retention` pro retenci dat v tabulce `ndic_traffic_restrictions_regions`.
|
|
119
|
+
- vstupní rabbitmq fronta
|
|
120
|
+
- `dataplatform.ndic.regionsDataRetention`
|
|
121
|
+
- (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
122
|
+
- žádné
|
|
123
|
+
- datové zdroje
|
|
124
|
+
- n/a
|
|
125
|
+
- transformace
|
|
126
|
+
- n/a
|
|
127
|
+
- (volitelně) obohacení dat
|
|
128
|
+
- n/a
|
|
99
129
|
|
|
100
130
|
## Uložení dat
|
|
101
131
|
|
|
@@ -107,7 +137,10 @@ Popis ukládání dat.
|
|
|
107
137
|
- PSQL
|
|
108
138
|
- datábázové schéma
|
|
109
139
|
- tabulka `ndic_traffic_info`
|
|
110
|
-
- tabulka `ndic_traffic_restrictions`
|
|
140
|
+
- tabulka `ndic_traffic_restrictions` (obsahuje kompletní informace z Hlavního města Prahy a Středočeského kraje)
|
|
141
|
+
- tabulka `ndic_traffic_restrictions_regions` (obsahuje časově omezené informace z regionů okolo Středočeského kraje)
|
|
142
|
+
- view `v_traffic_restrictions_all`
|
|
143
|
+
- procedura `regions_data_retention`
|
|
111
144
|

|
|
112
145
|
- retence dat
|
|
113
146
|
- n/a
|
|
@@ -145,13 +178,11 @@ Popis output-api.
|
|
|
145
178
|
- veřejné / neveřejné endpointy
|
|
146
179
|
- api je neveřejné, endpoint /restrictions je přístupný pro uživatele s rolí NDIC
|
|
147
180
|
- (volitelně) ACL
|
|
148
|
-
- postman kolekce
|
|
149
|
-
- TBD
|
|
150
181
|
|
|
151
182
|
#### */restrictions*
|
|
152
183
|
|
|
153
184
|
- zdrojové tabulky
|
|
154
|
-
- `ndic_traffic_restrictions`
|
|
185
|
+
- `v_traffic_restrictions_all` - view vzniklo spojením tabulek `ndic_traffic_restrictions` a `ndic_traffic_restrictions_regions`
|
|
155
186
|
- (volitlně) nestandardní dodatečná transformace
|
|
156
187
|
- 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
|
|
157
188
|
- (volitelně) nestandardní url a query parametry
|
package/docs/ndic_erdiagram.png
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/ndic",
|
|
3
|
-
"version": "1.1.4-dev.
|
|
3
|
+
"version": "1.1.4-dev.872604229",
|
|
4
4
|
"description": "Golemio NDIC Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"@commitlint/config-conventional": "^11.0.0",
|
|
37
37
|
"@golemio/cli": "1.4.2",
|
|
38
38
|
"@golemio/core": "1.6.8",
|
|
39
|
+
"@golemio/traffic-common": "0.1.0-dev.864393677",
|
|
39
40
|
"@golemio/db-common": "1.1.1",
|
|
40
41
|
"@golemio/eslint-config": "1.1.0",
|
|
41
42
|
"@ovos-media/ts-transform-paths": "^1.7.18-1",
|
|
@@ -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"
|
|
73
75
|
}
|
|
74
76
|
}
|
|
@@ -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"}
|