@golemio/pid 2.2.12-dev.640043504 → 2.2.12-dev.641965809

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 (35) hide show
  1. package/dist/integration-engine/index.js +2 -1
  2. package/dist/integration-engine/index.js.map +1 -1
  3. package/dist/integration-engine/queueDefinitions.js +3 -32
  4. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  5. package/dist/integration-engine/ropid-vymi/index.d.ts +0 -1
  6. package/dist/integration-engine/ropid-vymi/index.js +0 -1
  7. package/dist/integration-engine/ropid-vymi/index.js.map +1 -1
  8. package/dist/integration-engine/ropid-vymi/workers/RopidVYMIWorker.d.ts +5 -0
  9. package/dist/integration-engine/ropid-vymi/workers/RopidVYMIWorker.js +18 -0
  10. package/dist/integration-engine/ropid-vymi/workers/RopidVYMIWorker.js.map +1 -0
  11. package/dist/integration-engine/ropid-vymi/workers/tasks/CheckForNewEventsTask.d.ts +8 -0
  12. package/dist/integration-engine/ropid-vymi/workers/tasks/CheckForNewEventsTask.js +37 -0
  13. package/dist/integration-engine/ropid-vymi/workers/tasks/CheckForNewEventsTask.js.map +1 -0
  14. package/dist/integration-engine/ropid-vymi/workers/tasks/FetchAndProcessEventsTask.d.ts +17 -0
  15. package/dist/integration-engine/ropid-vymi/workers/tasks/FetchAndProcessEventsTask.js +95 -0
  16. package/dist/integration-engine/ropid-vymi/workers/tasks/FetchAndProcessEventsTask.js.map +1 -0
  17. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.d.ts +10 -0
  18. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.js +68 -0
  19. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.js.map +1 -0
  20. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiOutputLevel.d.ts +5 -0
  21. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiOutputLevel.js +10 -0
  22. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiOutputLevel.js.map +1 -0
  23. package/dist/integration-engine/ropid-vymi/workers/tasks/interfaces/IEventFetchOutput.d.ts +5 -0
  24. package/dist/integration-engine/ropid-vymi/workers/tasks/interfaces/IEventFetchOutput.js +3 -0
  25. package/dist/integration-engine/ropid-vymi/workers/tasks/interfaces/IEventFetchOutput.js.map +1 -0
  26. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/EventFetchOutputValidationSchema.d.ts +6 -0
  27. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/EventFetchOutputValidationSchema.js +29 -0
  28. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/EventFetchOutputValidationSchema.js.map +1 -0
  29. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/RopidVYMIEventValidationSchema.d.ts +47 -0
  30. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/RopidVYMIEventValidationSchema.js +202 -0
  31. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/RopidVYMIEventValidationSchema.js.map +1 -0
  32. package/package.json +2 -2
  33. package/dist/integration-engine/ropid-vymi/RopidVYMIWorker.d.ts +0 -27
  34. package/dist/integration-engine/ropid-vymi/RopidVYMIWorker.js +0 -165
  35. package/dist/integration-engine/ropid-vymi/RopidVYMIWorker.js.map +0 -1
@@ -27,10 +27,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.workers = exports.VehiclePositions = exports.RopidVYMI = exports.RopidGTFS = void 0;
30
+ const RopidVYMIWorker_1 = require("./ropid-vymi/workers/RopidVYMIWorker");
30
31
  const RunsWorker_1 = require("./vehicle-positions/workers/runs/RunsWorker");
31
32
  exports.RopidGTFS = __importStar(require("./ropid-gtfs"));
32
33
  exports.RopidVYMI = __importStar(require("./ropid-vymi"));
33
34
  exports.VehiclePositions = __importStar(require("./vehicle-positions"));
34
35
  __exportStar(require("./queueDefinitions"), exports);
35
- exports.workers = [RunsWorker_1.RunsWorker];
36
+ exports.workers = [RunsWorker_1.RunsWorker, RopidVYMIWorker_1.RopidVYMIWorker];
36
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4EAAyE;AAEzE,0DAA0C;AAC1C,0DAA0C;AAC1C,wEAAwD;AACxD,qDAAmC;AACtB,QAAA,OAAO,GAAoC,CAAC,uBAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0EAAuE;AACvE,4EAAyE;AAEzE,0DAA0C;AAC1C,0DAA0C;AAC1C,wEAAwD;AACxD,qDAAmC;AACtB,QAAA,OAAO,GAAoC,CAAC,uBAAU,EAAE,iCAAe,CAAC,CAAC"}
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.queueDefinitions = void 0;
4
- const config_1 = require("@golemio/core/dist/integration-engine/config");
5
- const ropid_gtfs_1 = require("../schema-definitions/ropid-gtfs");
6
- const ropid_vymi_1 = require("../schema-definitions/ropid-vymi");
7
- const vehicle_positions_1 = require("../schema-definitions/vehicle-positions");
8
4
  const RopidGTFSWorker_1 = require("./ropid-gtfs/RopidGTFSWorker");
9
- const RopidVYMIWorker_1 = require("./ropid-vymi/RopidVYMIWorker");
10
5
  const VehiclePositionsWorker_1 = require("./vehicle-positions/VehiclePositionsWorker");
6
+ const ropid_gtfs_1 = require("../schema-definitions/ropid-gtfs");
7
+ const vehicle_positions_1 = require("../schema-definitions/vehicle-positions");
8
+ const config_1 = require("@golemio/core/dist/integration-engine/config");
11
9
  /**
12
10
  * @deprecated Use the new worker definitions
13
11
  */
@@ -79,33 +77,6 @@ const queueDefinitions = [
79
77
  },
80
78
  ],
81
79
  },
