@golemio/pid 2.1.4-dev.429117968 → 2.1.6-dev.444858828
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/__truncate_tables.sql +1 -0
- package/db/example/ropidvymi_example.sql +12 -12
- package/db/migrations/postgresql/20211213120726-ropidvymi-refactoring.js +53 -0
- package/db/migrations/postgresql/package.json +3 -0
- package/db/migrations/postgresql/sqls/20211213120726-ropidvymi-refactoring-down.sql +45 -0
- package/db/migrations/postgresql/sqls/20211213120726-ropidvymi-refactoring-up.sql +54 -0
- package/db/migrations/postgresql/sqls/package.json +3 -0
- package/dist/integration-engine/queueDefinitions.js +13 -3
- package/dist/integration-engine/queueDefinitions.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.d.ts +2 -36
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js +18 -321
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js +13 -12
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js.map +1 -1
- package/dist/integration-engine/ropid-vymi/RopidVYMIEventsTransformation.d.ts +11 -11
- package/dist/integration-engine/ropid-vymi/RopidVYMIEventsTransformation.js +45 -39
- package/dist/integration-engine/ropid-vymi/RopidVYMIEventsTransformation.js.map +1 -1
- package/dist/integration-engine/ropid-vymi/RopidVYMIWorker.d.ts +15 -2
- package/dist/integration-engine/ropid-vymi/RopidVYMIWorker.js +115 -17
- package/dist/integration-engine/ropid-vymi/RopidVYMIWorker.js.map +1 -1
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsModel.d.ts +0 -16
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsModel.js +2 -46
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsModel.js.map +1 -1
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsRoutesModel.d.ts +0 -14
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsRoutesModel.js +2 -48
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsRoutesModel.js.map +1 -1
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.d.ts +0 -13
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.js +2 -50
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.js.map +1 -1
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIMetadataModel.d.ts +8 -0
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIMetadataModel.js +44 -0
- package/dist/integration-engine/ropid-vymi/models/RopidVYMIMetadataModel.js.map +1 -0
- package/dist/integration-engine/ropid-vymi/models/index.d.ts +1 -0
- package/dist/integration-engine/ropid-vymi/models/index.js +1 -0
- package/dist/integration-engine/ropid-vymi/models/index.js.map +1 -1
- package/dist/integration-engine/shared/RopidMetadataModel.d.ts +29 -0
- package/dist/integration-engine/shared/RopidMetadataModel.js +261 -0
- package/dist/integration-engine/shared/RopidMetadataModel.js.map +1 -0
- package/dist/integration-engine/shared/index.d.ts +1 -0
- package/dist/integration-engine/shared/index.js +14 -0
- package/dist/integration-engine/shared/index.js.map +1 -0
- package/dist/output-gateway/departure-boards/DepartureBoardsRouter.d.ts +0 -4
- package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js +6 -25
- package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js.map +1 -1
- package/dist/output-gateway/pid/PIDRouter.d.ts +0 -4
- package/dist/output-gateway/pid/PIDRouter.js +7 -16
- package/dist/output-gateway/pid/PIDRouter.js.map +1 -1
- package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.js +1 -1
- package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.js.map +1 -1
- package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.js +2 -3
- package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.js.map +1 -1
- package/dist/output-gateway/shared/RopidRouterUtils.d.ts +12 -0
- package/dist/output-gateway/shared/RopidRouterUtils.js +45 -0
- package/dist/output-gateway/shared/RopidRouterUtils.js.map +1 -0
- package/dist/output-gateway/shared/index.d.ts +1 -0
- package/dist/output-gateway/shared/index.js +14 -0
- package/dist/output-gateway/shared/index.js.map +1 -0
- package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.d.ts +0 -9
- package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js +6 -47
- package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/index.d.ts +2 -604
- package/dist/schema-definitions/ropid-gtfs/index.js +3 -24
- package/dist/schema-definitions/ropid-gtfs/index.js.map +1 -1
- package/dist/schema-definitions/ropid-vymi/RopidVYMIOutputSchemas.d.ts +135 -126
- package/dist/schema-definitions/ropid-vymi/RopidVYMIOutputSchemas.js +138 -129
- package/dist/schema-definitions/ropid-vymi/RopidVYMIOutputSchemas.js.map +1 -1
- package/dist/schema-definitions/ropid-vymi/RopidVYMISDMA.js +24 -23
- package/dist/schema-definitions/ropid-vymi/RopidVYMISDMA.js.map +1 -1
- package/dist/schema-definitions/ropid-vymi/index.d.ts +2 -181
- package/dist/schema-definitions/ropid-vymi/index.js +7 -0
- package/dist/schema-definitions/ropid-vymi/index.js.map +1 -1
- package/dist/schema-definitions/shared/index.d.ts +15 -0
- package/dist/schema-definitions/shared/index.js +29 -0
- package/dist/schema-definitions/shared/index.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,25 +1,8 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.RopidVYMIEventsStopsModel = void 0;
|
|
16
|
-
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
17
4
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
18
|
-
const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
|
|
19
|
-
const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
|
|
20
|
-
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
21
5
|
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
22
|
-
const ropid_gtfs_1 = require("../../../schema-definitions/ropid-gtfs");
|
|
23
6
|
const ropid_vymi_1 = require("../../../schema-definitions/ropid-vymi");
|
|
24
7
|
/**
|
|
25
8
|
* Custom Postgres model for Ropid VYMI Events Stops
|
|
@@ -27,43 +10,12 @@ const ropid_vymi_1 = require("../../../schema-definitions/ropid-vymi");
|
|
|
27
10
|
class RopidVYMIEventsStopsModel extends models_1.PostgresModel {
|
|
28
11
|
constructor() {
|
|
29
12
|
super(ropid_vymi_1.RopidVYMI.eventsStops.name + "Model", {
|
|
13
|
+
hasTmpTable: true,
|
|
30
14
|
outputSequelizeAttributes: ropid_vymi_1.RopidVYMI.eventsStops.outputSequelizeAttributes,
|
|
31
15
|
pgTableName: ropid_vymi_1.RopidVYMI.eventsStops.pgTableName,
|
|
32
16
|
pgSchema: ropid_vymi_1.RopidVYMI.pgSchema,
|
|
33
|
-
savingType: "
|
|
17
|
+
savingType: "insertOnly",
|
|
34
18
|
}, new golemio_validator_1.JSONSchemaValidator(ropid_vymi_1.RopidVYMI.eventsStops.name + "ModelValidator", ropid_vymi_1.RopidVYMI.eventsStops.outputJsonSchema));
|
|
35
|
-
this.saveStop = (data, transaction) => __awaiter(this, void 0, void 0, function* () {
|
|
36
|
-
data.gtfs_stop_id = yield this.findGTFSStopId(data.node_number, data.stop_number);
|
|
37
|
-
try {
|
|
38
|
-
yield this.validator.Validate(data);
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
throw new golemio_errors_1.CustomError("Error while validating data.", true, this.name, 4005, err);
|
|
42
|
-
}
|
|
43
|
-
try {
|
|
44
|
-
yield this.sequelizeModel.upsert(data, { transaction, returning: false });
|
|
45
|
-
}
|
|
46
|
-
catch (err) {
|
|
47
|
-
helpers_1.log.error(err);
|
|
48
|
-
yield transaction.rollback();
|
|
49
|
-
throw new golemio_errors_1.CustomError("Error while saving to database.", true, this.name, 4001, err);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
/**
|
|
53
|
-
* Find GTFS stop id based on asw stop id (node number, stop number)
|
|
54
|
-
* @example 145/3 -> U!45Z3P
|
|
55
|
-
*/
|
|
56
|
-
this.findGTFSStopId = (nodeNumber, stopNumber) => __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
var _a;
|
|
58
|
-
const partialStopId = `U${nodeNumber}Z${stopNumber}`;
|
|
59
|
-
const record = yield this.ropidGTFSTripsModel.findOne({
|
|
60
|
-
attributes: ["stop_id"],
|
|
61
|
-
where: sequelize_1.default.where(sequelize_1.default.col("stop_id"), "~", `^${partialStopId}(P|N)?(_\\d+)?$`),
|
|
62
|
-
raw: true,
|
|
63
|
-
});
|
|
64
|
-
return (_a = record === null || record === void 0 ? void 0 : record.stop_id) !== null && _a !== void 0 ? _a : null;
|
|
65
|
-
});
|
|
66
|
-
this.ropidGTFSTripsModel = connectors_1.PostgresConnector.getConnection().define(ropid_gtfs_1.RopidGTFS.stops.pgTableName, ropid_gtfs_1.RopidGTFS.stops.outputSequelizeAttributes, { timestamps: false, schema: ropid_gtfs_1.RopidGTFS.pgSchema });
|
|
67
19
|
}
|
|
68
20
|
}
|
|
69
21
|
exports.RopidVYMIEventsStopsModel = RopidVYMIEventsStopsModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RopidVYMIEventsStopsModel.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RopidVYMIEventsStopsModel.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.ts"],"names":[],"mappings":";;;AAAA,mFAAkF;AAClF,yEAAqF;AACrF,uEAA4C;AAE5C;;GAEG;AACH,MAAa,yBAA0B,SAAQ,sBAAa;IACxD;QACI,KAAK,CACD,sBAAS,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,EACpC;YACI,WAAW,EAAE,IAAI;YACjB,yBAAyB,EAAE,sBAAS,CAAC,WAAW,CAAC,yBAAyB;YAC1E,WAAW,EAAE,sBAAS,CAAC,WAAW,CAAC,WAAW;YAC9C,QAAQ,EAAE,sBAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,sBAAS,CAAC,WAAW,CAAC,IAAI,GAAG,gBAAgB,EAAE,sBAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CACjH,CAAC;IACN,CAAC;CACJ;AAdD,8DAcC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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.RopidVYMIMetadataModel = exports.DatasetEnum = void 0;
|
|
13
|
+
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
14
|
+
const shared_1 = require("../../shared");
|
|
15
|
+
const ropid_vymi_1 = require("../../../schema-definitions/ropid-vymi");
|
|
16
|
+
var DatasetEnum;
|
|
17
|
+
(function (DatasetEnum) {
|
|
18
|
+
DatasetEnum["EVENTS"] = "EVENTS";
|
|
19
|
+
})(DatasetEnum = exports.DatasetEnum || (exports.DatasetEnum = {}));
|
|
20
|
+
class RopidVYMIMetadataModel extends shared_1.RopidMetadataModel {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(ropid_vymi_1.RopidVYMI);
|
|
23
|
+
this.getDigest = (dataset) => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
var _a;
|
|
25
|
+
try {
|
|
26
|
+
const result = yield this.sequelizeModel.findOne({
|
|
27
|
+
order: [["version", "DESC"]],
|
|
28
|
+
where: {
|
|
29
|
+
dataset,
|
|
30
|
+
key: shared_1.MetaDatasetInfoKeyEnum.DIGEST,
|
|
31
|
+
type: shared_1.MetaTypeEnum.DATASET_INFO,
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
return ((_a = result === null || result === void 0 ? void 0 : result.dataValues) === null || _a === void 0 ? void 0 : _a.value) || null;
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
helpers_1.log.warn(err);
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.RopidVYMIMetadataModel = RopidVYMIMetadataModel;
|
|
44
|
+
//# sourceMappingURL=RopidVYMIMetadataModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RopidVYMIMetadataModel.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/models/RopidVYMIMetadataModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAAoE;AACpE,yCAAsF;AACtF,uEAA4C;AAE5C,IAAY,WAEX;AAFD,WAAY,WAAW;IACnB,gCAAiB,CAAA;AACrB,CAAC,EAFW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAEtB;AAED,MAAa,sBAAuB,SAAQ,2BAAkB;IAC1D;QACI,KAAK,CAAC,sBAAS,CAAC,CAAC;QAGd,cAAS,GAAG,CAAO,OAAe,EAAuB,EAAE;;YAC9D,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC7C,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC5B,KAAK,EAAE;wBACH,OAAO;wBACP,GAAG,EAAE,+BAAsB,CAAC,MAAM;wBAClC,IAAI,EAAE,qBAAY,CAAC,YAAY;qBAClC;iBACJ,CAAC,CAAC;gBACH,OAAO,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,KAAK,KAAI,IAAI,CAAC;aAC5C;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC;aACf;QACL,CAAC,CAAA,CAAC;IAjBF,CAAC;CAkBJ;AArBD,wDAqBC"}
|
|
@@ -13,4 +13,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
__exportStar(require("./RopidVYMIEventsModel"), exports);
|
|
14
14
|
__exportStar(require("./RopidVYMIEventsRoutesModel"), exports);
|
|
15
15
|
__exportStar(require("./RopidVYMIEventsStopsModel"), exports);
|
|
16
|
+
__exportStar(require("./RopidVYMIMetadataModel"), exports);
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAuC;AACvC,+DAA6C;AAC7C,8DAA4C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAuC;AACvC,+DAA6C;AAC7C,8DAA4C;AAC5C,2DAAyC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
|
|
2
|
+
import { IRopidSchemaDefinitions } from "../../schema-definitions/shared";
|
|
3
|
+
export declare enum MetaTypeEnum {
|
|
4
|
+
DATASET_INFO = "DATASET_INFO",
|
|
5
|
+
STATE = "STATE",
|
|
6
|
+
TABLE_TOTAL_COUNT = "TABLE_TOTAL_COUNT",
|
|
7
|
+
SAVED_ROWS = "SAVED_ROWS"
|
|
8
|
+
}
|
|
9
|
+
export declare enum MetaStateEnum {
|
|
10
|
+
DOWNLOADED = "DOWNLOADED",
|
|
11
|
+
SAVED = "SAVED"
|
|
12
|
+
}
|
|
13
|
+
export declare enum MetaDatasetInfoKeyEnum {
|
|
14
|
+
LAST_MODIFIED = "last_modified",
|
|
15
|
+
FAILED = "failed",
|
|
16
|
+
DEPLOYED = "deployed",
|
|
17
|
+
NUMBER_OF_RETRIES = "number_of_retries",
|
|
18
|
+
DIGEST = "digest"
|
|
19
|
+
}
|
|
20
|
+
export declare class RopidMetadataModel extends PostgresModel implements IModel {
|
|
21
|
+
protected readonly schemaDefinitions: IRopidSchemaDefinitions;
|
|
22
|
+
constructor(schemaDefinitions: IRopidSchemaDefinitions);
|
|
23
|
+
getLastModified: (dataset: string) => Promise<any | null>;
|
|
24
|
+
checkSavedRows: (dataset: string, version: number) => Promise<void>;
|
|
25
|
+
replaceTmpTables: (dataset: string, version: number) => Promise<boolean>;
|
|
26
|
+
rollbackFailedSaving: (dataset: string, version: number) => Promise<any>;
|
|
27
|
+
private getTotalFromMeta;
|
|
28
|
+
private getTotalFromTables;
|
|
29
|
+
}
|
|
@@ -0,0 +1,261 @@
|
|
|
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.RopidMetadataModel = exports.MetaDatasetInfoKeyEnum = exports.MetaStateEnum = exports.MetaTypeEnum = void 0;
|
|
16
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
17
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
18
|
+
const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
|
|
19
|
+
const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
|
|
20
|
+
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
21
|
+
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
22
|
+
var MetaTypeEnum;
|
|
23
|
+
(function (MetaTypeEnum) {
|
|
24
|
+
MetaTypeEnum["DATASET_INFO"] = "DATASET_INFO";
|
|
25
|
+
MetaTypeEnum["STATE"] = "STATE";
|
|
26
|
+
MetaTypeEnum["TABLE_TOTAL_COUNT"] = "TABLE_TOTAL_COUNT";
|
|
27
|
+
MetaTypeEnum["SAVED_ROWS"] = "SAVED_ROWS";
|
|
28
|
+
})(MetaTypeEnum = exports.MetaTypeEnum || (exports.MetaTypeEnum = {}));
|
|
29
|
+
var MetaStateEnum;
|
|
30
|
+
(function (MetaStateEnum) {
|
|
31
|
+
MetaStateEnum["DOWNLOADED"] = "DOWNLOADED";
|
|
32
|
+
MetaStateEnum["SAVED"] = "SAVED";
|
|
33
|
+
})(MetaStateEnum = exports.MetaStateEnum || (exports.MetaStateEnum = {}));
|
|
34
|
+
var MetaDatasetInfoKeyEnum;
|
|
35
|
+
(function (MetaDatasetInfoKeyEnum) {
|
|
36
|
+
MetaDatasetInfoKeyEnum["LAST_MODIFIED"] = "last_modified";
|
|
37
|
+
MetaDatasetInfoKeyEnum["FAILED"] = "failed";
|
|
38
|
+
MetaDatasetInfoKeyEnum["DEPLOYED"] = "deployed";
|
|
39
|
+
MetaDatasetInfoKeyEnum["NUMBER_OF_RETRIES"] = "number_of_retries";
|
|
40
|
+
MetaDatasetInfoKeyEnum["DIGEST"] = "digest";
|
|
41
|
+
})(MetaDatasetInfoKeyEnum = exports.MetaDatasetInfoKeyEnum || (exports.MetaDatasetInfoKeyEnum = {}));
|
|
42
|
+
class RopidMetadataModel extends models_1.PostgresModel {
|
|
43
|
+
constructor(schemaDefinitions) {
|
|
44
|
+
super(schemaDefinitions.metadata.name + "Model", {
|
|
45
|
+
outputSequelizeAttributes: schemaDefinitions.metadata.outputSequelizeAttributes,
|
|
46
|
+
pgTableName: schemaDefinitions.metadata.pgTableName,
|
|
47
|
+
pgSchema: schemaDefinitions.pgSchema,
|
|
48
|
+
savingType: "insertOnly",
|
|
49
|
+
}, new golemio_validator_1.Validator(schemaDefinitions.metadata.name + "ModelValidator", schemaDefinitions.metadata.outputMongooseSchemaObject));
|
|
50
|
+
this.schemaDefinitions = schemaDefinitions;
|
|
51
|
+
this.getLastModified = (dataset) => __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
try {
|
|
53
|
+
const lastMod = yield this.sequelizeModel.findOne({
|
|
54
|
+
order: [["version", "DESC"]],
|
|
55
|
+
where: {
|
|
56
|
+
dataset,
|
|
57
|
+
key: MetaDatasetInfoKeyEnum.LAST_MODIFIED,
|
|
58
|
+
type: MetaTypeEnum.DATASET_INFO,
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
return lastMod
|
|
62
|
+
? {
|
|
63
|
+
lastModified: lastMod.dataValues ? lastMod.dataValues.value : null,
|
|
64
|
+
version: lastMod.dataValues ? parseInt(lastMod.dataValues.version, 10) : 1,
|
|
65
|
+
}
|
|
66
|
+
: {
|
|
67
|
+
lastModified: null,
|
|
68
|
+
version: 0,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
helpers_1.log.warn(err);
|
|
73
|
+
return {
|
|
74
|
+
lastModified: null,
|
|
75
|
+
version: 0,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
this.checkSavedRows = (dataset, version) => __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
const meta = yield this.getTotalFromMeta(dataset, version);
|
|
81
|
+
const tables = yield this.getTotalFromTables(dataset, version);
|
|
82
|
+
if (meta.totalRows !== tables.totalRows || meta.numOfTables !== tables.numOfTables) {
|
|
83
|
+
throw new golemio_errors_1.CustomError(this.name + ": checkSavedRows() failed.", true);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
this.replaceTmpTables = (dataset, version) => __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
const connection = connectors_1.PostgresConnector.getConnection();
|
|
88
|
+
const t = yield connection.transaction();
|
|
89
|
+
try {
|
|
90
|
+
const tables = yield this.sequelizeModel.findAll({
|
|
91
|
+
attributes: [["key", "tn"]],
|
|
92
|
+
transaction: t,
|
|
93
|
+
where: {
|
|
94
|
+
dataset,
|
|
95
|
+
type: MetaTypeEnum.STATE,
|
|
96
|
+
value: MetaStateEnum.SAVED,
|
|
97
|
+
version,
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
const promises = tables.map((table) => __awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
const pgTableName = this.schemaDefinitions[table.dataValues.tn].pgTableName;
|
|
102
|
+
helpers_1.log.debug(`Replacing tables: processing table ${pgTableName}`);
|
|
103
|
+
const tableName = this.schemaDefinitions.pgSchema + "." + pgTableName;
|
|
104
|
+
const tmpTableName = "tmp." + pgTableName;
|
|
105
|
+
// getting table columns and joining them into string for the INSERT SELECT command
|
|
106
|
+
// it's because the "star" from "INSERT INTO table SELECT * FROM other_table" not working
|
|
107
|
+
const columns = yield connection.query("SELECT column_name " +
|
|
108
|
+
"FROM information_schema.columns " +
|
|
109
|
+
`WHERE table_schema = '${this.schemaDefinitions.pgSchema}' ` +
|
|
110
|
+
"AND table_name = '" +
|
|
111
|
+
this.schemaDefinitions[table.dataValues.tn].pgTableName +
|
|
112
|
+
"'; ", { type: sequelize_1.default.QueryTypes.SELECT, transaction: t });
|
|
113
|
+
const columnsString = columns.map((c) => '"' + c.column_name + '"').join(", ");
|
|
114
|
+
return connection.query("LOCK " +
|
|
115
|
+
tableName +
|
|
116
|
+
" IN EXCLUSIVE MODE; " +
|
|
117
|
+
"SET lock_timeout TO '1min'; " +
|
|
118
|
+
"TRUNCATE TABLE " +
|
|
119
|
+
tableName +
|
|
120
|
+
" CASCADE; " +
|
|
121
|
+
"INSERT INTO " +
|
|
122
|
+
tableName +
|
|
123
|
+
" (" +
|
|
124
|
+
columnsString +
|
|
125
|
+
")" +
|
|
126
|
+
" SELECT " +
|
|
127
|
+
columnsString +
|
|
128
|
+
" FROM " +
|
|
129
|
+
tmpTableName +
|
|
130
|
+
"; " +
|
|
131
|
+
"DROP TABLE IF EXISTS " +
|
|
132
|
+
tmpTableName +
|
|
133
|
+
"; ", { type: sequelize_1.default.QueryTypes.RAW, transaction: t });
|
|
134
|
+
}));
|
|
135
|
+
yield Promise.all(promises);
|
|
136
|
+
helpers_1.log.debug(`Replacing tables: processing finished.`);
|
|
137
|
+
// save meta
|
|
138
|
+
yield this.sequelizeModel.create({
|
|
139
|
+
dataset,
|
|
140
|
+
key: MetaDatasetInfoKeyEnum.DEPLOYED,
|
|
141
|
+
type: MetaTypeEnum.DATASET_INFO,
|
|
142
|
+
value: "true",
|
|
143
|
+
version,
|
|
144
|
+
}, { transaction: t });
|
|
145
|
+
yield this.sequelizeModel.destroy({
|
|
146
|
+
transaction: t,
|
|
147
|
+
where: {
|
|
148
|
+
dataset,
|
|
149
|
+
version: {
|
|
150
|
+
[sequelize_1.default.Op.and]: [
|
|
151
|
+
// delete all versions older than ten versions back
|
|
152
|
+
{ [sequelize_1.default.Op.lt]: version - 10 },
|
|
153
|
+
{ [sequelize_1.default.Op.ne]: -1 },
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
});
|
|
158
|
+
yield t.commit();
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
161
|
+
catch (err) {
|
|
162
|
+
helpers_1.log.error(err);
|
|
163
|
+
yield t.rollback();
|
|
164
|
+
throw new golemio_errors_1.CustomError(this.name + ": replaceTmpTables() failed.", true, undefined, undefined, err);
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
this.rollbackFailedSaving = (dataset, version) => __awaiter(this, void 0, void 0, function* () {
|
|
168
|
+
yield this.save({
|
|
169
|
+
dataset,
|
|
170
|
+
key: MetaDatasetInfoKeyEnum.FAILED,
|
|
171
|
+
type: MetaTypeEnum.DATASET_INFO,
|
|
172
|
+
value: new Date().toISOString(),
|
|
173
|
+
version,
|
|
174
|
+
});
|
|
175
|
+
const numberOfRetries = yield this.sequelizeModel.findOne({
|
|
176
|
+
attributes: [["value", "retries"]],
|
|
177
|
+
where: {
|
|
178
|
+
dataset,
|
|
179
|
+
key: MetaDatasetInfoKeyEnum.NUMBER_OF_RETRIES,
|
|
180
|
+
type: MetaTypeEnum.DATASET_INFO,
|
|
181
|
+
version: version - 1,
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
if (!numberOfRetries) {
|
|
185
|
+
yield this.save({
|
|
186
|
+
dataset,
|
|
187
|
+
key: MetaDatasetInfoKeyEnum.NUMBER_OF_RETRIES,
|
|
188
|
+
type: MetaTypeEnum.DATASET_INFO,
|
|
189
|
+
value: 1,
|
|
190
|
+
version,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
yield this.save({
|
|
195
|
+
dataset,
|
|
196
|
+
key: MetaDatasetInfoKeyEnum.NUMBER_OF_RETRIES,
|
|
197
|
+
type: MetaTypeEnum.DATASET_INFO,
|
|
198
|
+
value: +numberOfRetries.dataValues.retries + 1,
|
|
199
|
+
version,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
this.getTotalFromMeta = (dataset, version) => __awaiter(this, void 0, void 0, function* () {
|
|
204
|
+
const tables = yield this.sequelizeModel.findAll({
|
|
205
|
+
attributes: [["key", "tn"]],
|
|
206
|
+
where: {
|
|
207
|
+
dataset,
|
|
208
|
+
type: MetaTypeEnum.TABLE_TOTAL_COUNT,
|
|
209
|
+
version,
|
|
210
|
+
},
|
|
211
|
+
});
|
|
212
|
+
const result = yield this.sequelizeModel.findAll({
|
|
213
|
+
attributes: [[sequelize_1.default.fn("SUM", sequelize_1.default.cast(sequelize_1.default.col("value"), "INTEGER")), "total"]],
|
|
214
|
+
where: {
|
|
215
|
+
dataset,
|
|
216
|
+
type: MetaTypeEnum.TABLE_TOTAL_COUNT,
|
|
217
|
+
version,
|
|
218
|
+
},
|
|
219
|
+
});
|
|
220
|
+
const res = {
|
|
221
|
+
numOfTables: tables.length,
|
|
222
|
+
totalRows: result[0].dataValues.total,
|
|
223
|
+
};
|
|
224
|
+
helpers_1.log.debug(this.name + " Total from metadata: " + JSON.stringify(res));
|
|
225
|
+
return res;
|
|
226
|
+
});
|
|
227
|
+
this.getTotalFromTables = (dataset, version) => __awaiter(this, void 0, void 0, function* () {
|
|
228
|
+
const connection = connectors_1.PostgresConnector.getConnection();
|
|
229
|
+
const tables = yield this.sequelizeModel.findAll({
|
|
230
|
+
attributes: [["key", "tn"]],
|
|
231
|
+
where: {
|
|
232
|
+
dataset,
|
|
233
|
+
type: MetaTypeEnum.TABLE_TOTAL_COUNT,
|
|
234
|
+
version,
|
|
235
|
+
},
|
|
236
|
+
});
|
|
237
|
+
const tablesArray = [];
|
|
238
|
+
tables.map((table) => {
|
|
239
|
+
tablesArray.push("'" + this.schemaDefinitions[table.dataValues.tn].pgTableName + "'");
|
|
240
|
+
});
|
|
241
|
+
// TODO zbavit se raw query
|
|
242
|
+
const result = yield connection.query("SELECT SUM(count_rows(table_schema, table_name)) as total " +
|
|
243
|
+
"FROM information_schema.tables " +
|
|
244
|
+
"WHERE " +
|
|
245
|
+
"table_schema NOT IN ('pg_catalog', 'information_schema') " +
|
|
246
|
+
"AND table_type = 'BASE TABLE' " +
|
|
247
|
+
"AND table_name in (" +
|
|
248
|
+
tablesArray.join(",") +
|
|
249
|
+
") " +
|
|
250
|
+
"AND table_schema = 'tmp'; ", { type: sequelize_1.default.QueryTypes.SELECT });
|
|
251
|
+
const res = {
|
|
252
|
+
numOfTables: tables.length,
|
|
253
|
+
totalRows: result[0].total,
|
|
254
|
+
};
|
|
255
|
+
helpers_1.log.debug(this.name + " Total from tables: " + JSON.stringify(res));
|
|
256
|
+
return res;
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
exports.RopidMetadataModel = RopidMetadataModel;
|
|
261
|
+
//# sourceMappingURL=RopidMetadataModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RopidMetadataModel.js","sourceRoot":"","sources":["../../../src/integration-engine/shared/RopidMetadataModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./RopidMetadataModel";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./RopidMetadataModel"), exports);
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAqC"}
|
|
@@ -23,10 +23,6 @@ export declare class DepartureBoardsRouter extends BaseRouter {
|
|
|
23
23
|
* Initiates all routes. Should respond with correct data to a HTTP requests to all routes.
|
|
24
24
|
*/
|
|
25
25
|
private transformResponseData;
|
|
26
|
-
/**
|
|
27
|
-
* Formats datetime value to Zulu format or to preferred timezone by given query parameter
|
|
28
|
-
*/
|
|
29
|
-
private formatDatetime;
|
|
30
26
|
/**
|
|
31
27
|
* Initiates all routes. Should respond with correct data to a HTTP requests to all routes.
|
|
32
28
|
*/
|
|
@@ -16,18 +16,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
16
16
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
20
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
21
|
-
};
|
|
22
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
20
|
exports.departureBoardsRouter = exports.DepartureBoardsRouter = void 0;
|
|
24
21
|
const lodash_1 = require("lodash");
|
|
25
22
|
const express_1 = require("@golemio/core/dist/shared/express");
|
|
26
23
|
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
|
|
27
|
-
const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
|
|
28
24
|
const redis_1 = require("@golemio/core/dist/output-gateway/redis");
|
|
29
25
|
const BaseRouter_1 = require("@golemio/core/dist/output-gateway/routes/BaseRouter");
|
|
30
26
|
const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
|
|
27
|
+
const shared_1 = require("../shared");
|
|
31
28
|
const pid_1 = require("../pid");
|
|
32
29
|
/**
|
|
33
30
|
* @deprecated use /pid/departureboards instead
|
|
@@ -54,13 +51,7 @@ class DepartureBoardsRouter extends BaseRouter_1.BaseRouter {
|
|
|
54
51
|
const gtfsIds = this.ConvertToArray(req.query.ids || []);
|
|
55
52
|
const names = this.ConvertToArray(req.query.names || []);
|
|
56
53
|
const limit = parseInt(req.query.limit || this.defaultQueryParameters.limit, 10);
|
|
57
|
-
|
|
58
|
-
// default is UTC zulu format
|
|
59
|
-
let preferredTimezone = "UTC";
|
|
60
|
-
if (req.query.preferredTimezone &&
|
|
61
|
-
moment_timezone_1.default.tz.names().includes(req.query.preferredTimezone.replace(/_/g, "/"))) {
|
|
62
|
-
preferredTimezone = req.query.preferredTimezone;
|
|
63
|
-
}
|
|
54
|
+
const preferredTimezone = shared_1.RopidRouterUtils.validateAndReturnTimezone(req.query.preferredTimezone, this.constructor.name);
|
|
64
55
|
try {
|
|
65
56
|
const data = yield this.departureBoardsModel.GetAll({
|
|
66
57
|
aswIds,
|
|
@@ -88,9 +79,9 @@ class DepartureBoardsRouter extends BaseRouter_1.BaseRouter {
|
|
|
88
79
|
return {
|
|
89
80
|
arrival_timestamp: {
|
|
90
81
|
// with added delay
|
|
91
|
-
predicted:
|
|
82
|
+
predicted: shared_1.RopidRouterUtils.formatTimestamp(x.arrival_datetime_real, preferredTimezone),
|
|
92
83
|
// according to trip plan
|
|
93
|
-
scheduled:
|
|
84
|
+
scheduled: shared_1.RopidRouterUtils.formatTimestamp(x.arrival_datetime, preferredTimezone),
|
|
94
85
|
},
|
|
95
86
|
delay: {
|
|
96
87
|
is_available: x.is_delay_available,
|
|
@@ -99,9 +90,9 @@ class DepartureBoardsRouter extends BaseRouter_1.BaseRouter {
|
|
|
99
90
|
},
|
|
100
91
|
departure_timestamp: {
|
|
101
92
|
// with added delay
|
|
102
|
-
predicted:
|
|
93
|
+
predicted: shared_1.RopidRouterUtils.formatTimestamp(x.departure_datetime_real, preferredTimezone),
|
|
103
94
|
// according to trip plan
|
|
104
|
-
scheduled:
|
|
95
|
+
scheduled: shared_1.RopidRouterUtils.formatTimestamp(x.departure_datetime, preferredTimezone),
|
|
105
96
|
},
|
|
106
97
|
// last_stop: {
|
|
107
98
|
// id: null, // TBD
|
|
@@ -125,16 +116,6 @@ class DepartureBoardsRouter extends BaseRouter_1.BaseRouter {
|
|
|
125
116
|
},
|
|
126
117
|
};
|
|
127
118
|
};
|
|
128
|
-
/**
|
|
129
|
-
* Formats datetime value to Zulu format or to preferred timezone by given query parameter
|
|
130
|
-
*/
|
|
131
|
-
this.formatDatetime = (datetime, preferredTimezone) => {
|
|
132
|
-
if (datetime === null)
|
|
133
|
-
return null;
|
|
134
|
-
if (preferredTimezone === "UTC")
|
|
135
|
-
return datetime;
|
|
136
|
-
return (0, moment_timezone_1.default)(datetime).tz(preferredTimezone).toISOString(true);
|
|
137
|
-
};
|
|
138
119
|
/**
|
|
139
120
|
* Initiates all routes. Should respond with correct data to a HTTP requests to all routes.
|
|
140
121
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepartureBoardsRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/departure-boards/DepartureBoardsRouter.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG
|
|
1
|
+
{"version":3,"file":"DepartureBoardsRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/departure-boards/DepartureBoardsRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,10 +22,6 @@ export declare class PIDRouter extends BaseRouter {
|
|
|
22
22
|
* @param routerName name passed to the returned Error object in case of fail
|
|
23
23
|
*/
|
|
24
24
|
private checkTimeFromMiddleware;
|
|
25
|
-
/**
|
|
26
|
-
* Formats datetime value to Zulu format or to preferred timezone by given query parameter
|
|
27
|
-
*/
|
|
28
|
-
private formatDatetime;
|
|
29
25
|
/**
|
|
30
26
|
* Initiates all routes. Should respond with correct data to a HTTP requests to all routes.
|
|
31
27
|
*/
|