@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.
Files changed (60) hide show
  1. package/db/example/00_reset.sql +1 -0
  2. package/db/example/01_reset3rdParty.sql +0 -9
  3. package/db/example/02_sql_dump.sql +0 -8
  4. package/db/migrations/postgresql/20230515142731-regions-traffic-restrictions.js +53 -0
  5. package/db/migrations/postgresql/sqls/20230515142731-regions-traffic-restrictions-down.sql +3 -0
  6. package/db/migrations/postgresql/sqls/20230515142731-regions-traffic-restrictions-up.sql +110 -0
  7. package/dist/integration-engine/LegacyNdicWorker.d.ts +13 -0
  8. package/dist/integration-engine/LegacyNdicWorker.js +69 -0
  9. package/dist/integration-engine/LegacyNdicWorker.js.map +1 -0
  10. package/dist/integration-engine/NdicWorker.d.ts +3 -16
  11. package/dist/integration-engine/NdicWorker.js +7 -97
  12. package/dist/integration-engine/NdicWorker.js.map +1 -1
  13. package/dist/integration-engine/helpers/LteCze90PointsChecker.d.ts +8 -0
  14. package/dist/integration-engine/helpers/LteCze90PointsChecker.js +40 -0
  15. package/dist/integration-engine/helpers/LteCze90PointsChecker.js.map +1 -0
  16. package/dist/integration-engine/helpers/TrafficRestrictionsHelper.d.ts +7 -0
  17. package/dist/integration-engine/helpers/TrafficRestrictionsHelper.js +58 -0
  18. package/dist/integration-engine/helpers/TrafficRestrictionsHelper.js.map +1 -0
  19. package/dist/integration-engine/index.d.ts +3 -1
  20. package/dist/integration-engine/index.js +4 -1
  21. package/dist/integration-engine/index.js.map +1 -1
  22. package/dist/integration-engine/ioc/ContainerToken.d.ts +4 -0
  23. package/dist/integration-engine/ioc/ContainerToken.js +8 -0
  24. package/dist/integration-engine/ioc/ContainerToken.js.map +1 -0
  25. package/dist/integration-engine/ioc/Di.d.ts +3 -0
  26. package/dist/integration-engine/ioc/Di.js +18 -0
  27. package/dist/integration-engine/ioc/Di.js.map +1 -0
  28. package/dist/integration-engine/models/RsdTmcPointsModel.js +16 -2
  29. package/dist/integration-engine/models/RsdTmcPointsModel.js.map +1 -1
  30. package/dist/integration-engine/queueDefinitions.js +3 -3
  31. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  32. package/dist/integration-engine/tasks/RegionsDataRetention.d.ts +6 -0
  33. package/dist/integration-engine/tasks/RegionsDataRetention.js +34 -0
  34. package/dist/integration-engine/tasks/RegionsDataRetention.js.map +1 -0
  35. package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.d.ts +14 -0
  36. package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.js +50 -0
  37. package/dist/integration-engine/tasks/SaveTrafficRestrictionsRegions.js.map +1 -0
  38. package/dist/integration-engine/tasks/schema/TrafficRestrictionsRegionsSchema.d.ts +18 -0
  39. package/dist/integration-engine/tasks/schema/TrafficRestrictionsRegionsSchema.js +29 -0
  40. package/dist/integration-engine/tasks/schema/TrafficRestrictionsRegionsSchema.js.map +1 -0
  41. package/dist/integration-engine/transformations/TrafficRestrictionsInterface.d.ts +1 -1
  42. package/dist/output-gateway/TrafficRouter.d.ts +2 -1
  43. package/dist/output-gateway/TrafficRouter.js +5 -4
  44. package/dist/output-gateway/TrafficRouter.js.map +1 -1
  45. package/dist/output-gateway/models/TrafficRestrictionsModel.js +2 -2
  46. package/dist/output-gateway/models/TrafficRestrictionsModel.js.map +1 -1
  47. package/dist/output-gateway/models/index.d.ts +0 -1
  48. package/dist/output-gateway/models/index.js +0 -1
  49. package/dist/output-gateway/models/index.js.map +1 -1
  50. package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.d.ts +4 -3
  51. package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.js +13 -11
  52. package/dist/output-gateway/transformations/OutputTrafficRestrictionsTransformation.js.map +1 -1
  53. package/dist/schema-definitions/index.js +0 -7
  54. package/dist/schema-definitions/index.js.map +1 -1
  55. package/docs/implementation_documentation.md +36 -5
  56. package/docs/ndic_erdiagram.png +0 -0
  57. package/package.json +4 -2
  58. package/dist/output-gateway/models/RsdTmcOsmMappingModel.d.ts +0 -17
  59. package/dist/output-gateway/models/RsdTmcOsmMappingModel.js +0 -71
  60. 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
- ### *NdicWorker*
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
  ![ndic er diagram](ndic_erdiagram.png "ERD")
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
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/ndic",
3
- "version": "1.1.4-dev.856047480",
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"}