82
- // Ropid VYMI Queue Definitions
83
- {
84
- name: ropid_vymi_1.RopidVYMI.name,
85
- queuePrefix: config_1.config.RABBIT_EXCHANGE_NAME + "." + ropid_vymi_1.RopidVYMI.name.toLowerCase(),
86
- queues: [
87
- {
88
- name: "checkForNewEvents",
89
- options: {
90
- deadLetterExchange: config_1.config.RABBIT_EXCHANGE_NAME,
91
- deadLetterRoutingKey: "dead",
92
- messageTtl: 1 * 60 * 1000, // 1 minute
93
- },
94
- worker: RopidVYMIWorker_1.RopidVYMIWorker,
95
- workerMethod: "checkForNewEvents",
96
- },
97
- {
98
- name: "fetchAndProcessEvents",
99
- options: {
100
- deadLetterExchange: config_1.config.RABBIT_EXCHANGE_NAME,
101
- deadLetterRoutingKey: "dead",
102
- messageTtl: 1 * 60 * 1000, // 1 minute
103
- },
104
- worker: RopidVYMIWorker_1.RopidVYMIWorker,
105
- workerMethod: "fetchAndProcessEvents",
106
- },
107
- ],
108
- },
109
80
  // Vehicle Positions Queue Definitions
