@golemio/pid 2.1.4-dev.429036521 → 2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/db/example/__truncate_tables.sql +1 -0
  2. package/db/example/ropidvymi_example.sql +12 -12
  3. package/db/migrations/postgresql/20211213120726-ropidvymi-refactoring.js +53 -0
  4. package/db/migrations/postgresql/package.json +3 -0
  5. package/db/migrations/postgresql/sqls/20211213120726-ropidvymi-refactoring-down.sql +45 -0
  6. package/db/migrations/postgresql/sqls/20211213120726-ropidvymi-refactoring-up.sql +54 -0
  7. package/db/migrations/postgresql/sqls/package.json +3 -0
  8. package/dist/integration-engine/queueDefinitions.js +13 -3
  9. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  10. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.d.ts +2 -36
  11. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js +18 -321
  12. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js.map +1 -1
  13. package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js +13 -12
  14. package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js.map +1 -1
  15. package/dist/integration-engine/ropid-vymi/RopidVYMIEventsTransformation.d.ts +11 -11
  16. package/dist/integration-engine/ropid-vymi/RopidVYMIEventsTransformation.js +45 -39
  17. package/dist/integration-engine/ropid-vymi/RopidVYMIEventsTransformation.js.map +1 -1
  18. package/dist/integration-engine/ropid-vymi/RopidVYMIWorker.d.ts +15 -2
  19. package/dist/integration-engine/ropid-vymi/RopidVYMIWorker.js +115 -17
  20. package/dist/integration-engine/ropid-vymi/RopidVYMIWorker.js.map +1 -1
  21. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsModel.d.ts +0 -16
  22. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsModel.js +2 -46
  23. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsModel.js.map +1 -1
  24. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsRoutesModel.d.ts +0 -14
  25. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsRoutesModel.js +2 -48
  26. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsRoutesModel.js.map +1 -1
  27. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.d.ts +0 -13
  28. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.js +2 -50
  29. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.js.map +1 -1
  30. package/dist/integration-engine/ropid-vymi/models/RopidVYMIMetadataModel.d.ts +8 -0
  31. package/dist/integration-engine/ropid-vymi/models/RopidVYMIMetadataModel.js +44 -0
  32. package/dist/integration-engine/ropid-vymi/models/RopidVYMIMetadataModel.js.map +1 -0
  33. package/dist/integration-engine/ropid-vymi/models/index.d.ts +1 -0
  34. package/dist/integration-engine/ropid-vymi/models/index.js +1 -0
  35. package/dist/integration-engine/ropid-vymi/models/index.js.map +1 -1
  36. package/dist/integration-engine/shared/RopidMetadataModel.d.ts +29 -0
  37. package/dist/integration-engine/shared/RopidMetadataModel.js +261 -0
  38. package/dist/integration-engine/shared/RopidMetadataModel.js.map +1 -0
  39. package/dist/integration-engine/shared/index.d.ts +1 -0
  40. package/dist/integration-engine/shared/index.js +14 -0
  41. package/dist/integration-engine/shared/index.js.map +1 -0
  42. package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.js +1 -1
  43. package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.js.map +1 -1
  44. package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.js +2 -3
  45. package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.js.map +1 -1
  46. package/dist/schema-definitions/ropid-gtfs/index.d.ts +2 -604
  47. package/dist/schema-definitions/ropid-gtfs/index.js +3 -24
  48. package/dist/schema-definitions/ropid-gtfs/index.js.map +1 -1
  49. package/dist/schema-definitions/ropid-vymi/RopidVYMIOutputSchemas.d.ts +135 -126
  50. package/dist/schema-definitions/ropid-vymi/RopidVYMIOutputSchemas.js +138 -129
  51. package/dist/schema-definitions/ropid-vymi/RopidVYMIOutputSchemas.js.map +1 -1
  52. package/dist/schema-definitions/ropid-vymi/RopidVYMISDMA.js +24 -23
  53. package/dist/schema-definitions/ropid-vymi/RopidVYMISDMA.js.map +1 -1
  54. package/dist/schema-definitions/ropid-vymi/index.d.ts +2 -181
  55. package/dist/schema-definitions/ropid-vymi/index.js +7 -0
  56. package/dist/schema-definitions/ropid-vymi/index.js.map +1 -1
  57. package/dist/schema-definitions/shared/index.d.ts +15 -0
  58. package/dist/schema-definitions/shared/index.js +29 -0
  59. package/dist/schema-definitions/shared/index.js.map +1 -0
  60. package/package.json +83 -83
