@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
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModuleContainerToken = void 0;
|
|
4
|
+
const ModuleContainerToken = {
|
|
5
|
+
RsdTmcPointsRepository: Symbol(),
|
|
6
|
+
};
|
|
7
|
+
exports.ModuleContainerToken = ModuleContainerToken;
|
|
8
|
+
//# sourceMappingURL=ContainerToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,sBAAsB,EAAE,MAAM,EAAE;CACnC,CAAC;AAEO,oDAAoB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NdicContainer = void 0;
|
|
4
|
+
const RsdTmcPointsModel_1 = require("../models/RsdTmcPointsModel");
|
|
5
|
+
const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
|
|
6
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
7
|
+
const ContainerToken_1 = require("./ContainerToken");
|
|
8
|
+
//#region Initialization
|
|
9
|
+
const NdicContainer = Di_1.IntegrationEngineContainer.createChildContainer();
|
|
10
|
+
exports.NdicContainer = NdicContainer;
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region Datasource
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region Transformation
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region Repositories
|
|
17
|
+
NdicContainer.register(ContainerToken_1.ModuleContainerToken.RsdTmcPointsRepository, RsdTmcPointsModel_1.RsdTmcPointsModel, { lifecycle: tsyringe_1.Lifecycle.Singleton });
|
|
18
|
+
//# sourceMappingURL=Di.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,mEAAiE;AACjE,qEAA0F;AAC1F,iEAAoF;AACpF,qDAAwD;AAExD,wBAAwB;AACxB,MAAM,aAAa,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAgBpF,sCAAa;AAftB,YAAY;AAEZ,oBAAoB;AACpB,YAAY;AAEZ,wBAAwB;AACxB,YAAY;AAEZ,sBAAsB;AACtB,aAAa,CAAC,QAAQ,CAAC,qCAAoB,CAAC,sBAAsB,EAAE,qCAAiB,EAAE,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC,CAAC"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
2
11
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
12
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
13
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -13,7 +22,8 @@ exports.RsdTmcPointsModel = void 0;
|
|
|
13
22
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
14
23
|
const models_1 = require("@golemio/core/dist/output-gateway/models");
|
|
15
24
|
const _sch_1 = require("../../schema-definitions");
|
|
16
|
-
|
|
25
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
26
|
+
let RsdTmcPointsModel = class RsdTmcPointsModel extends models_1.SequelizeModel {
|
|
17
27
|
constructor() {
|
|
18
28
|
super(_sch_1.Ndic.rsd_tmc_points.name + "Model", _sch_1.Ndic.rsd_tmc_points.pgTableName, _sch_1.Ndic.rsd_tmc_points.outputSequelizeAttributes);
|
|
19
29
|
/**
|
|
@@ -37,6 +47,10 @@ class RsdTmcPointsModel extends models_1.SequelizeModel {
|
|
|
37
47
|
return objFromDb[0];
|
|
38
48
|
});
|
|
39
49
|
}
|
|
40
|
-
}
|
|
50
|
+
};
|
|
51
|
+
RsdTmcPointsModel = __decorate([
|
|
52
|
+
(0, tsyringe_1.injectable)(),
|
|
53
|
+
__metadata("design:paramtypes", [])
|
|
54
|
+
], RsdTmcPointsModel);
|
|
41
55
|
exports.RsdTmcPointsModel = RsdTmcPointsModel;
|
|
42
56
|
//# sourceMappingURL=RsdTmcPointsModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RsdTmcPointsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/models/RsdTmcPointsModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RsdTmcPointsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/models/RsdTmcPointsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,6EAAuE;AACvE,qEAA0E;AAC1E,mDAA4B;AAC5B,iEAAgE;AAGhE,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,uBAAc;IACjD;QACI,KAAK,CAAC,WAAI,CAAC,cAAc,CAAC,IAAI,GAAG,OAAO,EAAE,WAAI,CAAC,cAAc,CAAC,WAAW,EAAE,WAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QAG9H;;;WAGG;QAEI,WAAM,GAAG,CAAO,QAAgB,EAAgB,EAAE;YACrD,IAAI;gBACA,MAAM,kBAAkB,GAAU,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAChE,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;iBAC3B,CAAC,CAAC;gBAEH,OAAO,kBAAkB,CAAC;aAC7B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAChF;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,QAAgB,EAAuB,EAAE;YAC5D,MAAM,SAAS,GAAU,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAA,CAAC;IAvBF,CAAC;CAwBJ,CAAA;AA3BY,iBAAiB;IAD7B,IAAA,qBAAU,GAAE;;GACA,iBAAiB,CA2B7B;AA3BY,8CAAiB"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.queueDefinitions = void 0;
|
|
4
4
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
5
5
|
const _sch_1 = require("../schema-definitions");
|
|
6
|
-
const
|
|
6
|
+
const LegacyNdicWorker_1 = require("./LegacyNdicWorker");
|
|
7
7
|
const queueDefinitions = [
|
|
8
8
|
{
|
|
9
9
|
name: _sch_1.Ndic.name,
|
|
@@ -16,7 +16,7 @@ const queueDefinitions = [
|
|
|
16
16
|
deadLetterRoutingKey: "dead",
|
|
17
17
|
messageTtl: 59 * 60 * 1000, // 59 minutes
|
|
18
18
|
},
|
|
19
|
-
worker:
|
|
19
|
+
worker: LegacyNdicWorker_1.LegacyNdicWorker,
|
|
20
20
|
workerMethod: "saveTrafficInfo",
|
|
21
21
|
},
|
|
22
22
|
],
|
|
@@ -32,7 +32,7 @@ const queueDefinitions = [
|
|
|
32
32
|
deadLetterRoutingKey: "dead",
|
|
33
33
|
messageTtl: 59 * 60 * 1000, // 59 minutes
|
|
34
34
|
},
|
|
35
|
-
worker:
|
|
35
|
+
worker: LegacyNdicWorker_1.LegacyNdicWorker,
|
|
36
36
|
workerMethod: "saveTrafficRestrictions",
|
|
37
37
|
},
|
|
38
38
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,8EAAiF;AACjF,gDAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,8EAAiF;AACjF,gDAA4B;AAC5B,yDAAwD;AAExD,MAAM,gBAAgB,GAAuB;IACzC;QACI,IAAI,EAAE,WAAI,CAAC,IAAI;QACf,WAAW,EAAE,2BAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,WAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QACxE,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE;oBACL,kBAAkB,EAAE,2BAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,mCAAgB;gBACxB,YAAY,EAAE,iBAAiB;aAClC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,WAAI,CAAC,IAAI;QACf,WAAW,EAAE,2BAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,WAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QACxE,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE;oBACL,kBAAkB,EAAE,2BAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,mCAAgB;gBACxB,YAAY,EAAE,yBAAyB;aAC1C;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/workers/AbstractEmptyTask";
|
|
2
|
+
export declare class RegionsDataRetention extends AbstractEmptyTask {
|
|
3
|
+
queueName: string;
|
|
4
|
+
private DATA_RETENTION_IN_MINUTES;
|
|
5
|
+
protected execute(): Promise<void>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.RegionsDataRetention = void 0;
|
|
13
|
+
const _sch_1 = require("../../schema-definitions");
|
|
14
|
+
const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
|
|
15
|
+
const AbstractEmptyTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractEmptyTask");
|
|
16
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
17
|
+
class RegionsDataRetention extends AbstractEmptyTask_1.AbstractEmptyTask {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
this.queueName = "regionsDataRetention";
|
|
21
|
+
this.DATA_RETENTION_IN_MINUTES = 2880; // 2 days
|
|
22
|
+
}
|
|
23
|
+
execute() {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const sequelize = connectors_1.PostgresConnector.getConnection();
|
|
26
|
+
yield sequelize.query(`CALL ${_sch_1.Ndic.pgSchema}.regions_data_retention(${this.DATA_RETENTION_IN_MINUTES});`, {
|
|
27
|
+
plain: true,
|
|
28
|
+
type: sequelize_1.QueryTypes.SELECT,
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.RegionsDataRetention = RegionsDataRetention;
|
|
34
|
+
//# sourceMappingURL=RegionsDataRetention.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegionsDataRetention.js","sourceRoot":"","sources":["../../../src/integration-engine/tasks/RegionsDataRetention.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAA4B;AAC5B,iFAAqF;AACrF,uGAAoG;AACpG,mEAAiE;AAEjE,MAAa,oBAAqB,SAAQ,qCAAiB;IAA3D;;QACW,cAAS,GAAW,sBAAsB,CAAC;QAC1C,8BAAyB,GAAG,IAAI,CAAC,CAAC,SAAS;IASvD,CAAC;IAPmB,OAAO;;YACnB,MAAM,SAAS,GAAG,8BAAiB,CAAC,aAAa,EAAE,CAAC;YACpD,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,WAAI,CAAC,QAAQ,2BAA2B,IAAI,CAAC,yBAAyB,IAAI,EAAE;gBACtG,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,sBAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACP,CAAC;KAAA;CACJ;AAXD,oDAWC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ITrafficRestrictions } from "../transformations/TrafficRestrictionsInterface";
|
|
2
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
3
|
+
import TrafficRestrictionsRegionsSchema from "./schema/TrafficRestrictionsRegionsSchema";
|
|
4
|
+
export declare class SaveTrafficRestrictionsRegions extends AbstractTask<ITrafficRestrictions> {
|
|
5
|
+
queueName: string;
|
|
6
|
+
queueTtl: number;
|
|
7
|
+
protected schema: typeof TrafficRestrictionsRegionsSchema;
|
|
8
|
+
private transformation;
|
|
9
|
+
private repository;
|
|
10
|
+
private filtrationChecker;
|
|
11
|
+
constructor(queuePrefix: string);
|
|
12
|
+
protected execute: (data: ITrafficRestrictions) => Promise<void>;
|
|
13
|
+
private filterData;
|
|
14
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
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.SaveTrafficRestrictionsRegions = void 0;
|
|
16
|
+
const LteCze90PointsChecker_1 = require("../helpers/LteCze90PointsChecker");
|
|
17
|
+
const TrafficRestrictionsHelper_1 = require("../helpers/TrafficRestrictionsHelper");
|
|
18
|
+
const TrafficRestrictionsTransformation_1 = require("../transformations/TrafficRestrictionsTransformation");
|
|
19
|
+
const _sch_1 = require("../../schema-definitions");
|
|
20
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
21
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
22
|
+
const TrafficRestrictionsRegionsSchema_1 = __importDefault(require("./schema/TrafficRestrictionsRegionsSchema"));
|
|
23
|
+
class SaveTrafficRestrictionsRegions extends integration_engine_1.AbstractTask {
|
|
24
|
+
constructor(queuePrefix) {
|
|
25
|
+
super(queuePrefix);
|
|
26
|
+
this.queueName = "saveTrafficRestrictionsRegions";
|
|
27
|
+
this.queueTtl = 24 * 60 * 60 * 1000; // 24h
|
|
28
|
+
this.schema = TrafficRestrictionsRegionsSchema_1.default; // Data already validated in Input Gateway
|
|
29
|
+
this.execute = (data) => __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const transformedData = yield this.transformation.transform(data);
|
|
31
|
+
let dataToSave = yield this.filterData(transformedData);
|
|
32
|
+
dataToSave = yield TrafficRestrictionsHelper_1.TrafficRestrictionsHelper.populateWithGeomAlertCLineRestrictions(transformedData);
|
|
33
|
+
yield this.repository.save(TrafficRestrictionsHelper_1.TrafficRestrictionsHelper.uniqueRestrictionsArray(dataToSave));
|
|
34
|
+
});
|
|
35
|
+
this.filterData = (transformedData) => __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
yield this.filtrationChecker.initialize();
|
|
37
|
+
return transformedData.filter((element) => this.filtrationChecker.shouldSave(element));
|
|
38
|
+
});
|
|
39
|
+
this.transformation = new TrafficRestrictionsTransformation_1.TrafficRestrictionsTransformation();
|
|
40
|
+
this.repository = new integration_engine_1.PostgresModel(_sch_1.Ndic.traffic_restrictions.name + "Model", {
|
|
41
|
+
outputSequelizeAttributes: _sch_1.Ndic.traffic_restrictions.outputSequelizeAttributes,
|
|
42
|
+
pgSchema: _sch_1.Ndic.pgSchema,
|
|
43
|
+
pgTableName: "ndic_traffic_restrictions_regions",
|
|
44
|
+
savingType: "insertOnly",
|
|
45
|
+
}, new golemio_validator_1.JSONSchemaValidator(_sch_1.Ndic.traffic_restrictions.name + "PgModelValidator", _sch_1.Ndic.traffic_restrictions.outputSchema));
|
|
46
|
+
this.filtrationChecker = new LteCze90PointsChecker_1.LteCze90PointsChecker();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.SaveTrafficRestrictionsRegions = SaveTrafficRestrictionsRegions;
|
|
50
|
+
//# sourceMappingURL=SaveTrafficRestrictionsRegions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveTrafficRestrictionsRegions.js","sourceRoot":"","sources":["../../../src/integration-engine/tasks/SaveTrafficRestrictionsRegions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4EAA0E;AAC1E,oFAAkF;AAElF,4GAA0G;AAC1G,mDAA4B;AAC5B,8EAAoF;AACpF,mFAAkF;AAClF,iHAAyF;AAEzF,MAAa,8BAA+B,SAAQ,iCAAkC;IAQlF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARhB,cAAS,GAAW,gCAAgC,CAAC;QACrD,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM;QACnC,WAAM,GAAG,0CAAgC,CAAC,CAAC,0CAA0C;QAqBrF,YAAO,GAAG,CAAO,IAA0B,EAAiB,EAAE;YACpE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAElE,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACxD,UAAU,GAAG,MAAM,qDAAyB,CAAC,sCAAsC,CAAC,eAAe,CAAC,CAAC;YAErG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qDAAyB,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9F,CAAC,CAAA,CAAC;QAEM,eAAU,GAAG,CAAO,eAA4C,EAAE,EAAE;YACxE,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAE1C,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAA,CAAC;QA3BE,IAAI,CAAC,cAAc,GAAG,IAAI,qEAAiC,EAAE,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,kCAAa,CAC/B,WAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,OAAO,EACxC;YACI,yBAAyB,EAAE,WAAI,CAAC,oBAAoB,CAAC,yBAAyB;YAC9E,QAAQ,EAAE,WAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,mCAAmC;YAChD,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,WAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,kBAAkB,EAAE,WAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CACvH,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,6CAAqB,EAAE,CAAC;IACzD,CAAC;CAgBJ;AAtCD,wEAsCC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ISituation, ITrafficRestrictions } from "../../transformations/TrafficRestrictionsInterface";
|
|
2
|
+
export default class TrafficRestrictionsRegionsSchema implements ITrafficRestrictions {
|
|
3
|
+
$: {
|
|
4
|
+
xmlns: string;
|
|
5
|
+
"xmlns:xsi": string;
|
|
6
|
+
modelBaseVersion: string;
|
|
7
|
+
};
|
|
8
|
+
exchange: Record<string, any>;
|
|
9
|
+
payloadPublication: {
|
|
10
|
+
$: {
|
|
11
|
+
"xsi:type": string;
|
|
12
|
+
lang: string;
|
|
13
|
+
};
|
|
14
|
+
publicationTime: string;
|
|
15
|
+
publicationCreator: Record<string, any>;
|
|
16
|
+
situation: ISituation | ISituation[];
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
13
|
+
//Just mockup schema. data are validated on IG side.
|
|
14
|
+
class TrafficRestrictionsRegionsSchema {
|
|
15
|
+
}
|
|
16
|
+
__decorate([
|
|
17
|
+
(0, class_validator_1.IsObject)(),
|
|
18
|
+
__metadata("design:type", Object)
|
|
19
|
+
], TrafficRestrictionsRegionsSchema.prototype, "$", void 0);
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, class_validator_1.IsObject)(),
|
|
22
|
+
__metadata("design:type", Object)
|
|
23
|
+
], TrafficRestrictionsRegionsSchema.prototype, "exchange", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsObject)(),
|
|
26
|
+
__metadata("design:type", Object)
|
|
27
|
+
], TrafficRestrictionsRegionsSchema.prototype, "payloadPublication", void 0);
|
|
28
|
+
exports.default = TrafficRestrictionsRegionsSchema;
|
|
29
|
+
//# sourceMappingURL=TrafficRestrictionsRegionsSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrafficRestrictionsRegionsSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/tasks/schema/TrafficRestrictionsRegionsSchema.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,+EAAqE;AAErE,oDAAoD;AACpD,MAAqB,gCAAgC;CAgBpD;AAdG;IADC,IAAA,0BAAQ,GAAE;;2DAKT;AAEF;IADC,IAAA,0BAAQ,GAAE;;kEACoB;AAE/B;IADC,IAAA,0BAAQ,GAAE;;4EAMT;AAfN,mDAgBC"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -20,7 +20,7 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
|
20
20
|
const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
|
|
21
21
|
class TrafficRestrictionsModel extends models_1.SequelizeModel {
|
|
22
22
|
constructor() {
|
|
23
|
-
super(index_1.Ndic.traffic_restrictions.name,
|
|
23
|
+
super(index_1.Ndic.traffic_restrictions.name, "v_traffic_restrictions_all", index_1.Ndic.traffic_restrictions.outputSequelizeAttributes, {
|
|
24
24
|
schema: index_1.Ndic.pgSchema,
|
|
25
25
|
});
|
|
26
26
|
/**
|
|
@@ -48,7 +48,7 @@ class TrafficRestrictionsModel extends models_1.SequelizeModel {
|
|
|
48
48
|
situation_record_version_time desc) rn,
|
|
49
49
|
*
|
|
50
50
|
FROM
|
|
51
|
-
${index_1.Ndic.pgSchema}.
|
|
51
|
+
${index_1.Ndic.pgSchema}.v_traffic_restrictions_all
|
|
52
52
|
)
|
|
53
53
|
a
|
|
54
54
|
WHERE rn = 1
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAAC,YAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,4BAA4B,EAAE,YAAI,CAAC,oBAAoB,CAAC,yBAAyB,EAAE;YACrH,MAAM,EAAE,YAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAGP;;;;;;;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;;aAE7C,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;IArEF,CAAC;CAsEJ;AA3ED,4DA2EC"}
|
|
@@ -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
|
|
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 {
|
|
2
|
+
import { RsdTmcOsmMappingRepository } from "@golemio/traffic-common/dist/output-gateway";
|
|
3
3
|
export declare class OutputTrafficRestrictionsTransformation {
|
|
4
4
|
name: string;
|
|
5
|
-
protected
|
|
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.
|
|
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.
|
|
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":";;;;;;;;;;;;;;;AAAA,gGAA+D;AAC/D,mDAA4B;AAC5B,wHAM0D;AAE1D,
|
|
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;
|
|
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"}
|