110
81
  {
111
82
  name: vehicle_positions_1.VehiclePositions.name,
@@ -1 +1 @@
1
- {"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  export * from "./models";
2
2
  export * from "./RopidVYMIEventsTransformation";
3
- export * from "./RopidVYMIWorker";
@@ -16,5 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./models"), exports);
18
18
  __exportStar(require("./RopidVYMIEventsTransformation"), exports);
19
- __exportStar(require("./RopidVYMIWorker"), exports);
20
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-vymi/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,kEAAgD;AAChD,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-vymi/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,kEAAgD"}
@@ -0,0 +1,5 @@
1
+ import { AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
2
+ export declare class RopidVYMIWorker extends AbstractWorker {
3
+ protected name: string;
4
+ constructor();
5
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RopidVYMIWorker = void 0;
4
+ const ropid_vymi_1 = require("../../../schema-definitions/ropid-vymi");
5
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
6
+ const CheckForNewEventsTask_1 = require("./tasks/CheckForNewEventsTask");
7
+ const FetchAndProcessEventsTask_1 = require("./tasks/FetchAndProcessEventsTask");
8
+ class RopidVYMIWorker extends workers_1.AbstractWorker {
9
+ constructor() {
10
+ super();
11
+ this.name = ropid_vymi_1.RopidVYMI.name.toLowerCase();
12
+ // Register tasks
13
+ this.registerTask(new CheckForNewEventsTask_1.CheckForNewEventsTask(this.getQueuePrefix()));
14
+ this.registerTask(new FetchAndProcessEventsTask_1.FetchAndProcessEventsTask(this.getQueuePrefix()));
15
+ }
16
+ }
17
+ exports.RopidVYMIWorker = RopidVYMIWorker;
18
+ //# sourceMappingURL=RopidVYMIWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidVYMIWorker.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/workers/RopidVYMIWorker.ts"],"names":[],"mappings":";;;AAAA,uEAA4C;AAC5C,2EAA+E;AAC/E,yEAAsE;AACtE,iFAA8E;AAE9E,MAAa,eAAgB,SAAQ,wBAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAK1C,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,6CAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,IAAI,qDAAyB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;CACJ;AAVD,0CAUC"}
@@ -0,0 +1,8 @@
1
+ import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
2
+ export declare class CheckForNewEventsTask extends AbstractEmptyTask {
3
+ readonly queueName = "checkForNewEvents";
4
+ readonly queueTtl: number;
5
+ private readonly modelVYMIMeta;
6
+ constructor(queuePrefix: string);
7
+ protected execute(): Promise<void>;
8
+ }
@@ -0,0 +1,37 @@
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.CheckForNewEventsTask = void 0;
16
+ const models_1 = require("../../models");
17
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
18
+ const RopidVYMIApiHelper_1 = __importDefault(require("./helpers/RopidVYMIApiHelper"));
19
+ class CheckForNewEventsTask extends integration_engine_1.AbstractEmptyTask {
20
+ constructor(queuePrefix) {
21
+ super(queuePrefix);
22
+ this.queueName = "checkForNewEvents";
23
+ this.queueTtl = 1 * 60 * 1000; // 1 minute;
24
+ this.modelVYMIMeta = new models_1.RopidVYMIMetadataModel();
25
+ }
26
+ execute() {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const lastDigest = yield this.modelVYMIMeta.getDigest(models_1.DatasetEnum.EVENTS);
29
+ const { digest, data } = yield RopidVYMIApiHelper_1.default.getInstance().getAllEvents();
30
+ if (digest !== lastDigest) {
31
+ yield integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "fetchAndProcessEvents", { digest, data });
32
+ }
33
+ });
34
+ }
35
+ }
36
+ exports.CheckForNewEventsTask = CheckForNewEventsTask;
37
+ //# sourceMappingURL=CheckForNewEventsTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckForNewEventsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-vymi/workers/tasks/CheckForNewEventsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAA4E;AAC5E,8EAAwF;AACxF,sFAA8D;AAE9D,MAAa,qBAAsB,SAAQ,sCAAiB;IAKxD,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QALP,cAAS,GAAG,mBAAmB,CAAC;QAChC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QAKlD,IAAI,CAAC,aAAa,GAAG,IAAI,+BAAsB,EAAE,CAAC;IACtD,CAAC;IAEe,OAAO;;YACnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,oBAAW,CAAC,MAAM,CAAC,CAAC;YAC1E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,4BAAkB,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;YAE/E,IAAI,MAAM,KAAK,UAAU,EAAE;gBACvB,MAAM,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACzG;QACL,CAAC;KAAA;CACJ;AAlBD,sDAkBC"}
@@ -0,0 +1,17 @@
1
+ import { AbstractTask } from "@golemio/core/dist/integration-engine";
2
+ import { IEventFetchOutput } from "./interfaces/IEventFetchOutput";
3
+ import { EventFetchOutputValidationSchema } from "./schema/EventFetchOutputValidationSchema";
4
+ export declare class FetchAndProcessEventsTask extends AbstractTask<IEventFetchOutput> {
5
+ readonly queueName = "fetchAndProcessEventsTask";
6
+ readonly queueTtl: number;
7
+ protected readonly schema: typeof EventFetchOutputValidationSchema;
8
+ private readonly modelVYMIEvents;
9
+ private readonly modelVYMIEventsRoutes;
10
+ private readonly modelVYMIEventsStops;
11
+ private readonly transformation;
12
+ private readonly modelVYMIMeta;
13
+ constructor(queueprefix: string);
14
+ protected execute: (content: IEventFetchOutput) => Promise<void>;
15
+ private prepareAndTransformEvents;
16
+ private prepareAndSaveEvents;
17
+ }
@@ -0,0 +1,95 @@
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.FetchAndProcessEventsTask = void 0;
13
+ const models_1 = require("../../models");
14
+ const RopidVYMIEventsTransformation_1 = require("../../RopidVYMIEventsTransformation");
15
+ const shared_1 = require("../../../shared");
16
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
17
+ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
18
+ const EventFetchOutputValidationSchema_1 = require("./schema/EventFetchOutputValidationSchema");
19
+ class FetchAndProcessEventsTask extends integration_engine_1.AbstractTask {
20
+ constructor(queueprefix) {
21
+ super(queueprefix);
22
+ this.queueName = "fetchAndProcessEventsTask";
23
+ this.queueTtl = 1 * 60 * 1000; // 1 minute;
24
+ this.schema = EventFetchOutputValidationSchema_1.EventFetchOutputValidationSchema;
25
+ this.execute = (content) => __awaiter(this, void 0, void 0, function* () {
26
+ const dbLastModified = yield this.modelVYMIMeta.getLastModified(models_1.DatasetEnum.EVENTS);
27
+ const version = dbLastModified.version + 1;
28
+ yield this.modelVYMIMeta.save({
29
+ dataset: models_1.DatasetEnum.EVENTS,
30
+ key: shared_1.MetaDatasetInfoKeyEnum.LAST_MODIFIED,
31
+ type: shared_1.MetaTypeEnum.DATASET_INFO,
32
+ value: new Date().toISOString(),
33
+ version,
34
+ });
35
+ try {
36
+ const { events, routes, stops } = yield this.prepareAndTransformEvents(content.data, version);
37
+ yield Promise.all([
38
+ this.prepareAndSaveEvents("events", this.modelVYMIEvents, events, version),
39
+ this.prepareAndSaveEvents("eventsRoutes", this.modelVYMIEventsRoutes, routes, version),
40
+ this.prepareAndSaveEvents("eventsStops", this.modelVYMIEventsStops, stops, version),
41
+ ]);
42
+ yield this.modelVYMIMeta.checkSavedRows(models_1.DatasetEnum.EVENTS, version);
43
+ yield this.modelVYMIMeta.replaceTmpTables(models_1.DatasetEnum.EVENTS, version);
44
+ // Save current digest
45
+ yield this.modelVYMIMeta.save({
46
+ dataset: models_1.DatasetEnum.EVENTS,
47
+ key: shared_1.MetaDatasetInfoKeyEnum.DIGEST,
48
+ type: shared_1.MetaTypeEnum.DATASET_INFO,
49
+ value: content.digest,
50
+ version,
51
+ });
52
+ }
53
+ catch (err) {
54
+ helpers_1.log.error(err);
55
+ yield this.modelVYMIMeta.rollbackFailedSaving(models_1.DatasetEnum.EVENTS, version);
56
+ }
57
+ });
58
+ this.prepareAndTransformEvents = (data, version) => __awaiter(this, void 0, void 0, function* () {
59
+ const { events, routes, stops } = yield this.transformation.transform(data);
60
+ const baseMetaInputData = {
61
+ dataset: models_1.DatasetEnum.EVENTS,
62
+ type: shared_1.MetaTypeEnum.TABLE_TOTAL_COUNT,
63
+ version,
64
+ };
65
+ yield Promise.all([
66
+ this.modelVYMIMeta.save(Object.assign({ key: "events", value: events.length }, baseMetaInputData)),
67
+ this.modelVYMIMeta.save(Object.assign({ key: "eventsRoutes", value: routes.length }, baseMetaInputData)),
68
+ this.modelVYMIMeta.save(Object.assign({ key: "eventsStops", value: stops.length }, baseMetaInputData)),
69
+ ]);
70
+ return {
71
+ events,
72
+ routes,
73
+ stops,
74
+ };
75
+ });
76
+ this.prepareAndSaveEvents = (key, model, transformedData, version) => __awaiter(this, void 0, void 0, function* () {
77
+ yield model.truncate(true);
78
+ yield model.save(transformedData, true);
79
+ yield this.modelVYMIMeta.save({
80
+ dataset: models_1.DatasetEnum.EVENTS,
81
+ key,
82
+ type: shared_1.MetaTypeEnum.STATE,
83
+ value: shared_1.MetaStateEnum.SAVED,
84
+ version,
85
+ });
86
+ });
87
+ this.modelVYMIMeta = new models_1.RopidVYMIMetadataModel();
88
+ this.transformation = new RopidVYMIEventsTransformation_1.RopidVYMIEventsTransformation();
89
+ this.modelVYMIEvents = new models_1.RopidVYMIEventsModel();
90
+ this.modelVYMIEventsRoutes = new models_1.RopidVYMIEventsRoutesModel();
91
+ this.modelVYMIEventsStops = new models_1.RopidVYMIEventsStopsModel();
92
+ }
93
+ }
94
+ exports.FetchAndProcessEventsTask = FetchAndProcessEventsTask;
95
+ //# sourceMappingURL=FetchAndProcessEventsTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FetchAndProcessEventsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-vymi/workers/tasks/FetchAndProcessEventsTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { BinaryLike } from "crypto";
2
+ import { IEventFetchOutput } from "../interfaces/IEventFetchOutput";
3
+ export default class RopidVYMIApiHelper {
4
+ private static _instance;
5
+ private readonly datasource;
6
+ static getInstance: () => RopidVYMIApiHelper;
7
+ private constructor();
8
+ getAllEvents: () => Promise<IEventFetchOutput>;
9
+ createDigest: (data: BinaryLike) => string;
10
+ }
@@ -0,0 +1,68 @@
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
+ var _a;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ const ropid_vymi_1 = require("../../../../../schema-definitions/ropid-vymi");
17
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
18
+ const config_1 = require("@golemio/core/dist/integration-engine/config");
19
+ const DataSourceStreamManager_1 = __importDefault(require("@golemio/core/dist/integration-engine/datasources/DataSourceStreamManager"));
20
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
21
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
22
+ const crypto_1 = __importDefault(require("crypto"));
23
+ const JSONStream_1 = __importDefault(require("JSONStream"));
24
+ const RopidVYMIApiOutputLevel_1 = require("./RopidVYMIApiOutputLevel");
25
+ class RopidVYMIApiHelper {
26
+ constructor() {
27
+ this.getAllEvents = () => __awaiter(this, void 0, void 0, function* () {
28
+ try {
29
+ let data = [], digest = "";
30
+ yield DataSourceStreamManager_1.default.processDataStream(this.datasource.getAll(true), (events) => __awaiter(this, void 0, void 0, function* () {
31
+ data = events;
32
+ digest = this.createDigest(JSON.stringify(data));
33
+ }));
34
+ return {
35
+ data,
36
+ digest,
37
+ };
38
+ }
39
+ catch (err) {
40
+ integration_engine_1.log.error(err);
41
+ if (err instanceof golemio_errors_1.CustomError) {
42
+ throw err;
43
+ }
44
+ else {
45
+ throw new golemio_errors_1.CustomError("Error while getting data", true, this.constructor.name, undefined, err);
46
+ }
47
+ }
48
+ });
49
+ this.createDigest = (data) => {
50
+ return crypto_1.default.createHash("sha1").update(data).digest("hex");
51
+ };
52
+ this.datasource = new integration_engine_1.DataSourceStreamed(ropid_vymi_1.RopidVYMI.events.name + "DataSource", new integration_engine_1.HTTPProtocolStrategyStreamed({
53
+ headers: config_1.config.datasources.RopidVYMIApiHeaders,
54
+ method: "GET",
55
+ timeout: 30000,
56
+ url: `${config_1.config.datasources.RopidVYMIApiUrl}?level=${RopidVYMIApiOutputLevel_1.RopidVYMIApiOutputLevel.Standard}`,
57
+ }).setStreamTransformer(JSONStream_1.default.parse("vymi-report.vymi-list.*")), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(ropid_vymi_1.RopidVYMI.events.name + "DataSource", ropid_vymi_1.RopidVYMI.events.datasourceJsonSchema));
58
+ }
59
+ }
60
+ exports.default = RopidVYMIApiHelper;
61
+ _a = RopidVYMIApiHelper;
62
+ RopidVYMIApiHelper.getInstance = () => {
63
+ if (!_a._instance) {
64
+ _a._instance = new RopidVYMIApiHelper();
65
+ }
66
+ return _a._instance;
67
+ };
68
+ //# sourceMappingURL=RopidVYMIApiHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidVYMIApiHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6EAA6D;AAC7D,8EAK+C;AAC/C,yEAAsE;AACtE,wIAAgH;AAChH,6EAAuE;AACvE,mFAAkF;AAClF,oDAA4C;AAC5C,4DAAoC;AAEpC,uEAAoE;AAEpE,MAAqB,kBAAkB;IAYnC;QAcO,iBAAY,GAAG,GAAqC,EAAE;YACzD,IAAI;gBACA,IAAI,IAAI,GAAsB,EAAE,EAC5B,MAAM,GAAW,EAAE,CAAC;gBAExB,MAAM,iCAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAO,MAAyB,EAAE,EAAE;oBAC9G,IAAI,GAAG,MAAM,CAAC;oBACd,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAA,CAAC,CAAC;gBAEH,OAAO;oBACH,IAAI;oBACJ,MAAM;iBACT,CAAC;aACL;YAAC,OAAO,GAAQ,EAAE;gBACf,wBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,IAAI,GAAG,YAAY,4BAAW,EAAE;oBAC5B,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,4BAAW,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;iBAClG;aACJ;QACL,CAAC,CAAA,CAAC;QAEK,iBAAY,GAAG,CAAC,IAAgB,EAAU,EAAE;YAC/C,OAAO,gBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC,CAAC;QAvCE,IAAI,CAAC,UAAU,GAAG,IAAI,uCAAkB,CACpC,sBAAS,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,EACpC,IAAI,iDAA4B,CAAC;YAC7B,OAAO,EAAE,eAAM,CAAC,WAAW,CAAC,mBAAmB;YAC/C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,GAAG,eAAM,CAAC,WAAW,CAAC,eAAe,UAAU,iDAAuB,CAAC,QAAQ,EAAE;SACzF,CAAC,CAAC,oBAAoB,CAAC,oBAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,EACpE,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,sBAAS,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,EAAE,sBAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,CACvG,CAAC;IACN,CAAC;;AAxBL,qCAqDC;;AAjDiB,8BAAW,GAAG,GAAG,EAAE;IAC7B,IAAI,CAAC,EAAI,CAAC,SAAS,EAAE;QACjB,EAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;KAC7C;IAED,OAAO,EAAI,CAAC,SAAS,CAAC;AAC1B,CAAE,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare enum RopidVYMIApiOutputLevel {
2
+ Basic = 0,
3
+ Standard = 1,
4
+ Complete = 2
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RopidVYMIApiOutputLevel = void 0;
4
+ var RopidVYMIApiOutputLevel;
5
+ (function (RopidVYMIApiOutputLevel) {
6
+ RopidVYMIApiOutputLevel[RopidVYMIApiOutputLevel["Basic"] = 0] = "Basic";
7
+ RopidVYMIApiOutputLevel[RopidVYMIApiOutputLevel["Standard"] = 1] = "Standard";
8
+ RopidVYMIApiOutputLevel[RopidVYMIApiOutputLevel["Complete"] = 2] = "Complete";
9
+ })(RopidVYMIApiOutputLevel = exports.RopidVYMIApiOutputLevel || (exports.RopidVYMIApiOutputLevel = {}));
10
+ //# sourceMappingURL=RopidVYMIApiOutputLevel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidVYMIApiOutputLevel.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiOutputLevel.ts"],"names":[],"mappings":";;;AAAA,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IAC/B,uEAAS,CAAA;IACT,6EAAY,CAAA;IACZ,6EAAY,CAAA;AAChB,CAAC,EAJW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAIlC"}
@@ -0,0 +1,5 @@
1
+ import { IRopidVYMIEvent } from "../../../../../schema-definitions/ropid-vymi";
2
+ export interface IEventFetchOutput {
3
+ digest: string;
4
+ data: IRopidVYMIEvent[];
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IEventFetchOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEventFetchOutput.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-vymi/workers/tasks/interfaces/IEventFetchOutput.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { IRopidVYMIEvent } from "../../../../../schema-definitions/ropid-vymi";
2
+ import { IEventFetchOutput } from "../interfaces/IEventFetchOutput";
3
+ export declare class EventFetchOutputValidationSchema implements IEventFetchOutput {
4
+ digest: string;
5
+ data: IRopidVYMIEvent[];
6
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EventFetchOutputValidationSchema = void 0;
13
+ const class_transformer_1 = require("@golemio/core/dist/shared/class-transformer");
14
+ const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
15
+ const RopidVYMIEventValidationSchema_1 = require("./RopidVYMIEventValidationSchema");
16
+ class EventFetchOutputValidationSchema {
17
+ }
18
+ __decorate([
19
+ (0, class_validator_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], EventFetchOutputValidationSchema.prototype, "digest", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsObject)({ each: true }),
24
+ (0, class_validator_1.ValidateNested)(),
25
+ (0, class_transformer_1.Type)(() => RopidVYMIEventValidationSchema_1.RopidVYMIEventValidationSchema),
26
+ __metadata("design:type", Array)
27
+ ], EventFetchOutputValidationSchema.prototype, "data", void 0);
28
+ exports.EventFetchOutputValidationSchema = EventFetchOutputValidationSchema;
29
+ //# sourceMappingURL=EventFetchOutputValidationSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventFetchOutputValidationSchema.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-vymi/workers/tasks/schema/EventFetchOutputValidationSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mFAAmE;AACnE,+EAA+F;AAE/F,qFAAkF;AAElF,MAAa,gCAAgC;CAQ5C;AANG;IADC,IAAA,0BAAQ,GAAE;;gEACK;AAKhB;IAHC,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,+DAA8B,CAAC;;8DAClB;AAP7B,4EAQC"}
@@ -0,0 +1,47 @@
1
+ import { IRopidVYMIEvent, IRopidVYMIEventRoute, IRopidVYMIEventStop } from "../../../../../schema-definitions/ropid-vymi";
2
+ export declare class RopidVYMIEventValidationSchema implements IRopidVYMIEvent {
3
+ "@id": string;
4
+ "@id_dtb": string;
5
+ "@stav": string;
6
+ "@pa_01": string;
7
+ "@pa_02": string;
8
+ "@pa_03": string;
9
+ "@pa_04": string;
10
+ "@typ_zaznamu": string;
11
+ "@typ_udalost"?: string;
12
+ "@kanaly": string;
13
+ "@nazev": string;
14
+ "@cas_od": string;
15
+ "@typ_do": string;
16
+ "@cas_do"?: string;
17
+ "@zobrazit_do"?: string;
18
+ "@druh_dopr": string;
19
+ "@priorita"?: string;
20
+ "@duvod"?: string;
21
+ "@link"?: string;
22
+ "@opatr_ropid"?: string;
23
+ "@opatr_dpp"?: string;
24
+ "@popis"?: string;
25
+ "linky-zmena"?: IRopidVYMIEventRoute[];
26
+ "zastavky-zmena"?: IRopidVYMIEventStop[];
27
+ }
28
+ export declare class RopidVYMIEventRouteValidationSchema implements IRopidVYMIEventRoute {
29
+ "@id": string;
30
+ "@id_dtb": string;
31
+ "@cislo": string;
32
+ "@nazev": string;
33
+ "@linka_typ": string;
34
+ "@plati_od"?: string;
35
+ "@plati_do"?: string;
36
+ "#text"?: string;
37
+ }
38
+ export declare class RopidVYMIEventStopValidationSchema implements IRopidVYMIEventStop {
39
+ "@id": string;
40
+ "@id_dtb": string;
41
+ "@uzelCislo": string;
42
+ "@zastCislo": string;
43
+ "@zast_typ": string;
44
+ "@plati_od"?: string;
45
+ "@plati_do"?: string;
46
+ "#text"?: string;
47
+ }
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RopidVYMIEventStopValidationSchema = exports.RopidVYMIEventRouteValidationSchema = exports.RopidVYMIEventValidationSchema = void 0;
13
+ const class_transformer_1 = require("@golemio/core/dist/shared/class-transformer");
14
+ const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
15
+ class RopidVYMIEventValidationSchema {
16
+ }
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ __metadata("design:type", String)
20
+ ], RopidVYMIEventValidationSchema.prototype, "@id", void 0);
21
+ __decorate([
22
+ (0, class_validator_1.IsString)(),
23
+ __metadata("design:type", String)
24
+ ], RopidVYMIEventValidationSchema.prototype, "@id_dtb", void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsString)(),
27
+ __metadata("design:type", String)
28
+ ], RopidVYMIEventValidationSchema.prototype, "@stav", void 0);
29
+ __decorate([
30
+ (0, class_validator_1.IsString)(),
31
+ __metadata("design:type", String)
32
+ ], RopidVYMIEventValidationSchema.prototype, "@pa_01", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsString)(),
35
+ __metadata("design:type", String)
36
+ ], RopidVYMIEventValidationSchema.prototype, "@pa_02", void 0);
37
+ __decorate([
38
+ (0, class_validator_1.IsString)(),
39
+ __metadata("design:type", String)
40
+ ], RopidVYMIEventValidationSchema.prototype, "@pa_03", void 0);
41
+ __decorate([
42
+ (0, class_validator_1.IsString)(),
43
+ __metadata("design:type", String)
44
+ ], RopidVYMIEventValidationSchema.prototype, "@pa_04", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsString)(),
47
+ __metadata("design:type", String)
48
+ ], RopidVYMIEventValidationSchema.prototype, "@typ_zaznamu", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsString)(),
51
+ __metadata("design:type", String)
52
+ ], RopidVYMIEventValidationSchema.prototype, "@typ_udalost", void 0);
53
+ __decorate([
54
+ (0, class_validator_1.IsString)(),
55
+ __metadata("design:type", String)
56
+ ], RopidVYMIEventValidationSchema.prototype, "@kanaly", void 0);
57
+ __decorate([
58
+ (0, class_validator_1.IsString)(),
59
+ __metadata("design:type", String)
60
+ ], RopidVYMIEventValidationSchema.prototype, "@nazev", void 0);
61
+ __decorate([
62
+ (0, class_validator_1.IsString)(),
63
+ __metadata("design:type", String)
64
+ ], RopidVYMIEventValidationSchema.prototype, "@cas_od", void 0);
65
+ __decorate([
66
+ (0, class_validator_1.IsString)(),
67
+ __metadata("design:type", String)
68
+ ], RopidVYMIEventValidationSchema.prototype, "@typ_do", void 0);
69
+ __decorate([
70
+ (0, class_validator_1.IsOptional)(),
71
+ (0, class_validator_1.IsString)(),
72
+ __metadata("design:type", String)
73
+ ], RopidVYMIEventValidationSchema.prototype, "@cas_do", void 0);
74
+ __decorate([
75
+ (0, class_validator_1.IsOptional)(),
76
+ (0, class_validator_1.IsString)(),
77
+ __metadata("design:type", String)
78
+ ], RopidVYMIEventValidationSchema.prototype, "@zobrazit_do", void 0);
79
+ __decorate([
80
+ (0, class_validator_1.IsString)(),
81
+ __metadata("design:type", String)
82
+ ], RopidVYMIEventValidationSchema.prototype, "@druh_dopr", void 0);
83
+ __decorate([
84
+ (0, class_validator_1.IsOptional)(),
85
+ (0, class_validator_1.IsString)(),
86
+ __metadata("design:type", String)
87
+ ], RopidVYMIEventValidationSchema.prototype, "@priorita", void 0);
88
+ __decorate([
89
+ (0, class_validator_1.IsOptional)(),
90
+ (0, class_validator_1.IsString)(),
91
+ __metadata("design:type", String)
92
+ ], RopidVYMIEventValidationSchema.prototype, "@duvod", void 0);
93
+ __decorate([
94
+ (0, class_validator_1.IsOptional)(),
95
+ (0, class_validator_1.IsString)(),
96
+ __metadata("design:type", String)
97
+ ], RopidVYMIEventValidationSchema.prototype, "@link", void 0);
98
+ __decorate([
99
+ (0, class_validator_1.IsOptional)(),
100
+ (0, class_validator_1.IsString)(),
101
+ __metadata("design:type", String)
102
+ ], RopidVYMIEventValidationSchema.prototype, "@opatr_ropid", void 0);
103
+ __decorate([
104
+ (0, class_validator_1.IsOptional)(),
105
+ (0, class_validator_1.IsString)(),
106
+ __metadata("design:type", String)
107
+ ], RopidVYMIEventValidationSchema.prototype, "@opatr_dpp", void 0);
108
+ __decorate([
109
+ (0, class_validator_1.IsOptional)(),
110
+ (0, class_validator_1.IsString)(),
111
+ __metadata("design:type", String)
112
+ ], RopidVYMIEventValidationSchema.prototype, "@popis", void 0);
113
+ __decorate([
114
+ (0, class_validator_1.IsObject)({ each: true }),
115
+ (0, class_validator_1.ValidateNested)(),
116
+ (0, class_transformer_1.Type)(() => RopidVYMIEventRouteValidationSchema),
117
+ __metadata("design:type", Array)
118
+ ], RopidVYMIEventValidationSchema.prototype, "linky-zmena", void 0);
119
+ __decorate([
120
+ (0, class_validator_1.IsObject)({ each: true }),
121
+ (0, class_validator_1.ValidateNested)(),
122
+ (0, class_transformer_1.Type)(() => RopidVYMIEventStopValidationSchema),
123
+ __metadata("design:type", Array)
124
+ ], RopidVYMIEventValidationSchema.prototype, "zastavky-zmena", void 0);
125
+ exports.RopidVYMIEventValidationSchema = RopidVYMIEventValidationSchema;
126
+ class RopidVYMIEventRouteValidationSchema {
127
+ }
128
+ __decorate([
129
+ (0, class_validator_1.IsString)(),
130
+ __metadata("design:type", String)
131
+ ], RopidVYMIEventRouteValidationSchema.prototype, "@id", void 0);
132
+ __decorate([
133
+ (0, class_validator_1.IsString)(),
134
+ __metadata("design:type", String)
135
+ ], RopidVYMIEventRouteValidationSchema.prototype, "@id_dtb", void 0);
136
+ __decorate([
137
+ (0, class_validator_1.IsString)(),
138
+ __metadata("design:type", String)
139
+ ], RopidVYMIEventRouteValidationSchema.prototype, "@cislo", void 0);
140
+ __decorate([
141
+ (0, class_validator_1.IsString)(),
142
+ __metadata("design:type", String)
143
+ ], RopidVYMIEventRouteValidationSchema.prototype, "@nazev", void 0);
144
+ __decorate([
145
+ (0, class_validator_1.IsString)(),
146
+ __metadata("design:type", String)
147
+ ], RopidVYMIEventRouteValidationSchema.prototype, "@linka_typ", void 0);
148
+ __decorate([
149
+ (0, class_validator_1.IsOptional)(),
150
+ (0, class_validator_1.IsString)(),
151
+ __metadata("design:type", String)
152
+ ], RopidVYMIEventRouteValidationSchema.prototype, "@plati_od", void 0);
153
+ __decorate([
154
+ (0, class_validator_1.IsOptional)(),
155
+ (0, class_validator_1.IsString)(),
156
+ __metadata("design:type", String)
157
+ ], RopidVYMIEventRouteValidationSchema.prototype, "@plati_do", void 0);
158
+ __decorate([
159
+ (0, class_validator_1.IsOptional)(),
160
+ (0, class_validator_1.IsString)(),
161
+ __metadata("design:type", String)
162
+ ], RopidVYMIEventRouteValidationSchema.prototype, "#text", void 0);
163
+ exports.RopidVYMIEventRouteValidationSchema = RopidVYMIEventRouteValidationSchema;
164
+ class RopidVYMIEventStopValidationSchema {
165
+ }
166
+ __decorate([
167
+ (0, class_validator_1.IsString)(),
168
+ __metadata("design:type", String)
169
+ ], RopidVYMIEventStopValidationSchema.prototype, "@id", void 0);
170
+ __decorate([
171
+ (0, class_validator_1.IsString)(),
172
+ __metadata("design:type", String)
173
+ ], RopidVYMIEventStopValidationSchema.prototype, "@id_dtb", void 0);
174
+ __decorate([
175
+ (0, class_validator_1.IsString)(),
176
+ __metadata("design:type", String)
177
+ ], RopidVYMIEventStopValidationSchema.prototype, "@uzelCislo", void 0);
178
+ __decorate([
179
+ (0, class_validator_1.IsString)(),
180
+ __metadata("design:type", String)
181
+ ], RopidVYMIEventStopValidationSchema.prototype, "@zastCislo", void 0);
182
+ __decorate([
183
+ (0, class_validator_1.IsString)(),
184
+ __metadata("design:type", String)
185
+ ], RopidVYMIEventStopValidationSchema.prototype, "@zast_typ", void 0);
186
+ __decorate([
187
+ (0, class_validator_1.IsOptional)(),
188
+ (0, class_validator_1.IsString)(),
189
+ __metadata("design:type", String)
190
+ ], RopidVYMIEventStopValidationSchema.prototype, "@plati_od", void 0);
191
+ __decorate([
192
+ (0, class_validator_1.IsOptional)(),
193
+ (0, class_validator_1.IsString)(),
194
+ __metadata("design:type", String)
195
+ ], RopidVYMIEventStopValidationSchema.prototype, "@plati_do", void 0);
196
+ __decorate([
197
+ (0, class_validator_1.IsOptional)(),
198
+ (0, class_validator_1.IsString)(),
199
+ __metadata("design:type", String)
200
+ ], RopidVYMIEventStopValidationSchema.prototype, "#text", void 0);
201
+ exports.RopidVYMIEventStopValidationSchema = RopidVYMIEventStopValidationSchema;
202
+ //# sourceMappingURL=RopidVYMIEventValidationSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidVYMIEventValidationSchema.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-vymi/workers/tasks/schema/RopidVYMIEventValidationSchema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "2.2.12-dev.640043504",
3
+ "version": "2.2.12-dev.641965809",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "@commitlint/cli": "^11.0.0",
29
29
  "@commitlint/config-conventional": "^11.0.0",