@@ -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: "insertOrUpdate",
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":";;;;;;;;;;;;;;;AAAA,6EAAuE;AACvE,mFAAkF;AAClF,oFAA6E;AAC7E,iFAAqF;AACrF,2EAAoE;AACpE,yEAAqF;AACrF,uEAA4C;AAC5C,uEAAuE;AAEvE;;GAEG;AACH,MAAa,yBAA0B,SAAQ,sBAAa;IAMxD;QACI,KAAK,CACD,sBAAS,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,EACpC;YACI,yBAAyB,EAAE,sBAAS,CAAC,WAAW,CAAC,yBAAyB;YAC1E,WAAW,EAAE,sBAAS,CAAC,WAAW,CAAC,WAAW;YAC9C,QAAQ,EAAE,sBAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,sBAAS,CAAC,WAAW,CAAC,IAAI,GAAG,gBAAgB,EAAE,sBAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CACjH,CAAC;QASC,aAAQ,GAAG,CAAO,IAA+B,EAAE,WAAwB,EAAiB,EAAE;YACjG,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAElF,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACvC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,8BAA8B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aACrF;YAED,IAAI;gBACA,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aAC7E;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,4BAAW,CAAC,iCAAiC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aACxF;QACL,CAAC,CAAA,CAAC;QAEF;;;WAGG;QACK,mBAAc,GAAG,CAAO,UAAkB,EAAE,UAAkB,EAA0B,EAAE;;YAC9F,MAAM,aAAa,GAAG,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;gBAClD,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,KAAK,EAAE,mBAAS,CAAC,KAAK,CAAC,mBAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,aAAa,iBAAiB,CAAC;gBACzF,GAAG,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,IAAI,CAAC;QACnC,CAAC,CAAA,CAAC;QAtCE,IAAI,CAAC,mBAAmB,GAAG,8BAAiB,CAAC,aAAa,EAAE,CAAC,MAAM,CAC/D,sBAAS,CAAC,KAAK,CAAC,WAAW,EAC3B,sBAAS,CAAC,KAAK,CAAC,yBAAyB,EACzC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAS,CAAC,QAAQ,EAAE,CACpD,CAAC;IACN,CAAC;CAkCJ;AAzDD,8DAyDC"}
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,8 @@
1
+ import { RopidMetadataModel } from "../../shared";
2
+ export declare enum DatasetEnum {
3
+ EVENTS = "EVENTS"
4
+ }
5
+ export declare class RopidVYMIMetadataModel extends RopidMetadataModel {
6
+ constructor();
7
+ getDigest: (dataset: string) => Promise<any | null>;
8
+ }
@@ -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"}
@@ -1,3 +1,4 @@
1
1
  export * from "./RopidVYMIEventsModel";
2
2
  export * from "./RopidVYMIEventsRoutesModel";
3
3
  export * from "./RopidVYMIEventsStopsModel";
4
+ export * from "./RopidVYMIMetadataModel";
@@ -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"}
@@ -192,7 +192,7 @@ class PIDDepartureBoardsModel {
192
192
  this.ropidDeparturesModel = new RopidDeparturesModel_1.RopidDeparturesModel();
193
193
  this.ropidVYMIEventsStopsModel.sequelizeModel.belongsTo(this.ropidVYMIEventsModel.sequelizeModel, {
194
194
  as: "event",
195
- targetKey: "id",
195
+ targetKey: "vymi_id",
196
196
  foreignKey: "event_id",
197
197
  });
198
198
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PIDDepartureBoardsModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/PIDDepartureBoardsModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PIDDepartureBoardsModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/PIDDepartureBoardsModel.ts"],"names":[],"mappings":"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"}
@@ -84,11 +84,10 @@ class RopidVYMIEventsStopsModel extends output_gateway_1.SequelizeModel {
84
84
  [sequelize_1.default.fn("ARRAY_AGG", sequelize_1.default.col("gtfs_stop_id")), "related_stops"],
85
85
  ],
86
86
  include: {
87
- attributes: ["id"],
87
+ attributes: ["vymi_id"],
88
88
  as: "event",
89
89
  model: output_gateway_1.sequelizeConnection.models[ropid_vymi_1.RopidVYMI.events.pgTableName],
90
90
  where: {
91
- record_type: InfotextsRecordTypeEnum.EXCEPTION,
92
91
  expiration_date: {
93
92
  [sequelize_1.default.Op.or]: [null, { [sequelize_1.default.Op.gte]: timeFrom.toISOString() }],
94
93
  },
@@ -102,7 +101,7 @@ class RopidVYMIEventsStopsModel extends output_gateway_1.SequelizeModel {
102
101
  [sequelize_1.default.Op.and]: [{ [sequelize_1.default.Op.ne]: null }, { [sequelize_1.default.Op.ne]: "" }],
103
102
  },
104
103
  },
105
- group: ["valid_from", "valid_to", "text", "stop_type", "event.id"],
104
+ group: ["valid_from", "valid_to", "text", "stop_type", "event.vymi_id"],
106
105
  raw: true,
107
106
  })));
