@golemio/fcd 1.0.7-dev.545427196 → 1.0.8-dev.557510777
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/rsd_tmc_osm_mapping.sql +13 -0
- package/dist/output-gateway/models/RsdTmcOsmMappingModel.d.ts +7 -6
- package/dist/output-gateway/models/RsdTmcOsmMappingModel.js +5 -6
- package/dist/output-gateway/models/RsdTmcOsmMappingModel.js.map +1 -1
- package/dist/output-gateway/transformations/OutputFloatingCarDataTransformation.d.ts +0 -1
- package/dist/output-gateway/transformations/OutputFloatingCarDataTransformation.js +2 -15
- package/dist/output-gateway/transformations/OutputFloatingCarDataTransformation.js.map +1 -1
- package/dist/output-gateway/transformations/getLocationPointsFromTsString.d.ts +4 -0
- package/dist/output-gateway/transformations/getLocationPointsFromTsString.js +19 -0
- package/dist/output-gateway/transformations/getLocationPointsFromTsString.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
DROP TABLE IF EXISTS public.rsd_tmc_osm_mapping;
|
|
2
|
+
|
|
3
|
+
CREATE TABLE public.rsd_tmc_osm_mapping (
|
|
4
|
+
lt_start int8 NULL,
|
|
5
|
+
lt_end int8 NULL,
|
|
6
|
+
osm_path text NULL
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
INSERT INTO public.rsd_tmc_osm_mapping ("lt_start", "lt_end", "osm_path") VALUES
|
|
10
|
+
(10123, 10125, '[1017997529, 977504768, 1994461410, 5216395185, 977504817, 340196025, 1837022967, 5919113281, 7881860424, 977504742, 7881860432, 977504743, 7881860435, 1826208722, 1837041100]');
|
|
11
|
+
|
|
12
|
+
INSERT INTO public.rsd_tmc_osm_mapping ("lt_start", "lt_end", "osm_path") VALUES
|
|
13
|
+
(19629, 10127, '[29381030, 29403193, 338604070, 29381028, 338604072, 29403192, 2681371748, 1138616634, 2681371747, 308815174, 1138624651, 29403191]');
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { SequelizeModel } from "@golemio/core/dist/output-gateway/models";
|
|
2
|
+
export interface LocationConfigOptions {
|
|
3
|
+
ltStart: string;
|
|
4
|
+
ltEnd: string;
|
|
5
|
+
}
|
|
2
6
|
export declare class RsdTmcOsmMappingModel extends SequelizeModel {
|
|
3
7
|
constructor();
|
|
4
8
|
/**
|
|
5
9
|
* @param {object} [options] Options object with params
|
|
6
|
-
* @param {
|
|
7
|
-
* @param {
|
|
10
|
+
* @param {string} [options.ltStart] Options object with params
|
|
11
|
+
* @param {string} [options.ltEnd] Options object with params
|
|
8
12
|
* @returns Array of the retrieved records
|
|
9
13
|
*/
|
|
10
|
-
GetOne: (options:
|
|
11
|
-
ltStart: string;
|
|
12
|
-
ltEnd: string;
|
|
13
|
-
}) => Promise<any>;
|
|
14
|
+
GetOne: (options: LocationConfigOptions) => Promise<any>;
|
|
14
15
|
GetAll: () => Promise<object | null>;
|
|
15
16
|
}
|
|
@@ -24,13 +24,12 @@ class RsdTmcOsmMappingModel extends models_1.SequelizeModel {
|
|
|
24
24
|
});
|
|
25
25
|
/**
|
|
26
26
|
* @param {object} [options] Options object with params
|
|
27
|
-
* @param {
|
|
28
|
-
* @param {
|
|
27
|
+
* @param {string} [options.ltStart] Options object with params
|
|
28
|
+
* @param {string} [options.ltEnd] Options object with params
|
|
29
29
|
* @returns Array of the retrieved records
|
|
30
30
|
*/
|
|
31
31
|
this.GetOne = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
|
|
33
|
-
if (!ltStart || !ltEnd)
|
|
32
|
+
if (!options.ltStart || !options.ltEnd)
|
|
34
33
|
return null;
|
|
35
34
|
try {
|
|
36
35
|
const Op = sequelize_1.default.Op;
|
|
@@ -38,10 +37,10 @@ class RsdTmcOsmMappingModel extends models_1.SequelizeModel {
|
|
|
38
37
|
[Op.and]: [{}],
|
|
39
38
|
};
|
|
40
39
|
where[Op.and].push({
|
|
41
|
-
lt_start:
|
|
40
|
+
lt_start: Number(options.ltStart),
|
|
42
41
|
});
|
|
43
42
|
where[Op.and].push({
|
|
44
|
-
lt_end:
|
|
43
|
+
lt_end: Number(options.ltEnd),
|
|
45
44
|
});
|
|
46
45
|
const rsdTmcOsmMappingFromDB = yield this.sequelizeModel.findOne({
|
|
47
46
|
raw: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RsdTmcOsmMappingModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/RsdTmcOsmMappingModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oFAA4D;AAC5D,6EAAuE;AACvE,qEAA0E;AAC1E,mDAA2B;
|
|
1
|
+
{"version":3,"file":"RsdTmcOsmMappingModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/RsdTmcOsmMappingModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oFAA4D;AAC5D,6EAAuE;AACvE,qEAA0E;AAC1E,mDAA2B;AAO3B,MAAa,qBAAsB,SAAQ,uBAAc;IACrD;QACI,KAAK,CACD,UAAG,CAAC,mBAAmB,CAAC,IAAI,GAAG,OAAO,EACtC,UAAG,CAAC,mBAAmB,CAAC,WAAW,EACnC,UAAG,CAAC,mBAAmB,CAAC,yBAAyB,EACjD;YACI,MAAM,EAAE,QAAQ;SACnB,CACJ,CAAC;QAGN;;;;;WAKG;QAEI,WAAM,GAAG,CAAO,OAA8B,EAAgB,EAAE;YACnE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAEpD,IAAI;gBACA,MAAM,EAAE,GAAG,mBAAS,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG;oBACV,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;iBACjB,CAAC;gBAEF,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;iBACpC,CAAC,CAAC;gBAEH,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACf,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;iBAChC,CAAC,CAAC;gBAEH,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC7D,GAAG,EAAE,IAAI;oBACT,KAAK;iBACR,CAAC,CAAC;gBAEH,IAAI;oBACA,OAAO,IAAI,CAAC,KAAK,CAAC,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,QAAQ,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,IAAI,CAAC;iBACf;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACzG;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,GAAiC,EAAE;YAC/C,MAAM,IAAI,4BAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAC5E,CAAC,CAAA,CAAC;IA3CF,CAAC;CA4CJ;AAtDD,sDAsDC"}
|
|
@@ -5,5 +5,4 @@ export declare class OutputFloatingCarDataTransformation {
|
|
|
5
5
|
protected rsdTmcOsmMappingModel: RsdTmcOsmMappingModel;
|
|
6
6
|
constructor();
|
|
7
7
|
transform: (data: IFloatingCarDataModel[], isRequestedPathOsm: Boolean) => Promise<IOutputApiFloatingCarData>;
|
|
8
|
-
private getRsdTmcOsmMappingModelOptions;
|
|
9
8
|
}
|
|
@@ -14,9 +14,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.OutputFloatingCarDataTransformation = void 0;
|
|
16
16
|
const _sch_1 = require("../../schema-definitions");
|
|
17
|
-
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
18
17
|
const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
|
|
19
18
|
const models_1 = require("../models");
|
|
19
|
+
const getLocationPointsFromTsString_1 = require("./getLocationPointsFromTsString");
|
|
20
20
|
class OutputFloatingCarDataTransformation {
|
|
21
21
|
constructor() {
|
|
22
22
|
this.transform = (data, isRequestedPathOsm) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -48,7 +48,7 @@ class OutputFloatingCarDataTransformation {
|
|
|
48
48
|
itemResultObject.toPoint = item.to_point.toString();
|
|
49
49
|
}
|
|
50
50
|
if (isRequestedPathOsm) {
|
|
51
|
-
itemResultObject.osmPath = yield this.rsdTmcOsmMappingModel.GetOne(
|
|
51
|
+
itemResultObject.osmPath = yield this.rsdTmcOsmMappingModel.GetOne((0, getLocationPointsFromTsString_1.getLocationPointsFromTsString)(item.predefined_location));
|
|
52
52
|
}
|
|
53
53
|
elaboratedData.push(itemResultObject);
|
|
54
54
|
if (item.measurement_or_calculation_time > latestPublicationTime) {
|
|
@@ -73,19 +73,6 @@ class OutputFloatingCarDataTransformation {
|
|
|
73
73
|
this.rsdTmcOsmMappingModel = new models_1.RsdTmcOsmMappingModel();
|
|
74
74
|
this.rsdTmcOsmMappingModel.sequelizeModel.removeAttribute("id");
|
|
75
75
|
}
|
|
76
|
-
getRsdTmcOsmMappingModelOptions(location) {
|
|
77
|
-
const regex = /((?<=TS)(.*?)(?=T))|((?<=\dT)(.*?)(?=$))/g;
|
|
78
|
-
const pointsArr = location.match(regex);
|
|
79
|
-
if ((pointsArr === null || pointsArr === void 0 ? void 0 : pointsArr.length) == 2 && pointsArr[0] && pointsArr[1]) {
|
|
80
|
-
return {
|
|
81
|
-
ltStart: pointsArr[1],
|
|
82
|
-
ltEnd: pointsArr[0],
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
throw new golemio_errors_1.CustomError("Unable to parse RsdTmcOsmMappingModelOptions from the location", true, "FCDRouter", 500);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
76
|
}
|
|
90
77
|
exports.OutputFloatingCarDataTransformation = OutputFloatingCarDataTransformation;
|
|
91
78
|
//# sourceMappingURL=OutputFloatingCarDataTransformation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputFloatingCarDataTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/OutputFloatingCarDataTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mDAA2B;AAM3B,
|
|
1
|
+
{"version":3,"file":"OutputFloatingCarDataTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/OutputFloatingCarDataTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLocationPointsFromTsString = void 0;
|
|
4
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
5
|
+
function getLocationPointsFromTsString(location) {
|
|
6
|
+
const regex = /((?<=TS)(.*?)(?=T))|((?<=\dT)(.*?)(?=$))/g;
|
|
7
|
+
const pointsArr = location.match(regex);
|
|
8
|
+
if ((pointsArr === null || pointsArr === void 0 ? void 0 : pointsArr.length) == 2 && pointsArr[0] && pointsArr[1]) {
|
|
9
|
+
return {
|
|
10
|
+
ltStart: pointsArr[1],
|
|
11
|
+
ltEnd: pointsArr[0],
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
throw new golemio_errors_1.CustomError("Unable to parse RsdTmcOsmMappingModelOptions from the location", true, "FCDRouter", 500);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.getLocationPointsFromTsString = getLocationPointsFromTsString;
|
|
19
|
+
//# sourceMappingURL=getLocationPointsFromTsString.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLocationPointsFromTsString.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/getLocationPointsFromTsString.ts"],"names":[],"mappings":";;;AAAA,6EAAuE;AAEvE,SAAgB,6BAA6B,CAAC,QAAgB;IAC1D,MAAM,KAAK,GAAG,2CAA2C,CAAC;IAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,KAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;QACxD,OAAO;YACH,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;YACrB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;SACtB,CAAC;KACL;SAAM;QACH,MAAM,IAAI,4BAAW,CAAC,gEAAgE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;KACnH;AACL,CAAC;AAXD,sEAWC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/fcd",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8-dev.557510777",
|
|
4
4
|
"description": "Golemio Floating Car Data Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"@commitlint/cli": "^11.0.0",
|
|
31
31
|
"@commitlint/config-conventional": "^11.0.0",
|
|
32
32
|
"@golemio/cli": "1.2.2",
|
|
33
|
-
"@golemio/core": "1.2.10
|
|
34
|
-
"@golemio/db-common": "1.0.1
|
|
33
|
+
"@golemio/core": "1.2.10",
|
|
34
|
+
"@golemio/db-common": "1.0.1",
|
|
35
35
|
"@golemio/eslint-config": "^1.0.2",
|
|
36
36
|
"@ovos-media/ts-transform-paths": "^1.7.18-1",
|
|
37
37
|
"@types/body-parser-xml": "^1.1.0",
|