30
30
  "@golemio/cli": "1.3.1",
31
- "@golemio/core": "1.2.18-dev.631214275",
31
+ "@golemio/core": "1.2.18-dev.641319952",
32
32
  "@golemio/db-common": "1.0.1",
33
33
  "@golemio/eslint-config": "^1.1.0",
34
34
  "@ovos-media/ts-transform-paths": "^1.7.18-1",
@@ -1,27 +0,0 @@
1
- /// <reference types="node" />
2
- import { BaseWorker } from "@golemio/core/dist/integration-engine/workers";
3
- declare class RopidVYMIWorker extends BaseWorker {
4
- private readonly datasource;
5
- private readonly transformation;
6
- private readonly modelVYMIEvents;
7
- private readonly modelVYMIEventsRoutes;
8
- private readonly modelVYMIEventsStops;
9
- private readonly modelVYMIMeta;
10
- private readonly queuePrefix;
11
- constructor();
12
- /**
13
- * Worker method - check for new events
14
- */
15
- checkForNewEvents: () => Promise<void>;
16
- /**
17
- * Worker method - fetch and process events
18
- */
19
- fetchAndProcessEvents: (msg: {
20
- content: Buffer;
21
- }) => Promise<void>;
22
- private prepareAndTransformEvents;
23
- private prepareAndSaveEvents;
24
- private getAllEvents;
25
- private createDigest;
26
- }
27
- export { RopidVYMIWorker };
@@ -1,165 +0,0 @@
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.RopidVYMIWorker = void 0;
16
- const crypto_1 = __importDefault(require("crypto"));
17
- const JSONStream_1 = __importDefault(require("JSONStream"));
18
- const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
19
- const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
20
- const workers_1 = require("@golemio/core/dist/integration-engine/workers");
21
- const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
22
- const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
23
- const config_1 = require("@golemio/core/dist/integration-engine/config");
24
- const ropid_vymi_1 = require("../../schema-definitions/ropid-vymi");
25
- const shared_1 = require("../shared");
26
- const models_1 = require("./models");
27
- const RopidVYMIMetadataModel_1 = require("./models/RopidVYMIMetadataModel");
28
- const RopidVYMIEventsTransformation_1 = require("./RopidVYMIEventsTransformation");
29
- var RopidVYMIApiOutputLevel;
30
- (function (RopidVYMIApiOutputLevel) {
31
- RopidVYMIApiOutputLevel[RopidVYMIApiOutputLevel["Basic"] = 0] = "Basic";
32
- RopidVYMIApiOutputLevel[RopidVYMIApiOutputLevel["Standard"] = 1] = "Standard";
33
- RopidVYMIApiOutputLevel[RopidVYMIApiOutputLevel["Complete"] = 2] = "Complete";
34
- })(RopidVYMIApiOutputLevel || (RopidVYMIApiOutputLevel = {}));
35
- class RopidVYMIWorker extends workers_1.BaseWorker {
36
- constructor() {
37
- super();
38
- /**
39
- * Worker method - check for new events
40
- */
41
- this.checkForNewEvents = () => __awaiter(this, void 0, void 0, function* () {
42
- const lastDigest = yield this.modelVYMIMeta.getDigest(RopidVYMIMetadataModel_1.DatasetEnum.EVENTS);
43
- const { digest, data } = yield this.getAllEvents();
44
- if (digest !== lastDigest) {
45
- yield this.sendMessageToExchange("workers." + this.queuePrefix + ".fetchAndProcessEvents", JSON.stringify({ digest, data }));
46
- }
47
- });
48
- /**
49
- * Worker method - fetch and process events
50
- */
51
- this.fetchAndProcessEvents = (msg) => __awaiter(this, void 0, void 0, function* () {
52
- let content = undefined;
53
- try {
54
- content = JSON.parse(msg.content.toString());
55
- }
56
- catch (err) {
57
- // Noop
58
- }
59
- if (!content || !content.data || !content.digest) {
60
- helpers_1.log.warn(`[${this.constructor.name}] fetchAndProcessEvents() Invalid content. Fetching data again`);
61
- content = yield this.getAllEvents();
62
- }
63
- const dbLastModified = yield this.modelVYMIMeta.getLastModified(RopidVYMIMetadataModel_1.DatasetEnum.EVENTS);
64
- const version = dbLastModified.version + 1;
65
- yield this.modelVYMIMeta.save({
66
- dataset: RopidVYMIMetadataModel_1.DatasetEnum.EVENTS,
67
- key: shared_1.MetaDatasetInfoKeyEnum.LAST_MODIFIED,
68
- type: shared_1.MetaTypeEnum.DATASET_INFO,
69
- value: new Date().toISOString(),
70
- version,
71
- });
72
- try {
73
- const { events, routes, stops } = yield this.prepareAndTransformEvents(content.data, version);
74
- yield Promise.all([
75
- this.prepareAndSaveEvents("events", this.modelVYMIEvents, events, version),
76
- this.prepareAndSaveEvents("eventsRoutes", this.modelVYMIEventsRoutes, routes, version),
77
- this.prepareAndSaveEvents("eventsStops", this.modelVYMIEventsStops, stops, version),
78
- ]);
79
- yield this.modelVYMIMeta.checkSavedRows(RopidVYMIMetadataModel_1.DatasetEnum.EVENTS, version);
80
- yield this.modelVYMIMeta.replaceTmpTables(RopidVYMIMetadataModel_1.DatasetEnum.EVENTS, version);
81
- // Save current digest
82
- yield this.modelVYMIMeta.save({
83
- dataset: RopidVYMIMetadataModel_1.DatasetEnum.EVENTS,
84
- key: shared_1.MetaDatasetInfoKeyEnum.DIGEST,
85
- type: shared_1.MetaTypeEnum.DATASET_INFO,
86
- value: content.digest,
87
- version,
88
- });
89
- }
90
- catch (err) {
91
- helpers_1.log.error(err);
92
- yield this.modelVYMIMeta.rollbackFailedSaving(RopidVYMIMetadataModel_1.DatasetEnum.EVENTS, version);
93
- }
94
- });
95
- this.prepareAndTransformEvents = (data, version) => __awaiter(this, void 0, void 0, function* () {
96
- const { events, routes, stops } = yield this.transformation.transform(data);
97
- const baseMetaInputData = {
98
- dataset: RopidVYMIMetadataModel_1.DatasetEnum.EVENTS,
99
- type: shared_1.MetaTypeEnum.TABLE_TOTAL_COUNT,
100
- version,
101
- };
102
- yield Promise.all([
103
- this.modelVYMIMeta.save(Object.assign({ key: "events", value: events.length }, baseMetaInputData)),
104
- this.modelVYMIMeta.save(Object.assign({ key: "eventsRoutes", value: routes.length }, baseMetaInputData)),
105
- this.modelVYMIMeta.save(Object.assign({ key: "eventsStops", value: stops.length }, baseMetaInputData)),
106
- ]);
107
- return {
108
- events,
109
- routes,
110
- stops,
111
- };
112
- });
113
- this.prepareAndSaveEvents = (key, model, transformedData, version) => __awaiter(this, void 0, void 0, function* () {
114
- yield model.truncate(true);
115
- yield model.save(transformedData, true);
116
- yield this.modelVYMIMeta.save({
117
- dataset: RopidVYMIMetadataModel_1.DatasetEnum.EVENTS,
118
- key,
119
- type: shared_1.MetaTypeEnum.STATE,
120
- value: shared_1.MetaStateEnum.SAVED,
121
- version,
122
- });
123
- });
124
- this.getAllEvents = () => __awaiter(this, void 0, void 0, function* () {
125
- try {
126
- let data = [], digest = "";
127
- yield this.processDataStream(this.datasource.getAll(true), (events) => __awaiter(this, void 0, void 0, function* () {
128
- data = events;
129
- digest = this.createDigest(JSON.stringify(data));
130
- }));
131
- return {
132
- data,
133
- digest,
134
- };
135
- }
136
- catch (err) {
137
- helpers_1.log.error(err);
138
- if (err instanceof golemio_errors_1.CustomError) {
139
- throw err;
140
- }
141
- else {
142
- throw new golemio_errors_1.CustomError("Error while getting data", true, this.constructor.name, undefined, err);
143
- }
144
- }
145
- });
146
- this.createDigest = (data) => {
147
- return crypto_1.default.createHash("sha1").update(data).digest("hex");
148
- };
149
- this.datasource = new datasources_1.DataSourceStreamed(ropid_vymi_1.RopidVYMI.events.name + "DataSource", new datasources_1.HTTPProtocolStrategyStreamed({
150
- headers: config_1.config.datasources.RopidVYMIApiHeaders,
151
- method: "GET",
152
- timeout: 30000,
153
- url: `${config_1.config.datasources.RopidVYMIApiUrl}?level=${RopidVYMIApiOutputLevel.Standard}`,
154
- }).setStreamTransformer(JSONStream_1.default.parse("vymi-report.vymi-list.*")), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(ropid_vymi_1.RopidVYMI.events.name + "DataSource", ropid_vymi_1.RopidVYMI.events.datasourceJsonSchema));
155
- this.transformation = new RopidVYMIEventsTransformation_1.RopidVYMIEventsTransformation();
156
- // Postgres models
157
- this.modelVYMIEvents = new models_1.RopidVYMIEventsModel();
158
- this.modelVYMIEventsRoutes = new models_1.RopidVYMIEventsRoutesModel();
159
- this.modelVYMIEventsStops = new models_1.RopidVYMIEventsStopsModel();
160
- this.modelVYMIMeta = new models_1.RopidVYMIMetadataModel();
161
- this.queuePrefix = config_1.config.RABBIT_EXCHANGE_NAME + "." + ropid_vymi_1.RopidVYMI.name.toLowerCase();
162
- }
163
- }
164
- exports.RopidVYMIWorker = RopidVYMIWorker;
165
- //# sourceMappingURL=RopidVYMIWorker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RopidVYMIWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-vymi/RopidVYMIWorker.ts"],"names":[],"mappings":"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"}