@golemio/pid 2.6.6 → 2.6.7-dev.839499227

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 (115) hide show
  1. package/db/example/00_clear_test_data.sql +4 -4
  2. package/db/example/03_ropidgtfs_dump.sql +10 -1
  3. package/db/example/14_nightDelays.sql +16 -8
  4. package/db/migrations/postgresql/20230327121511-departure-view.js +53 -0
  5. package/db/migrations/postgresql/sqls/20220915123941-partitioned-departures-down.sql +2 -0
  6. package/db/migrations/postgresql/sqls/20230307124639-positions-internal-down.sql +1 -1
  7. package/db/migrations/postgresql/sqls/20230327121511-departure-view-down.sql +81 -0
  8. package/db/migrations/postgresql/sqls/20230327121511-departure-view-up.sql +37 -0
  9. package/dist/integration-engine/queueDefinitions.js +10 -0
  10. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  11. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.d.ts +13 -7
  12. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js +50 -45
  13. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js.map +1 -1
  14. package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.d.ts +6 -4
  15. package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js +61 -30
  16. package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js.map +1 -1
  17. package/dist/integration-engine/{vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.d.ts → ropid-gtfs/data-access/cache/BlockStopsRedisRepository.d.ts} +2 -1
  18. package/dist/integration-engine/ropid-gtfs/data-access/cache/BlockStopsRedisRepository.js +19 -0
  19. package/dist/integration-engine/ropid-gtfs/data-access/cache/BlockStopsRedisRepository.js.map +1 -0
  20. package/dist/integration-engine/ropid-gtfs/data-access/{DelayComputationRedisRepository.d.ts → cache/DelayComputationRedisRepository.d.ts} +1 -0
  21. package/dist/integration-engine/ropid-gtfs/data-access/{DelayComputationRedisRepository.js → cache/DelayComputationRedisRepository.js} +5 -5
  22. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js.map +1 -0
  23. package/dist/integration-engine/{vehicle-positions/workers/runs/data-access → ropid-gtfs/data-access/cache}/RunTripsRedisRepository.d.ts +1 -0
  24. package/dist/integration-engine/ropid-gtfs/data-access/cache/RunTripsRedisRepository.js +19 -0
  25. package/dist/integration-engine/ropid-gtfs/data-access/cache/RunTripsRedisRepository.js.map +1 -0
  26. package/dist/integration-engine/ropid-gtfs/data-access/cache/StaticFileRedisRepository.d.ts +5 -0
  27. package/dist/integration-engine/ropid-gtfs/data-access/cache/StaticFileRedisRepository.js +15 -0
  28. package/dist/integration-engine/ropid-gtfs/data-access/cache/StaticFileRedisRepository.js.map +1 -0
  29. package/dist/integration-engine/ropid-gtfs/data-access/cache/index.d.ts +4 -0
  30. package/dist/integration-engine/ropid-gtfs/data-access/cache/index.js +21 -0
  31. package/dist/integration-engine/ropid-gtfs/data-access/cache/index.js.map +1 -0
  32. package/dist/integration-engine/ropid-gtfs/data-access/{DeparturesRepository.d.ts → precomputed/DeparturesRepository.d.ts} +2 -1
  33. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js +132 -0
  34. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js.map +1 -0
  35. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.d.ts +9 -0
  36. package/dist/integration-engine/ropid-gtfs/{RopidGTFSMinMaxSequencesModel.js → data-access/precomputed/MinMaxStopSequencesRepository.js} +34 -33
  37. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.js.map +1 -0
  38. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.d.ts +9 -0
  39. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js +135 -0
  40. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js.map +1 -0
  41. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.d.ts +11 -0
  42. package/dist/integration-engine/ropid-gtfs/{RopidGTFSScheduledTripsModel.js → data-access/precomputed/TripScheduleRepository.js} +27 -26
  43. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -0
  44. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/index.d.ts +4 -0
  45. package/dist/integration-engine/ropid-gtfs/data-access/{index.js → precomputed/index.js} +3 -0
  46. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/index.js.map +1 -0
  47. package/dist/integration-engine/ropid-gtfs/helpers/DataCacheManager.d.ts +11 -0
  48. package/dist/integration-engine/ropid-gtfs/helpers/DataCacheManager.js +43 -0
  49. package/dist/integration-engine/ropid-gtfs/helpers/DataCacheManager.js.map +1 -0
  50. package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.d.ts +5 -0
  51. package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.js +10 -0
  52. package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.js.map +1 -0
  53. package/dist/integration-engine/ropid-gtfs/helpers/interfaces/IDataCacheManager.d.ts +3 -0
  54. package/dist/integration-engine/ropid-gtfs/helpers/interfaces/IDataCacheManager.js +3 -0
  55. package/dist/integration-engine/ropid-gtfs/helpers/interfaces/IDataCacheManager.js.map +1 -0
  56. package/dist/integration-engine/ropid-gtfs/index.d.ts +0 -3
  57. package/dist/integration-engine/ropid-gtfs/index.js +0 -3
  58. package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
  59. package/dist/integration-engine/ropid-gtfs/utils.js +5 -4
  60. package/dist/integration-engine/ropid-gtfs/utils.js.map +1 -1
  61. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.d.ts +1 -1
  62. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js +3 -3
  63. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js.map +1 -1
  64. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js +2 -2
  65. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js.map +1 -1
  66. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +18 -18
  67. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
  68. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.d.ts +3 -3
  69. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.js +4 -4
  70. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.js.map +1 -1
  71. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.d.ts +1 -1
  72. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js +2 -2
  73. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js.map +1 -1
  74. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +4 -5
  75. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
  76. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.js +5 -6
  77. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.js.map +1 -1
  78. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js +2 -2
  79. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js.map +1 -1
  80. package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js +1 -1
  81. package/dist/output-gateway/pid/data-access/DeparturesRepository.js +0 -6
  82. package/dist/output-gateway/pid/data-access/DeparturesRepository.js.map +1 -1
  83. package/dist/output-gateway/pid/middleware/checkTimeFromMiddleware.js +2 -2
  84. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +3 -6
  85. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +30 -33
  86. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
  87. package/dist/schema-definitions/ropid-gtfs/index.js +1 -4
  88. package/dist/schema-definitions/ropid-gtfs/index.js.map +1 -1
  89. package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.d.ts +0 -1
  90. package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js +5 -18
  91. package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js.map +1 -1
  92. package/dist/schema-definitions/ropid-gtfs/models/precomputed/interfaces/IDeparturesModel.d.ts +0 -1
  93. package/dist/schema-definitions/vehicle-positions/index.d.ts +0 -4
  94. package/dist/schema-definitions/vehicle-positions/index.js +0 -4
  95. package/dist/schema-definitions/vehicle-positions/index.js.map +1 -1
  96. package/docs/implementation_documentation.md +30 -10
  97. package/docs/openapi-output.yaml +1 -1
  98. package/package.json +4 -3
  99. package/db/example/99_precomputed_tables.sql +0 -169
  100. package/dist/integration-engine/ropid-gtfs/RopidGTFSMinMaxSequencesModel.d.ts +0 -19
  101. package/dist/integration-engine/ropid-gtfs/RopidGTFSMinMaxSequencesModel.js.map +0 -1
  102. package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.d.ts +0 -21
  103. package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js.map +0 -1
  104. package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.d.ts +0 -19
  105. package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.js +0 -142
  106. package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.js.map +0 -1
  107. package/dist/integration-engine/ropid-gtfs/data-access/DelayComputationRedisRepository.js.map +0 -1
  108. package/dist/integration-engine/ropid-gtfs/data-access/DeparturesRepository.js +0 -162
  109. package/dist/integration-engine/ropid-gtfs/data-access/DeparturesRepository.js.map +0 -1
  110. package/dist/integration-engine/ropid-gtfs/data-access/index.d.ts +0 -1
  111. package/dist/integration-engine/ropid-gtfs/data-access/index.js.map +0 -1
  112. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/RunTripsRedisRepository.js +0 -19
  113. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/RunTripsRedisRepository.js.map +0 -1
  114. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.js +0 -19
  115. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.js.map +0 -1