108
107
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RopidVYMIEventsStopsModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/RopidVYMIEventsStopsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAAwF;AACxF,uEAA4C;AAC5C,gGAA2E;AAC3E,oFAA4D;AAC5D,oDAAuB;AAEvB,IAAK,uBAIJ;AAJD,WAAK,uBAAuB;IACxB,+EAAa,CAAA;IACb,mGAAuB,CAAA;IACvB,6FAAoB,CAAA;AACxB,CAAC,EAJI,uBAAuB,KAAvB,uBAAuB,QAI3B;AAED,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAChC,6CAAiB,CAAA;IACjB,+CAAmB,CAAA;AACvB,CAAC,EAHW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAGnC;AAoBD;;GAEG;AACH,MAAa,yBAA0B,SAAQ,+BAAc;IAQzD;QACI,KAAK,CACD,sBAAS,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,EACpC,sBAAS,CAAC,WAAW,CAAC,WAAW,EACjC,sBAAS,CAAC,WAAW,CAAC,yBAAyB,EAC/C,EAAE,MAAM,EAAE,sBAAS,CAAC,QAAQ,EAAE,CACjC,CAAC;QAGN;;;;WAIG;QACK,gBAAW,GAAG,CAAC,IAA0B,EAA8B,EAAE;YAC7E,iCAAiC;YACjC,mDAAmD;YACnD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAA4B,IAAI,EAA3B,kBAAkB,UAAK,IAAI,EAA1E,yBAAmE,CAAO,CAAC;YACjF,OAAO,gBACH,YAAY,EAAE,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,EACnH,OAAO,EAAE,IAAI,IACV,kBAAkB,CACM,CAAC;QACpC,CAAC,CAAC;QAEF;;;;WAIG;QACK,iBAAY,GAAG,CAAC,KAA6B,EAAgC,EAAE;YACnF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF;;;;;WAKG;QACI,6BAAwB,GAAG,CAC9B,QAAkB,EAClB,WAAmB,IAAA,yBAAM,GAAE,EACU,EAAE;YACvC,IAAI,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACrB,OAAO,EAAkC,CAAC;aAC7C;YACD,OAAO,IAAI,CAAC,YAAY,CACpB,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC/B,UAAU,EAAE;oBACR,YAAY;oBACZ,UAAU;oBACV,MAAM;oBACN,WAAW;oBACX,CAAC,mBAAS,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC;iBAC9E;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE,CAAC,IAAI,CAAC;oBAClB,EAAE,EAAE,OAAO;oBACX,KAAK,EAAE,oCAAmB,CAAC,MAAM,CAAC,sBAAS,CAAC,MAAM,CAAC,WAAW,CAAC;oBAC/D,KAAK,EAAE;wBACH,WAAW,EAAE,uBAAuB,CAAC,SAAS;wBAC9C,eAAe,EAAE;4BACb,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;yBAC5E;qBACJ;iBACJ;gBACD,KAAK,EAAE;oBACH,YAAY,EAAE;wBACV,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ;qBAC9B;oBACD,IAAI,EAAE;wBACF,CAAC,mBAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;qBAC/E;iBACJ;gBACD,KAAK,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;gBAClE,GAAG,EAAE,IAAI;aACZ,CAAC,CAA2B,CAChC,CAAC;QACN,CAAC,CAAA,CAAC;IAxEF,CAAC;IAdD,MAAM,CAAC,OAAa;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,EAAO;QACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;CAkFJ;AAxFD,8DAwFC"}
1
+ {"version":3,"file":"RopidVYMIEventsStopsModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/RopidVYMIEventsStopsModel.ts"],"names":[],"mappings":"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"}