@golemio/pid 2.1.4 → 2.1.6-dev.449180636
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/example/zzz_precomputed_tables.sql +70 -0
- package/db/migrations/postgresql/20211213120726-ropidvymi-refactoring.js +53 -0
- package/db/migrations/postgresql/20220112085841-ropidgtfs-scheduled-trips.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/20220112085841-ropidgtfs-scheduled-trips-down.sql +2 -0
- package/db/migrations/postgresql/sqls/20220112085841-ropidgtfs-scheduled-trips-up.sql +39 -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 +3 -36
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js +21 -321
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.d.ts +21 -0
- package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js +150 -0
- package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.d.ts +1 -0
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js +16 -12
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/index.d.ts +1 -0
- package/dist/integration-engine/ropid-gtfs/index.js +1 -0
- package/dist/integration-engine/ropid-gtfs/index.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/integration-engine/vehicle-positions/VehiclePositionsRunsModel.d.ts +2 -0
- package/dist/integration-engine/vehicle-positions/VehiclePositionsRunsModel.js +21 -85
- package/dist/integration-engine/vehicle-positions/VehiclePositionsRunsModel.js.map +1 -1
- 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/RopidGTFSPrecomputed.d.ts +65 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +100 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.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 +83 -83
|
@@ -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"}
|
|
@@ -40,6 +40,8 @@ export declare class VehiclePositionsRunsModel extends PostgresModel implements
|
|
|
40
40
|
protected savingType: "insertOnly" | "insertOrUpdate";
|
|
41
41
|
/** Associated vehiclepositions_runs_messages model */
|
|
42
42
|
protected runsMessagesModel: VehiclePositionsRunsMessagesModel;
|
|
43
|
+
/** Precomputed scheduled trips model */
|
|
44
|
+
private ropidGTFSScheduledTripsModel;
|
|
43
45
|
constructor();
|
|
44
46
|
getRunRecordForUpdate: (run: IVehiclePositionsRun) => Promise<IVehiclePositionsRun | null>;
|
|
45
47
|
createAndAssociate: ({ run, run_message }: IVehiclePositionsRunCommon) => Promise<IVehiclePositionsRunCommon>;
|
|
@@ -43,11 +43,12 @@ exports.VehiclePositionsRunsModel = void 0;
|
|
|
43
43
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
44
44
|
const sequelize_1 = __importStar(require("@golemio/core/dist/shared/sequelize"));
|
|
45
45
|
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
46
|
-
const vehicle_positions_1 = require("../../schema-definitions/vehicle-positions");
|
|
47
|
-
const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
|
|
48
|
-
const VehiclePositionsRunsMessagesModel_1 = require("./VehiclePositionsRunsMessagesModel");
|
|
49
46
|
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
50
47
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
48
|
+
const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
|
|
49
|
+
const VehiclePositionsRunsMessagesModel_1 = require("./VehiclePositionsRunsMessagesModel");
|
|
50
|
+
const RopidGTFSScheduledTripsModel_1 = require("../ropid-gtfs/RopidGTFSScheduledTripsModel");
|
|
51
|
+
const vehicle_positions_1 = require("../../schema-definitions/vehicle-positions");
|
|
51
52
|
class VehiclePositionsRunsModel extends models_1.PostgresModel {
|
|
52
53
|
constructor() {
|
|
53
54
|
super(vehicle_positions_1.VehiclePositions.runs.name + "Model", {
|
|
@@ -150,88 +151,22 @@ class VehiclePositionsRunsModel extends models_1.PostgresModel {
|
|
|
150
151
|
}
|
|
151
152
|
});
|
|
152
153
|
this.getScheduledTrips = (route_id, run_number, msg_last_timestamp) => {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
DATE_PART('year', t0.date)::INT,
|
|
170
|
-
DATE_PART('month', t0.date)::INT,
|
|
171
|
-
DATE_PART('day', t0.date)::INT,
|
|
172
|
-
DATE_PART('hour', t0.min_stop_time)::INT,
|
|
173
|
-
DATE_PART('minute', t0.min_stop_time)::INT,
|
|
174
|
-
DATE_PART('second', t0.min_stop_time),
|
|
175
|
-
'Europe/Prague'
|
|
176
|
-
)
|
|
177
|
-
END as start_timestamp,
|
|
178
|
-
CASE
|
|
179
|
-
WHEN EXTRACT(HOUR FROM t0.max_stop_time) > 23
|
|
180
|
-
THEN make_timestamptz(
|
|
181
|
-
DATE_PART('year', t0.date + INTERVAL '1 day')::INT,
|
|
182
|
-
DATE_PART('month', t0.date + INTERVAL '1 day')::INT,
|
|
183
|
-
DATE_PART('day', t0.date + INTERVAL '1 day')::INT,
|
|
184
|
-
DATE_PART('hour', t0.max_stop_time)::INT - 24,
|
|
185
|
-
DATE_PART('minute', t0.max_stop_time)::INT,
|
|
186
|
-
DATE_PART('second', t0.max_stop_time),
|
|
187
|
-
'Europe/Prague'
|
|
188
|
-
)
|
|
189
|
-
ELSE make_timestamptz(
|
|
190
|
-
DATE_PART('year', t0.date)::INT,
|
|
191
|
-
DATE_PART('month', t0.date)::INT,
|
|
192
|
-
DATE_PART('day', t0.date)::INT,
|
|
193
|
-
DATE_PART('hour', t0.max_stop_time)::INT,
|
|
194
|
-
DATE_PART('minute', t0.max_stop_time)::INT,
|
|
195
|
-
DATE_PART('second', t0.max_stop_time),
|
|
196
|
-
'Europe/Prague'
|
|
197
|
-
)
|
|
198
|
-
END as end_timestamp
|
|
199
|
-
FROM (
|
|
200
|
-
SELECT
|
|
201
|
-
t1.trip_id,
|
|
202
|
-
t1.service_id,
|
|
203
|
-
t3.date,
|
|
204
|
-
t7.route_id,
|
|
205
|
-
t7.route_type,
|
|
206
|
-
t7.route_short_name,
|
|
207
|
-
t7.is_regional,
|
|
208
|
-
t7.is_substitute_transport,
|
|
209
|
-
t7.is_night,
|
|
210
|
-
t8.trip_headsign,
|
|
211
|
-
t8.trip_short_name,
|
|
212
|
-
t8.block_id,
|
|
213
|
-
t8.exceptional,
|
|
214
|
-
LEAST(t5.arrival_time::INTERVAL, t5.departure_time::INTERVAL) AS min_stop_time,
|
|
215
|
-
GREATEST(t6.arrival_time::INTERVAL, t6.departure_time::INTERVAL) AS max_stop_time
|
|
216
|
-
FROM "${vehicle_positions_1.VehiclePositions.pgSchema}".ropidgtfs_run_numbers t1
|
|
217
|
-
LEFT JOIN "${vehicle_positions_1.VehiclePositions.pgSchema}".ropidgtfs_services_first14days t3 ON t1.service_id = t3.service_id
|
|
218
|
-
LEFT JOIN "${vehicle_positions_1.VehiclePositions.pgSchema}".ropidgtfs_trips_minmaxsequences t4 ON t1.trip_id = t4.trip_id
|
|
219
|
-
LEFT OUTER JOIN "${vehicle_positions_1.VehiclePositions.pgSchema}".ropidgtfs_stop_times t5 ON t1.trip_id = t5.trip_id AND t5.stop_sequence = t4.min_stop_sequence
|
|
220
|
-
LEFT OUTER JOIN "${vehicle_positions_1.VehiclePositions.pgSchema}".ropidgtfs_stop_times t6 ON t1.trip_id = t6.trip_id AND t6.stop_sequence = t4.max_stop_sequence
|
|
221
|
-
LEFT JOIN "${vehicle_positions_1.VehiclePositions.pgSchema}".ropidgtfs_trips t8 ON t1.trip_id = t8.trip_id
|
|
222
|
-
LEFT JOIN "${vehicle_positions_1.VehiclePositions.pgSchema}".ropidgtfs_routes t7 ON t8.route_id = t7.route_id
|
|
223
|
-
WHERE
|
|
224
|
-
t1.route_id = CONCAT('L', '${route_id}')
|
|
225
|
-
AND run_number = '${run_number}'
|
|
226
|
-
AND (
|
|
227
|
-
t3.date = '${msg_last_timestamp}'::DATE
|
|
228
|
-
OR t3.date = ('${msg_last_timestamp}'::TIMESTAMP - INTERVAL '1 day')::DATE
|
|
229
|
-
OR t3.date = ('${msg_last_timestamp}'::TIMESTAMP + INTERVAL '1 day')::DATE
|
|
230
|
-
)
|
|
231
|
-
ORDER BY date ASC, min_stop_time ASC
|
|
232
|
-
) t0
|
|
233
|
-
`, { type: sequelize_1.default.QueryTypes.SELECT });
|
|
234
|
-
/* eslint-enable max-len */
|
|
154
|
+
return this.ropidGTFSScheduledTripsModel.findAll({
|
|
155
|
+
attributes: { exclude: ["run_number"] },
|
|
156
|
+
where: {
|
|
157
|
+
route_id: "L" + route_id,
|
|
158
|
+
run_number,
|
|
159
|
+
[sequelize_1.default.Op.or]: [
|
|
160
|
+
sequelize_1.default.literal(`date = '${msg_last_timestamp}'::DATE`),
|
|
161
|
+
sequelize_1.default.literal(`date = ('${msg_last_timestamp}'::TIMESTAMP - INTERVAL '1 day')::DATE`),
|
|
162
|
+
sequelize_1.default.literal(`date = ('${msg_last_timestamp}'::TIMESTAMP + INTERVAL '1 day')::DATE`),
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
order: [
|
|
166
|
+
["date", "ASC"],
|
|
167
|
+
["min_stop_time", "ASC"],
|
|
168
|
+
],
|
|
169
|
+
});
|
|
235
170
|
};
|
|
236
171
|
this.runsMessagesModel = new VehiclePositionsRunsMessagesModel_1.VehiclePositionsRunsMessagesModel();
|
|
237
172
|
this.runsMessagesModel.sequelizeModel.belongsTo(this.sequelizeModel, { foreignKey: "runs_id", onDelete: "CASCADE" });
|
|
@@ -240,6 +175,7 @@ class VehiclePositionsRunsModel extends models_1.PostgresModel {
|
|
|
240
175
|
foreignKey: "runs_id",
|
|
241
176
|
as: "run_messages",
|
|
242
177
|
});
|
|
178
|
+
this.ropidGTFSScheduledTripsModel = new RopidGTFSScheduledTripsModel_1.RopidGTFSScheduledTripsModel();
|
|
243
179
|
}
|
|
244
180
|
}
|
|
245
181
|
exports.VehiclePositionsRunsModel = VehiclePositionsRunsModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VehiclePositionsRunsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/vehicle-positions/VehiclePositionsRunsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAAwE;AACxE,iFAAoE;AACpE,yEAAqF;AACrF,
|
|
1
|
+
{"version":3,"file":"VehiclePositionsRunsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/vehicle-positions/VehiclePositionsRunsModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
*/
|