@@ -41,7 +41,10 @@ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator
41
41
  const os_1 = __importDefault(require("os"));
42
42
  const pg_copy_streams_1 = require("pg-copy-streams");
43
43
  const _1 = require("./");
44
- const data_access_1 = require("./data-access");
44
+ const cache_1 = require("./data-access/cache");
45
+ const precomputed_1 = require("./data-access/precomputed");
46
+ const DataCacheManager_1 = require("./helpers/DataCacheManager");
47
+ const SourceTableSuffixEnum_1 = require("./helpers/SourceTableSuffixEnum");
45
48
  var CacheContentType;
46
49
  (function (CacheContentType) {
47
50
  CacheContentType["CSV"] = "CSV";
@@ -170,10 +173,10 @@ class RopidGTFSWorker extends workers_1.BaseWorker {
170
173
  helpers_1.log.info(`Datasets: processing file '${file.name}'`);
171
174
  const { data } = file, meta = __rest(file, ["data"]);
172
175
  if (dataset === _1.DatasetEnum.PID_GTFS || dataset === _1.DatasetEnum.RUN_NUMBERS) {
173
- yield this.redisModel.pipeStream(file.filepath, data);
176
+ yield this.staticFileRedisRepository.pipeStream(file.filepath, data);
174
177
  }
175
178
  else {
176
- yield this.redisModel.set(file.filepath, typeof data === "string" ? data : JSON.stringify(data));
179
+ yield this.staticFileRedisRepository.set(file.filepath, typeof data === "string" ? data : JSON.stringify(data));
177
180
  }
178
181
  const key = (0, exports.datasetFileModelMap)(dataset, file.name);
179
182
  const metaStates = (Array.isArray(key) ? key : [key]).map((name) => {
@@ -233,7 +236,7 @@ class RopidGTFSWorker extends workers_1.BaseWorker {
233
236
  let errorMessage;
234
237
  if (inputData.dataset === _1.DatasetEnum.PID_GTFS || inputData.dataset === _1.DatasetEnum.RUN_NUMBERS) {
235
238
  try {
236
- const sourceStream = this.redisModel.getReadableStream(inputData.filepath);
239
+ const sourceStream = this.staticFileRedisRepository.getReadableStream(inputData.filepath);
237
240
  const transformedDataset = yield this.transformationGtfs.transform({
238
241
  sourceStream,
239
242
  name: modelName[0],
@@ -246,7 +249,7 @@ class RopidGTFSWorker extends workers_1.BaseWorker {
246
249
  }
247
250
  else {
248
251
  try {
249
- const data = yield this.redisModel.get(inputData.filepath);
252
+ const data = yield this.staticFileRedisRepository.get(inputData.filepath);
250
253
  const transformedDataset = yield this.datasetMap[inputData.dataset].transformation.transform({
251
254
  data: this.datasetMap[inputData.dataset].cacheContentType === CacheContentType.JSON ? JSON.parse(data) : data,
252
255
  name: inputData.name,
@@ -327,10 +330,9 @@ class RopidGTFSWorker extends workers_1.BaseWorker {
327
330
  yield Promise.all(datasetDeployInfo.map((el) => __awaiter(this, void 0, void 0, function* () {
328
331
  yield this.metaModel.checkSavedTmpTables(el.dataset, el.lastModified.version);
329
332
  })));
330
- yield this.createAndPopulatePrecomputedTmpTables();
333
+ yield this.createAndPopulatePrecomputedTmpTables(SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp);
331
334
  yield this.metaModel.replaceTables(notDeployedVersions);
332
- // this flushes all models on current db
333
- yield this.redisModel.flush();
335
+ yield this.dataCacheManager.cleanCache();
334
336
  return true;
335
337
  }
336
338
  catch (err) {
@@ -349,11 +351,33 @@ class RopidGTFSWorker extends workers_1.BaseWorker {
349
351
  return true;
350
352
  }
351
353
  else {
352
- // finish with error
354
+ // at least refresh precomputed tables and finish with error
355
+ yield this.sendMessageToExchange("workers." + this.queuePrefix + ".refreshPrecomputedTables", "");
353
356
  throw new golemio_errors_1.CustomError("Error while checking RopidGTFS saved rows.", true, this.constructor.name, 5004, err);
354
357
  }
355
358
  }
356
359
  });
360
+ this.refreshPrecomputedTables = () => __awaiter(this, void 0, void 0, function* () {
361
+ try {
362
+ yield this.createAndPopulatePrecomputedTmpTables(SourceTableSuffixEnum_1.SourceTableSuffixEnum.Actual);
363
+ }
364
+ catch (err) {
365
+ helpers_1.log.error(err);
366
+ throw new golemio_errors_1.CustomError("Error while creating RopidGTFS precomputed tables", true, this.constructor.name);
367
+ }
368
+ const connection = connectors_1.PostgresConnector.getConnection();
369
+ const transaction = yield connection.transaction();
370
+ try {
371
+ yield this.metaModel.replacePrecomputedTables(transaction);
372
+ yield transaction.commit();
373
+ }
374
+ catch (err) {
375
+ yield transaction.rollback();
376
+ helpers_1.log.error(err);
377
+ throw new golemio_errors_1.CustomError("Error while replacing RopidGTFS precomputed tables", true, this.constructor.name);
378
+ }
379
+ yield this.dataCacheManager.cleanCache();
380
+ });
357
381
  /**
358
382
  * Queue listener method - triggers processing of DEPARTURES_PRESETS dataset
359
383
  */
@@ -423,7 +447,7 @@ class RopidGTFSWorker extends workers_1.BaseWorker {
423
447
  // get connection and db client
424
448
  const connection = connectors_1.PostgresConnector.getConnection();
425
449
  const client = (yield connection.connectionManager.getConnection({ type: "write" }));
426
- const tmpTableName = ropid_gtfs_1.RopidGTFS[modelName].pgTableName + "_tmp";
450
+ const tmpTableName = ropid_gtfs_1.RopidGTFS[modelName].pgTableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp;
427
451
  // copy transformed data to tmp table by stream
428
452
  yield new Promise((resolve, reject) => {
429
453
  const stream = client
@@ -450,12 +474,12 @@ class RopidGTFSWorker extends workers_1.BaseWorker {
450
474
  hasTmpTable: false,
451
475
  outputSequelizeAttributes: modelDef.outputSequelizeAttributes,
452
476
  pgSchema: ropid_gtfs_1.RopidGTFS.pgSchema,
453
- pgTableName: modelDef.pgTableName + "_tmp",
477
+ pgTableName: modelDef.pgTableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp,
454
478
  savingType: "insertOnly",
455
479
  sequelizeAdditionalSettings: Object.assign({ timestamps: false }, (modelDef.modelIndexOptions &&
456
480
  modelDef.modelIndexOptions.length && {
457
481
  indexes: modelDef.modelIndexOptions.map((indexDef) => {
458
- return Object.assign(Object.assign({}, indexDef), { name: indexDef.name + "_tmp" });
482
+ return Object.assign(Object.assign({}, indexDef), { name: indexDef.name + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp });
459
483
  }),
460
484
  })),
461
485
  }, new golemio_validator_1.JSONSchemaValidator(modelDef.name + "Tmp" + "ModelValidator", modelDef.outputMongooseSchemaObject));
@@ -469,22 +493,26 @@ class RopidGTFSWorker extends workers_1.BaseWorker {
469
493
  yield model.sync({ force: true, schema: ropid_gtfs_1.RopidGTFS.pgSchema });
470
494
  return model;
471
495
  });
472
- this.createAndPopulatePrecomputedTmpTables = () => __awaiter(this, void 0, void 0, function* () {
473
- yield this.ropidGTFSServicesFirst14daysModel.createAndPopulateFromTmp();
474
- yield this.ropidGTFSServicesFirst14daysModel.createIndexes();
475
- yield this.ropidGTFSMinMaxSequencesModel.createAndPopulateFromTmp();
476
- yield this.ropidGTFSMinMaxSequencesModel.createIndexes();
477
- yield this.ropidGTFSScheduledTripsModel.createAndPopulateFromTmp();
478
- yield this.ropidGTFSScheduledTripsModel.createIndexes();
479
- yield this.departuresRepository.createAndPopulateFromTmp();
496
+ this.createAndPopulatePrecomputedTmpTables = (sourceTableSuffix) => __awaiter(this, void 0, void 0, function* () {
497
+ helpers_1.log.info(`Datasets: creating temp table ${this.servicesCalendarRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
498
+ yield this.servicesCalendarRepository.createAndPopulate(sourceTableSuffix);
499
+ helpers_1.log.info(`Datasets: creating indexes on ${this.servicesCalendarRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
500
+ yield this.servicesCalendarRepository.createIndexes();
501
+ helpers_1.log.info(`Datasets: creating temp table ${this.minMaxStopSequencesRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
502
+ yield this.minMaxStopSequencesRepository.createAndPopulate(sourceTableSuffix);
503
+ helpers_1.log.info(`Datasets: creating indexes on ${this.minMaxStopSequencesRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
504
+ yield this.minMaxStopSequencesRepository.createIndexes();
505
+ helpers_1.log.info(`Datasets: creating temp table ${this.tripScheduleRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
506
+ yield this.tripScheduleRepository.createAndPopulate(sourceTableSuffix);
507
+ helpers_1.log.info(`Datasets: creating indexes on ${this.tripScheduleRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
508
+ yield this.tripScheduleRepository.createIndexes();
509
+ helpers_1.log.info(`Datasets: creating temp table ${this.departuresRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
510
+ yield this.departuresRepository.createAndPopulate(sourceTableSuffix);
511
+ helpers_1.log.info(`Datasets: creating indexes on ${this.departuresRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
480
512
  yield this.departuresRepository.createIndexes();
513
+ helpers_1.log.info(`Datasets: running analyze on ${this.departuresRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
481
514
  yield this.departuresRepository.analyze();
482
515
  });
483
- // Redis Models
484
- this.redisModel = new models_1.RedisModel(ropid_gtfs_1.RopidGTFS.name + "Model", {
485
- isKeyConstructedFromData: false,
486
- prefix: "files:ropid",
487
- });
488
516
  // MetaData Model
489
517
  this.metaModel = new _1.RopidGTFSMetadataModel();
490
518
  // Ropid Departures Presets
@@ -550,7 +578,6 @@ class RopidGTFSWorker extends workers_1.BaseWorker {
550
578
  encoding: "utf8",
551
579
  }), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(ropid_gtfs_1.RopidGTFS.ois.name + "DataSource", ropid_gtfs_1.RopidGTFS.ois.datasourceJsonSchema));
552
580
  this.transformationOisMapping = new RopidGTFSOisTransformation_1.RopidGTFSOisMappingTransformation();
553
- this.gtfsRedisChannel = new pubsub_1.RedisPubSubChannel(ropid_gtfs_1.RopidGTFS.name);
554
581
  this.datasetMap = {
555
582
  [_1.DatasetEnum.PID_GTFS]: {
556
583
  datasource: this.dataSourceGtfs,
@@ -574,10 +601,14 @@ class RopidGTFSWorker extends workers_1.BaseWorker {
574
601
  },
575
602
  };
576
603
  /** Precomputed data repositories */
577
- this.departuresRepository = new data_access_1.DeparturesRepository();
578
- this.ropidGTFSMinMaxSequencesModel = new _1.RopidGTFSMinMaxSequencesModel();
579
- this.ropidGTFSScheduledTripsModel = new _1.RopidGTFSScheduledTripsModel();
580
- this.ropidGTFSServicesFirst14daysModel = new _1.RopidGTFSServicesFirst14daysModel();
604
+ this.departuresRepository = new precomputed_1.DeparturesRepository();
605
+ this.minMaxStopSequencesRepository = new precomputed_1.MinMaxStopSequencesRepository();
606
+ this.tripScheduleRepository = new precomputed_1.TripScheduleRepository();
607
+ this.servicesCalendarRepository = new precomputed_1.ServicesCalendarRepository();
608
+ // Redis repositories
609
+ this.staticFileRedisRepository = new cache_1.StaticFileRedisRepository();
610
+ this.dataCacheManager = DataCacheManager_1.DataCacheManager.getInstance();
611
+ this.gtfsRedisChannel = new pubsub_1.RedisPubSubChannel(ropid_gtfs_1.RopidGTFS.name);
581
612
  this.queuePrefix = config_1.config.RABBIT_EXCHANGE_NAME + "." + ropid_gtfs_1.RopidGTFS.name.toLowerCase();
582
613
  }
583
614
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RopidGTFSWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RopidGTFSWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6FAA8G;AAC9G,mCAA2D;AAC3D,sCAAiF;AACjF,gGAA+F;AAC/F,oEAAiF;AAGjF,yEAAsE;AACtE,iFAAqF;AACrF,qFAA8F;AAC9F,mFAO2D;AAC3D,2EAA6F;AAC7F,yEAA6E;AAC7E,2EAA2E;AAC3E,6EAAuE;AACvE,mFAAkF;AAGlF,4CAAoB;AACpB,qDAAmD;AACnD,yBAMY;AACZ,+CAAgE;AAChE,2DAKmC;AACnC,iEAA8D;AAC9D,2EAAwE;AAQxE,IAAK,gBAGJ;AAHD,WAAK,gBAAgB;IACjB,+BAAW,CAAA;IACX,iCAAa,CAAA;AACjB,CAAC,EAHI,gBAAgB,KAAhB,gBAAgB,QAGpB;AAgBD,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAyB,EAAE;IACxD,OAAO,GAAG,YAAY,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC;AACtH,CAAC,CAAC;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAqB,EAAE,IAAY,EAAyC,EAAE;IAC9G,IAAI,KAAK,CAAC;IACV,QAAQ,OAAO,EAAE;QACb,KAAK,cAAW,CAAC,QAAQ;YACrB,KAAK,GAAG,IAAyB,CAAC;YAClC,MAAM;QACV,KAAK,cAAW,CAAC,WAAW;YACxB,KAAK,GAAU,aAAa,CAAC;YAC7B,MAAM;QACV,KAAK,cAAW,CAAC,WAAW;YACxB,KAAK,GAAU,KAAK,CAAC;YACrB,MAAM;QACV,KAAK,cAAW,CAAC,SAAS;YACtB,KAAK,GAAG,CAAQ,WAAW,EAAS,iBAAiB,CAAC,CAAC;YACvD,MAAM;QACV;YACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,eAAe,IAAI,EAAE,CAAC,CAAC;KAC9E;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AApBW,QAAA,mBAAmB,uBAoB9B;AAEF,MAAa,eAAgB,SAAQ,oBAAU;IA8B3C;QACI,KAAK,EAAE,CAAC;QA4IZ;;WAEG;QACI,oBAAe,GAAG,GAAwB,EAAE;YAC/C,MAAM,QAAQ,GAAG,EAAE,CAAC;YAEpB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAmB,EAAE;gBAClE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;gBACvF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACrE,IAAI,kBAAkB,KAAK,cAAc,CAAC,YAAY,EAAE;oBACpD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC1B;aACJ;YAED,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;gBAC5E,aAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACnD;YAED,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACjB,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;aACnH;iBAAM;gBACH,aAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;aACjD;QACL,CAAC,CAAA,CAAC;QAEF;;;;WAIG;QACI,qBAAgB,GAAG,CAAO,GAAgB,EAAiB,EAAE;YAChE,IAAI,QAAwB,CAAC;YAE7B,IAAI;gBACA,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvC,IAAI,OAAO,EAAE;oBACT,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC/B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;iBACvC;qBAAM;oBACH,iDAAiD;oBACjD,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAmB,CAAC;iBAC7D;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aACxG;YAED,aAAG,CAAC,IAAI,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YAE9C,IAAI,cAAc,GAAqB,EAAE,CAAC;YAE1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC5B,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;aAC9F;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,YAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5F,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;YAE7B,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;gBACxC,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;oBAC/G,OAAO,EAAE;wBACL,CAAC,eAAe,CAAC,sBAAsB,CAAC,EAAE,YAAE,CAAC,QAAQ,EAAE;qBAC1D;iBACJ,CAAC,CAAC;aACN;YAED,sEAAsE;YACtE,wDAAwD;YACxD,IAAI;gBACA,MAAM,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;oBAClF,aAAG,CAAC,KAAK,CAAC,+BAA+B,OAAO,KAAK,YAAY,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;oBAE/F,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;wBAC3B,aAAG,CAAC,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;wBACtD,MAAM,IAAI,4BAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;qBAC/D;oBAED,IAAI,OAAO,EAAE;wBACT,aAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;qBAC/C;gBACL,CAAC,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,4BAAW,EAAE;oBAC5B,MAAM,GAAG,CAAC;iBACb;gBACD,MAAM,IAAI,4BAAW,CAAC,oCAAoC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aAC5G;oBAAS;gBACN,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,qBAAqB,CACtB,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,iCAAiC,EACjE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC3B,CAAC;aACL;QACL,CAAC,CAAA,CAAC;QAEF;;WAEG;QACK,mCAA8B,GAAG,CAAO,OAAqB,EAA6B,EAAE;YAChG,aAAG,CAAC,IAAI,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAoB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;YAE3C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACrE,MAAM,aAAa,GAAqB,EAAE,CAAC;YAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,aAAG,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACrD,MAAM,EAAE,IAAI,KAAc,IAAI,EAAb,IAAI,UAAK,IAAI,EAAxB,QAAiB,CAAO,CAAC;gBAC/B,IAAI,OAAO,KAAK,cAAW,CAAC,QAAQ,IAAI,OAAO,KAAK,cAAW,CAAC,WAAW,EAAE;oBACzE,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAkB,CAAC,CAAC;iBACtF;qBAAM;oBACH,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnH;gBAED,MAAM,GAAG,GAAG,IAAA,2BAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC/D,OAAO;wBACH,OAAO;wBACP,GAAG,EAAE,IAAI;wBACT,IAAI,EAAE,qBAAY,CAAC,KAAK;wBACxB,KAAK,EAAE,sBAAa,CAAC,UAAU;wBAC/B,OAAO,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC;qBACtC,CAAC;gBACN,CAAC,CAAC,CAAC;gBAEH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;oBAChC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACxC;gBAED,aAAa,CAAC,IAAI,iCACX,IAAI,KACP,OAAO,IACT,CAAC;aACN;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAuB,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAEjG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACtB,OAAO;gBACP,GAAG,EAAE,+BAAsB,CAAC,aAAa;gBACzC,IAAI,EAAE,qBAAY,CAAC,YAAY;gBAC/B,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC;aACtC,CAAC,CAAC;YAEH,aAAG,CAAC,IAAI,CAAC,wBAAwB,OAAO,eAAe,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACxF,OAAO,aAAa,CAAC;QACzB,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,iCAA4B,GAAG,GAAwB,EAAE;YAC5D,sCAAsC;YACtC,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;YACrG,MAAM,+BAA+B,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,cAAW,CAAC,kBAAkB,CAAC,CAAC;YAC7G,IAAI,mCAAmC,KAAK,+BAA+B,CAAC,YAAY,EAAE;gBACtF,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4BAA4B,EAAE,aAAa,CAAC,CAAC;aACjH;QACL,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,yBAAoB,GAAG,CAAO,GAAgB,EAAiB,EAAE;YACpE,IAAI,SAAyB,CAAC;YAC9B,IAAI;gBACA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;oBAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;iBACrD;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aACxG;YAED,IAAI,SAAS,GAAG,IAAA,2BAAmB,EAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3B;YAED,IAAI,YAAgC,CAAC;YACrC,IAAI,SAAS,CAAC,OAAO,KAAK,cAAW,CAAC,QAAQ,IAAI,SAAS,CAAC,OAAO,KAAK,cAAW,CAAC,WAAW,EAAE;gBAC7F,IAAI;oBACA,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC1F,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;wBAC/D,YAAY;wBACZ,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;qBACrB,CAAC,CAAC;oBAEH,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1F;gBAAC,OAAO,GAAG,EAAE;oBACV,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;iBAC9B;aACJ;iBAAM;gBACH,IAAI;oBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC1E,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAuB,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC;wBACzG,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;wBAC7G,IAAI,EAAE,SAAS,CAAC,IAAI;qBACvB,CAAC,CAAC;oBAEH,IAAI,SAAS,CAAC,OAAO,KAAK,cAAW,CAAC,SAAS,EAAE;wBAC7C,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjG,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,eAAe,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC1G;yBAAM;wBACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC1F;iBACJ;gBAAC,OAAO,GAAG,EAAE;oBACV,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;iBAC9B;aACJ;YAED,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC,EAAE;gBAChE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,IAAI,KAAK,SAAS,GAAG,EAAE;oBACjF,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC;iBAChF,CAAC,CAAC;aACN;YAED,IAAI,YAAY,EAAE;gBACd,MAAM,IAAI,4BAAW,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACpE;QACL,CAAC,CAAA,CAAC;QAEM,2BAAsB,GAAG,CAC7B,eAAoB,EACpB,OAAqB,EACrB,SAA2B,EACd,EAAE;YACf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAEnD,QAAQ,OAAO,EAAE;gBACb,KAAK,cAAW,CAAC,QAAQ,CAAC;gBAC1B,KAAK,cAAW,CAAC,WAAW;oBACxB,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,SAA8B,CAAC,CAAC;oBAC5E,MAAM;gBACV;oBACI,MAAM,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA,CAAC;oBAC1C,aAAG,CAAC,IAAI,CAAC,qCAAqC,SAAS,GAAG,CAAC,CAAC;aACnE;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,sBAAa,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACtG,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,mCAA8B,GAAG,CAAO,GAAgB,EAAoB,EAAE;YACjF,IAAI,QAAwB,CAAC;YAE7B,IAAI;gBACA,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;aACvC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAW,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aACxG;YAED,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,QAAQ,CAAC,GAAG,CAAC,CAAO,OAAO,EAAE,EAAE;gBAC3B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC1G,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;YACjD,CAAC,CAAA,CAAC,CACL,CAAC;YAEF,aAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAEnE,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEzE,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;gBACxC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAClD,aAAG,CAAC,KAAK,CAAC,mDAAmD,KAAK,SAAS,QAAQ,oBAAoB,CAAC,CAAC;aAC5G;YAED,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;gBACrB,aAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC;aACf;YAED,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;YAEvF,IAAI;gBACA,IAAI,CAAC,QAAQ,EAAE;oBACX,6BAA6B;oBAC7B,aAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAC5C,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB;oBACrF,MAAM,IAAI,CAAC,qBAAqB,CAC5B,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,iCAAiC,EACjE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC3B,CAAC;oBACF,aAAG,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;oBACrE,OAAO,IAAI,CAAC;iBACf;gBAED,MAAM,OAAO,CAAC,GAAG,CACb,iBAAiB,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE,EAAE;oBAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAClF,CAAC,CAAA,CAAC,CACL,CAAC;gBAEF,MAAM,IAAI,CAAC,qCAAqC,CAAC,6CAAqB,CAAC,GAAG,CAAC,CAAC;gBAC5E,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,GAAG,EAAE;gBACV,4BAA4B;gBAC5B,MAAM,OAAO,CAAC,GAAG,CACb,mBAAmB,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE,EAAE;oBACjC,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;gBACtE,CAAC,CAAA,CAAC,CACL,CAAC;gBACF,wBAAwB;gBACxB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,mBAAmB,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE,EAAE;oBACjC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;gBACnF,CAAC,CAAA,CAAC,CACL,CAAC;gBAEF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC3B,4CAA4C;oBAC5C,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChH,iCAAuB,CAAC,MAAM,CAC1B,IAAI,4BAAW,CACX,6DAA6D,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,EAC/F,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,EACJ,GAAG,CACN,CACJ,CAAC;oBACF,OAAO,IAAI,CAAC;iBACf;qBAAM;oBACH,4DAA4D;oBAC5D,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,2BAA2B,EAAE,EAAE,CAAC,CAAC;oBAClG,MAAM,IAAI,4BAAW,CAAC,4CAA4C,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;iBAC/G;aACJ;QACL,CAAC,CAAA,CAAC;QAEK,6BAAwB,GAAG,GAAwB,EAAE;YACxD,IAAI;gBACA,MAAM,IAAI,CAAC,qCAAqC,CAAC,6CAAqB,CAAC,MAAM,CAAC,CAAC;aAClF;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,IAAI,4BAAW,CAAC,mDAAmD,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC3G;YAED,MAAM,UAAU,GAAG,8BAAiB,CAAC,aAAa,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;YAEnD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;gBAC3D,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAE7B,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,IAAI,4BAAW,CAAC,oDAAoD,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC5G;YAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAC7C,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,8BAAyB,GAAG,GAAwB,EAAE;YACzD,MAAM,IAAI,GAA2B,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC;YAErF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;YAC9E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,cAAW,CAAC,kBAAkB,CAAC,CAAC;YAE5F,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACtB,OAAO,EAAE,cAAW,CAAC,kBAAkB;gBACvC,GAAG,EAAE,+BAAsB,CAAC,aAAa;gBACzC,IAAI,EAAE,qBAAY,CAAC,YAAY;gBAC/B,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC;aACtC,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExF,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACtB,OAAO,EAAE,cAAW,CAAC,kBAAkB;gBACvC,GAAG,EAAE,mBAAmB;gBACxB,IAAI,EAAE,qBAAY,CAAC,iBAAiB;gBACpC,KAAK,EAAE,eAAe,CAAC,MAAM;gBAC7B,OAAO,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC;aACtC,CAAC,CAAC;YAEH,IAAI;gBACA,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBAE9D,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBACtB,OAAO,EAAE,cAAW,CAAC,kBAAkB;oBACvC,GAAG,EAAE,mBAAmB;oBACxB,IAAI,EAAE,qBAAY,CAAC,KAAK;oBACxB,KAAK,EAAE,sBAAa,CAAC,KAAK;oBAC1B,OAAO,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC;iBACtC,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAW,CAAC,kBAAkB,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAChG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,cAAW,CAAC,kBAAkB,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;aACrG;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,cAAW,CAAC,kBAAkB,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;aACzG;QACL,CAAC,CAAA,CAAC;QAEF;;;;WAIG;QACK,yBAAoB,GAAG,CAAC,KAAc,EAAQ,EAAE;YACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;aACtE;YAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aACrE;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7E,IAAI,YAAY,CAAC,MAAM,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;aAC7F;QACL,CAAC,CAAC;QAEF;;;;WAIG;QACK,wBAAmB,GAAG,CAAC,IAAY,EAAW,EAAE;YACpD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAmB,CAAC,CAAC;QACtE,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAO,IAAS,EAAE,SAA4B,EAAE,EAAE;YACxE,+BAA+B;YAC/B,MAAM,UAAU,GAAG,8BAAiB,CAAC,aAAa,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAQ,CAAC;YAE5F,MAAM,YAAY,GAAG,sBAAS,CAAC,SAA4B,CAAC,CAAC,WAAW,GAAG,6CAAqB,CAAC,GAAG,CAAC;YAErG,+CAA+C;YAC/C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,MAAM,MAAM,GAAG,MAAM;qBAChB,KAAK,CAAC,IAAA,sBAAQ,EAAC,SAAS,sBAAS,CAAC,QAAQ,KAAK,YAAY,uCAAuC,CAAC,CAAC;qBACpG,EAAE,CAAC,OAAO,EAAE,CAAO,GAAQ,EAAE,EAAE;oBAC5B,aAAG,CAAC,KAAK,CAAC,mCAAmC,SAAS,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC9E,MAAM,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC,CAAA,CAAC;qBACD,EAAE,CAAC,QAAQ,EAAE,GAAS,EAAE;oBACrB,aAAG,CAAC,IAAI,CAAC,qCAAqC,SAAS,GAAG,CAAC,CAAC;oBAC5D,MAAM,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC7D,OAAO,OAAO,EAAE,CAAC;gBACrB,CAAC,CAAA,CAAC,CAAC;gBACP,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC,CAAA,CAAC;QAEM,sBAAiB,GAAG,CAAO,IAAY,EAA0B,EAAE;YACvE,MAAM,QAAQ,GAAG,sBAAS,CAAC,IAAuB,CAAC,CAAC;YAEpD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE;gBAC7F,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;aACvC;YAED,MAAM,KAAK,GAAG,IAAI,sBAAa,CAC3B,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,OAAO,EAC/B;gBACI,WAAW,EAAE,KAAK;gBAClB,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB;gBAC7D,QAAQ,EAAE,sBAAS,CAAC,QAAQ;gBAC5B,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAG,6CAAqB,CAAC,GAAG;gBAC7D,UAAU,EAAE,YAAY;gBACxB,2BAA2B,kBACvB,UAAU,EAAE,KAAK,IACd,CAAC,QAAQ,CAAC,iBAAiB;oBAC1B,QAAQ,CAAC,iBAAiB,CAAC,MAAM,IAAI;oBACjC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAa,EAAE,EAAE;wBACtD,uCACO,QAAQ,KACX,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,6CAAqB,CAAC,GAAG,IACjD;oBACN,CAAC,CAAC;iBACL,CAAC,CACT;aACJ,EACD,IAAI,uCAAmB,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,gBAAgB,EAAE,QAAQ,CAAC,0BAA0B,CAAC,CACzG,CAAC;YAEF,OAAO,KAAK,CAAC;QACjB,CAAC,CAAA,CAAC;QAEM,mBAAc,GAAG,CAAO,IAAY,EAA0B,EAAE;YACpE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,sBAAS,CAAC,IAAuB,CAAC,CAAC,iBAAiB,EAAE;gBACtD,MAAM,KAAK,CAAC,KAAK,CAAC,IAAA,2BAAmB,EAAC,sBAAS,CAAC,IAAuB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAChG;YACD,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9D,OAAO,KAAK,CAAC;QACjB,CAAC,CAAA,CAAC;QAEM,0CAAqC,GAAG,CAAO,iBAAwC,EAAiB,EAAE;YAC9G,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YACtH,MAAM,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAE3E,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YACtH,MAAM,IAAI,CAAC,0BAA0B,CAAC,aAAa,EAAE,CAAC;YAEtD,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YACzH,MAAM,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAE9E,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YACzH,MAAM,IAAI,CAAC,6BAA6B,CAAC,aAAa,EAAE,CAAC;YAEzD,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YAClH,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAEvE,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YAClH,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,CAAC;YAElD,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YAChH,MAAM,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAErE,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YAChH,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;YAEhD,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YAChH,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC9C,CAAC,CAAA,CAAC;QAjqBE,iBAAiB;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,yBAAsB,EAAE,CAAC;QAE9C,2BAA2B;QAC3B,IAAI,CAAC,2BAA2B,GAAG,IAAI,wBAAU,CAC7C,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,8BAA8B;YAC3D,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,0BAA0B;YACnD,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAAE,iDAAsB,CAAC,oBAAoB,CAAC,CACnH,CAAC;QACF,IAAI,CAAC,+BAA+B,GAAG,IAAI,uCAAoC,EAAE,CAAC;QAClF,IAAI,CAAC,sBAAsB,GAAG,IAAI,sBAAa,CAC3C,iDAAsB,CAAC,IAAI,GAAG,OAAO,EACrC;YACI,WAAW,EAAE,IAAI;YACjB,yBAAyB,EAAE,iDAAsB,CAAC,yBAAyB;YAC3E,WAAW,EAAE,iDAAsB,CAAC,WAAW;YAC/C,QAAQ,EAAE,iDAAsB,CAAC,QAAQ;YACzC,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,IAAI;SAC3B,EACD,IAAI,uCAAmB,CAAC,iDAAsB,CAAC,IAAI,GAAG,gBAAgB,EAAE,iDAAsB,CAAC,gBAAgB,CAAC,CACnH,CAAC;QAEF,2CAA2C;QAE3C,aAAa;QACb,IAAI,CAAC,cAAc,GAAG,IAAI,wBAAU,CAChC,sBAAS,CAAC,IAAI,GAAG,YAAY,EAC7B,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,iBAAiB;YAC9C,UAAU,EAAE,2BAAa,CAAC,UAAU;YACpC,UAAU,EAAE,2BAAa,CAAC,MAAM;YAChC,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,aAAa;YACtC,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,gBAAgB,EAAE;gBACd,YAAY;gBACZ,cAAc;gBACd,oBAAoB;gBACpB,YAAY;gBACZ,gBAAgB;gBAChB,WAAW;gBACX,YAAY;gBACZ,WAAW;aACd;YACD,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAW,CACd,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,0BAAuB,EAAE,CAAC;QAExD,oCAAoC;QACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,wBAAU,CACtC,sBAAS,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,EACzC,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,2BAA2B;YACxD,UAAU,EAAE,2BAAa,CAAC,MAAM;YAChC,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,uBAAuB;YAChD,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAW,CACd,CAAC;QAEF,kCAAkC;QAClC,MAAM,oBAAoB,GAAG,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;QACrF,oBAAoB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,IAAI,wBAAU,CACpC,sBAAS,CAAC,IAAI,GAAG,UAAU,EAC3B,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,yBAAyB;YACtD,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,qBAAqB;YAC9C,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,oBAAoB,EACpB,IAAW,CACd,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,kCAA+B,EAAE,CAAC;QAEpE,4BAA4B;QAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,wBAAU,CACtC,sBAAS,CAAC,IAAI,GAAG,KAAK,EACtB,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,oBAAoB;YACjD,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,gBAAgB;YACzC,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,sBAAS,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,EAAE,sBAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CACjG,CAAC;QACF,IAAI,CAAC,wBAAwB,GAAG,IAAI,8DAAiC,EAAE,CAAC;QAExE,IAAI,CAAC,UAAU,GAAG;YACd,CAAC,cAAW,CAAC,QAAQ,CAAC,EAAE;gBACpB,UAAU,EAAE,IAAI,CAAC,cAAc;gBAC/B,cAAc,EAAE,IAAI,CAAC,kBAAkB;gBACvC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG;aACzC;YACD,CAAC,cAAW,CAAC,WAAW,CAAC,EAAE;gBACvB,UAAU,EAAE,IAAI,CAAC,oBAAoB;gBACrC,cAAc,EAAE,IAAI,CAAC,kBAAkB;gBACvC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG;aACzC;YACD,CAAC,cAAW,CAAC,SAAS,CAAC,EAAE;gBACrB,UAAU,EAAE,IAAI,CAAC,kBAAkB;gBACnC,cAAc,EAAE,IAAI,CAAC,sBAAsB;gBAC3C,gBAAgB,EAAE,gBAAgB,CAAC,IAAI;aAC1C;YACD,CAAC,cAAW,CAAC,WAAW,CAAC,EAAE;gBACvB,UAAU,EAAE,IAAI,CAAC,oBAAoB;gBACrC,cAAc,EAAE,IAAI,CAAC,wBAAwB;gBAC7C,gBAAgB,EAAE,gBAAgB,CAAC,IAAI;aAC1C;SACJ,CAAC;QAEF,oCAAoC;QACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,kCAAoB,EAAE,CAAC;QACvD,IAAI,CAAC,6BAA6B,GAAG,IAAI,2CAA6B,EAAE,CAAC;QACzE,IAAI,CAAC,sBAAsB,GAAG,IAAI,oCAAsB,EAAE,CAAC;QAC3D,IAAI,CAAC,0BAA0B,GAAG,IAAI,wCAA0B,EAAE,CAAC;QAEnE,qBAAqB;QACrB,IAAI,CAAC,yBAAyB,GAAG,IAAI,iCAAyB,EAAE,CAAC;QACjE,IAAI,CAAC,gBAAgB,GAAG,mCAAgB,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAkB,CAAC,sBAAS,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,WAAW,GAAG,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACxF,CAAC;;AAzKL,0CAmsBC;AAlsBkB,sCAAsB,GAAG,mBAAmB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { RedisModel } from "@golemio/core/dist/integration-engine/models/RedisModel";
2
- export declare class TripStopsRedisRepository extends RedisModel {
2
+ export declare class BlockStopsRedisRepository extends RedisModel {
3
+ static NAMESPACE_PREFIX: string;
3
4
  constructor();
4
5
  }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlockStopsRedisRepository = void 0;
4
+ const TripStopsCacheDtoSchema_1 = require("../../../../schema-definitions/vehicle-positions/redis/schemas/TripStopsCacheDtoSchema");
5
+ const RedisModel_1 = require("@golemio/core/dist/integration-engine/models/RedisModel");
6
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
7
+ class BlockStopsRedisRepository extends RedisModel_1.RedisModel {
8
+ constructor() {
9
+ super("GTFSBlockStopsRedisRepository", {
10
+ decodeDataAfterGet: JSON.parse,
11
+ encodeDataBeforeSave: JSON.stringify,
12
+ isKeyConstructedFromData: false,
13
+ prefix: BlockStopsRedisRepository.NAMESPACE_PREFIX,
14
+ }, new golemio_validator_1.JSONSchemaValidator("GTFSBlockStopsRedisRepositoryValidator", TripStopsCacheDtoSchema_1.TripStopsCacheDtoSchema));
15
+ }
16
+ }
17
+ exports.BlockStopsRedisRepository = BlockStopsRedisRepository;
18
+ BlockStopsRedisRepository.NAMESPACE_PREFIX = "gtfsBlockSchedule";
19
+ //# sourceMappingURL=BlockStopsRedisRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockStopsRedisRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/BlockStopsRedisRepository.ts"],"names":[],"mappings":";;;AAAA,oIAAuG;AACvG,wFAAqF;AACrF,mFAAkF;AAElF,MAAa,yBAA0B,SAAQ,uBAAU;IAGrD;QACI,KAAK,CACD,+BAA+B,EAC/B;YACI,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,oBAAoB,EAAE,IAAI,CAAC,SAAS;YACpC,wBAAwB,EAAE,KAAK;YAC/B,MAAM,EAAE,yBAAyB,CAAC,gBAAgB;SACrD,EACD,IAAI,uCAAmB,CAAC,wCAAwC,EAAE,iDAAuB,CAAC,CAC7F,CAAC;IACN,CAAC;;AAdL,8DAeC;AAdiB,0CAAgB,GAAG,mBAAmB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { RedisModel } from "@golemio/core/dist/integration-engine/models/RedisModel";
2
2
  export declare class DelayComputationRedisRepository extends RedisModel {
3
+ static NAMESPACE_PREFIX: string;
3
4
  constructor();
4
5
  }
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DelayComputationRedisRepository = void 0;
4
- const ropid_gtfs_1 = require("../../../schema-definitions/ropid-gtfs");
5
- const DelayComputationDtoSchema_1 = require("../../../schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema");
4
+ const DelayComputationDtoSchema_1 = require("../../../../schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema");
6
5
  const RedisModel_1 = require("@golemio/core/dist/integration-engine/models/RedisModel");
7
6
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
8
7
  class DelayComputationRedisRepository extends RedisModel_1.RedisModel {
9
8
  constructor() {
10
- super(ropid_gtfs_1.RopidGTFS.delayComputationTrips.name + "Repository", {
9
+ super("GTFSDelayComputationRedisRepository", {
11
10
  decodeDataAfterGet: JSON.parse,
12
11
  encodeDataBeforeSave: JSON.stringify,
13
12
  isKeyConstructedFromData: true,
14
- prefix: ropid_gtfs_1.RopidGTFS.delayComputationTrips.redisFolderName,
15
- }, new golemio_validator_1.JSONSchemaValidator(ropid_gtfs_1.RopidGTFS.delayComputationTrips.name + "ModelValidator", DelayComputationDtoSchema_1.DelayComputationDtoSchema));
13
+ prefix: DelayComputationRedisRepository.NAMESPACE_PREFIX,
14
+ }, new golemio_validator_1.JSONSchemaValidator("GTFSDelayComputationRedisRepositoryValidator", DelayComputationDtoSchema_1.DelayComputationDtoSchema));
16
15
  }
17
16
  }
18
17
  exports.DelayComputationRedisRepository = DelayComputationRedisRepository;
18
+ DelayComputationRedisRepository.NAMESPACE_PREFIX = "gtfsTripDelayComputation";
19
19
  //# sourceMappingURL=DelayComputationRedisRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DelayComputationRedisRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.ts"],"names":[],"mappings":";;;AAAA,iIAAoG;AACpG,wFAAqF;AACrF,mFAAkF;AAElF,MAAa,+BAAgC,SAAQ,uBAAU;IAG3D;QACI,KAAK,CACD,qCAAqC,EACrC;YACI,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,oBAAoB,EAAE,IAAI,CAAC,SAAS;YACpC,wBAAwB,EAAE,IAAI;YAC9B,MAAM,EAAE,+BAA+B,CAAC,gBAAgB;SAC3D,EACD,IAAI,uCAAmB,CAAC,8CAA8C,EAAE,qDAAyB,CAAC,CACrG,CAAC;IACN,CAAC;;AAdL,0EAeC;AAdiB,gDAAgB,GAAG,0BAA0B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { RedisModel } from "@golemio/core/dist/integration-engine/models/RedisModel";
2
2
  export declare class RunTripsRedisRepository extends RedisModel {
3
+ static NAMESPACE_PREFIX: string;
3
4
  constructor();
4
5
  }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RunTripsRedisRepository = void 0;
4
+ const GtfsRunTripCacheDtoSchema_1 = require("../../../../schema-definitions/vehicle-positions/redis/schemas/GtfsRunTripCacheDtoSchema");
5
+ const RedisModel_1 = require("@golemio/core/dist/integration-engine/models/RedisModel");
6
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
7
+ class RunTripsRedisRepository extends RedisModel_1.RedisModel {
8
+ constructor() {
9
+ super("GTFSRunTripsRedisRepository", {
10
+ decodeDataAfterGet: JSON.parse,
11
+ encodeDataBeforeSave: JSON.stringify,
12
+ isKeyConstructedFromData: false,
13
+ prefix: RunTripsRedisRepository.NAMESPACE_PREFIX,
14
+ }, new golemio_validator_1.JSONSchemaValidator("GTFSRunTripsRedisRepositoryValidator", GtfsRunTripCacheDtoSchema_1.GtfsRunTripCacheDtoSchema));
15
+ }
16
+ }
17
+ exports.RunTripsRedisRepository = RunTripsRedisRepository;
18
+ RunTripsRedisRepository.NAMESPACE_PREFIX = "gtfsRunSchedule";
19
+ //# sourceMappingURL=RunTripsRedisRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunTripsRedisRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/RunTripsRedisRepository.ts"],"names":[],"mappings":";;;AAAA,wIAA2G;AAC3G,wFAAqF;AACrF,mFAAkF;AAElF,MAAa,uBAAwB,SAAQ,uBAAU;IAGnD;QACI,KAAK,CACD,6BAA6B,EAC7B;YACI,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,oBAAoB,EAAE,IAAI,CAAC,SAAS;YACpC,wBAAwB,EAAE,KAAK;YAC/B,MAAM,EAAE,uBAAuB,CAAC,gBAAgB;SACnD,EACD,IAAI,uCAAmB,CAAC,sCAAsC,EAAE,qDAAyB,CAAC,CAC7F,CAAC;IACN,CAAC;;AAdL,0DAeC;AAdiB,wCAAgB,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { RedisModel } from "@golemio/core/dist/integration-engine/models/RedisModel";
2
+ export declare class StaticFileRedisRepository extends RedisModel {
3
+ static NAMESPACE_PREFIX: string;
4
+ constructor();
5
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StaticFileRedisRepository = void 0;
4
+ const RedisModel_1 = require("@golemio/core/dist/integration-engine/models/RedisModel");
5
+ class StaticFileRedisRepository extends RedisModel_1.RedisModel {
6
+ constructor() {
7
+ super("GTFSStaticFileRedisRepository", {
8
+ isKeyConstructedFromData: false,
9
+ prefix: StaticFileRedisRepository.NAMESPACE_PREFIX,
10
+ });
11
+ }
12
+ }
13
+ exports.StaticFileRedisRepository = StaticFileRedisRepository;
14
+ StaticFileRedisRepository.NAMESPACE_PREFIX = "files:gtfsStatic";
15
+ //# sourceMappingURL=StaticFileRedisRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticFileRedisRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/StaticFileRedisRepository.ts"],"names":[],"mappings":";;;AAAA,wFAAqF;AAErF,MAAa,yBAA0B,SAAQ,uBAAU;IAGrD;QACI,KAAK,CAAC,+BAA+B,EAAE;YACnC,wBAAwB,EAAE,KAAK;YAC/B,MAAM,EAAE,yBAAyB,CAAC,gBAAgB;SACrD,CAAC,CAAC;IACP,CAAC;;AARL,8DASC;AARiB,0CAAgB,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./StaticFileRedisRepository";
2
+ export * from "./RunTripsRedisRepository";
3
+ export * from "./BlockStopsRedisRepository";
4
+ export * from "./DelayComputationRedisRepository";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./StaticFileRedisRepository"), exports);
18
+ __exportStar(require("./RunTripsRedisRepository"), exports);
19
+ __exportStar(require("./BlockStopsRedisRepository"), exports);
20
+ __exportStar(require("./DelayComputationRedisRepository"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,4DAA0C;AAC1C,8DAA4C;AAC5C,oEAAkD"}
@@ -1,8 +1,9 @@
1
1
  import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
2
2
  import { Transaction } from "@golemio/core/dist/shared/sequelize";
3
+ import { SourceTableSuffixEnum } from "../../helpers/SourceTableSuffixEnum";
3
4
  export declare class DeparturesRepository extends PostgresModel implements IModel {
4
5
  constructor();
5
- createAndPopulateFromTmp: () => Promise<void>;
6
+ createAndPopulate: (sourceTableSuffix: SourceTableSuffixEnum) => Promise<void>;
6
7
  replaceByTmp: (transaction: Transaction) => Promise<void>;
7
8
  analyze: () => Promise<void>;
8
9
  createIndexes: () => Promise<void>;
@@ -0,0 +1,132 @@
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.DeparturesRepository = void 0;
13
+ const utils_1 = require("../../utils");
14
+ const ropid_gtfs_1 = require("../../../../schema-definitions/ropid-gtfs");
15
+ const precomputed_1 = require("../../../../schema-definitions/ropid-gtfs/models/precomputed");
16
+ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
17
+ const config_1 = require("@golemio/core/dist/integration-engine/config");
18
+ const models_1 = require("@golemio/core/dist/integration-engine/models");
19
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
20
+ const SourceTableSuffixEnum_1 = require("../../helpers/SourceTableSuffixEnum");
21
+ class DeparturesRepository extends models_1.PostgresModel {
22
+ constructor() {
23
+ super("DeparturesRepository", {
24
+ pgTableName: precomputed_1.DeparturesModel.TABLE_NAME,
25
+ pgSchema: ropid_gtfs_1.RopidGTFS.pgSchema,
26
+ outputSequelizeAttributes: precomputed_1.DeparturesModel.attributeModel,
27
+ attributesToRemove: ["id", "created_at", "updated_at"],
28
+ savingType: "insertOnly",
29
+ }, new golemio_validator_1.JSONSchemaValidator("DeparturesRepository", precomputed_1.DeparturesModel.jsonSchema));
30
+ this.createAndPopulate = (sourceTableSuffix) => __awaiter(this, void 0, void 0, function* () {
31
+ const timeConstraintLiteral = config_1.config.NODE_ENV !== "test" ? `WHERE gtfs_timestamp(t.arrival_time, t4.date) > now() - interval '6 hours'` : "";
32
+ /* eslint-disable max-len */
33
+ const sql = `
34
+ SELECT
35
+ t.stop_sequence,
36
+ t.stop_headsign,
37
+ t.pickup_type,
38
+ t.drop_off_type,
39
+ t.arrival_time,
40
+ gtfs_timestamp(t.arrival_time, t4.date) AS arrival_datetime,
41
+ t.departure_time,
42
+ gtfs_timestamp(t.departure_time, t4.date) AS departure_datetime,
43
+ t0.stop_id,
44
+ t0.stop_name,
45
+ t0.platform_code,
46
+ t0.wheelchair_boarding,
47
+ t1.min_stop_sequence,
48
+ t1.max_stop_sequence,
49
+ t2.trip_id,
50
+ t2.trip_headsign,
51
+ t2.trip_short_name,
52
+ t2.wheelchair_accessible,
53
+ t3.service_id,
54
+ t4.date,
55
+ t5.route_short_name,
56
+ t5.route_type,
57
+ t5.route_id,
58
+ t5.is_night,
59
+ t5.is_regional,
60
+ t5.is_substitute_transport,
61
+ t6.stop_sequence AS next_stop_sequence,
62
+ t6.stop_id AS next_stop_id,
63
+ t7.stop_sequence AS last_stop_sequence,
64
+ t7.stop_id AS last_stop_id
65
+ FROM ropidgtfs_stop_times${sourceTableSuffix} t
66
+ LEFT JOIN ropidgtfs_stops${sourceTableSuffix} t0 ON t.stop_id = t0.stop_id
67
+ LEFT JOIN ropidgtfs_trips${sourceTableSuffix} t2 ON t.trip_id = t2.trip_id
68
+ INNER JOIN ropidgtfs_precomputed_services_calendar_tmp t4 ON t2.service_id = t4.service_id
69
+ INNER JOIN ropidgtfs_precomputed_minmax_stop_sequences_tmp t1 ON t.trip_id = t1.trip_id
70
+ LEFT JOIN ropidgtfs_calendar${sourceTableSuffix} t3 ON t2.service_id = t3.service_id
71
+ LEFT JOIN ropidgtfs_routes${sourceTableSuffix} t5 ON t2.route_id = t5.route_id
72
+ LEFT JOIN ropidgtfs_stop_times${sourceTableSuffix} t6 ON t.trip_id = t6.trip_id AND t6.stop_sequence = t.stop_sequence + 1
73
+ LEFT JOIN ropidgtfs_stop_times${sourceTableSuffix} t7 ON t.trip_id = t7.trip_id AND t7.stop_sequence = t.stop_sequence - 1
74
+ ${timeConstraintLiteral}`;
75
+ /* eslint-enable max-len */
76
+ try {
77
+ const tableName = precomputed_1.DeparturesModel.TABLE_NAME;
78
+ const tmpTableName = tableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp;
79
+ yield this.sequelizeModel.sequelize.query(`
80
+ SET LOCAL search_path TO ${ropid_gtfs_1.RopidGTFS.pgSchema};
81
+ DROP TABLE IF EXISTS ${tmpTableName};
82
+ CREATE TABLE ${tmpTableName} (LIKE ${tableName});
83
+ INSERT INTO ${tmpTableName} ${sql};`);
84
+ }
85
+ catch (err) {
86
+ helpers_1.log.error(err);
87
+ throw err;
88
+ }
89
+ });
90
+ this.replaceByTmp = (transaction) => __awaiter(this, void 0, void 0, function* () {
91
+ try {
92
+ const tableName = precomputed_1.DeparturesModel.TABLE_NAME;
93
+ const tmpTableName = tableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp;
94
+ const dropTableName = tableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Drop;
95
+ const indexQuery = (0, utils_1.buildAlterIndexQuery)(precomputed_1.DeparturesModel.indexesOptions);
96
+ yield this.sequelizeModel.sequelize.query(`
97
+ SET LOCAL search_path TO ${ropid_gtfs_1.RopidGTFS.pgSchema};
98
+ LOCK ${tableName} IN EXCLUSIVE MODE;
99
+ ALTER TABLE ${tableName} RENAME TO ${dropTableName};
100
+ ALTER TABLE ${tmpTableName} RENAME TO ${tableName};
101
+ DROP TABLE ${dropTableName} CASCADE;
102
+ ${indexQuery}`, { transaction });
103
+ }
104
+ catch (err) {
105
+ helpers_1.log.error(err);
106
+ throw err;
107
+ }
108
+ });
109
+ this.analyze = () => __awaiter(this, void 0, void 0, function* () {
110
+ try {
111
+ yield this.sequelizeModel.sequelize.query(`analyze ${ropid_gtfs_1.RopidGTFS.pgSchema}.${precomputed_1.DeparturesModel.TABLE_NAME}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp};`);
112
+ }
113
+ catch (err) {
114
+ helpers_1.log.error(err);
115
+ throw err;
116
+ }
117
+ });
118
+ this.createIndexes = () => __awaiter(this, void 0, void 0, function* () {
119
+ try {
120
+ const indexes = precomputed_1.DeparturesModel.indexesOptions;
121
+ const indexQuery = (0, utils_1.buildCreateIndexQuery)(precomputed_1.DeparturesModel.TABLE_NAME, indexes);
122
+ yield this.sequelizeModel.sequelize.query(indexQuery);
123
+ }
124
+ catch (err) {
125
+ helpers_1.log.error(err);
126
+ throw err;
127
+ }
128
+ });
129
+ }
130
+ }
131
+ exports.DeparturesRepository = DeparturesRepository;
132
+ //# sourceMappingURL=DeparturesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeparturesRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
2
+ import { Transaction } from "@golemio/core/dist/shared/sequelize";
3
+ import { SourceTableSuffixEnum } from "../../helpers/SourceTableSuffixEnum";
4
+ export declare class MinMaxStopSequencesRepository extends PostgresModel implements IModel {
5
+ constructor();
6
+ createAndPopulate: (sourceTableSuffix: SourceTableSuffixEnum) => Promise<void>;
7
+ replaceByTmp: (transaction: Transaction) => Promise<void>;
8
+ createIndexes: () => Promise<void>;
9
+ }