@golemio/rush-hour-aggregation 1.5.2-dev.2941117834 → 1.5.2-dev.2941756587

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 (99) hide show
  1. package/README.md +2 -2
  2. package/db/migrations/postgresql/20261004194210-snapshots-latest-index-usage.js +53 -0
  3. package/db/migrations/postgresql/sqls/20261004194210-snapshots-latest-index-usage-down.sql +203 -0
  4. package/db/migrations/postgresql/sqls/20261004194210-snapshots-latest-index-usage-up.sql +203 -0
  5. package/dist/integration-engine/WorkerHelper.d.ts +0 -3
  6. package/dist/integration-engine/WorkerHelper.js +0 -27
  7. package/dist/integration-engine/WorkerHelper.js.map +1 -1
  8. package/dist/integration-engine/constants.d.ts +1 -0
  9. package/dist/integration-engine/constants.js +5 -0
  10. package/dist/integration-engine/constants.js.map +1 -0
  11. package/dist/integration-engine/dataAccess/AbstractEventsRepository.d.ts +7 -0
  12. package/dist/integration-engine/dataAccess/AbstractEventsRepository.js +11 -8
  13. package/dist/integration-engine/dataAccess/AbstractEventsRepository.js.map +1 -1
  14. package/dist/integration-engine/dataAccess/AggregationRepository.d.ts +5 -4
  15. package/dist/integration-engine/dataAccess/AggregationRepository.js +25 -12
  16. package/dist/integration-engine/dataAccess/AggregationRepository.js.map +1 -1
  17. package/dist/integration-engine/dataAccess/DataRetentionRepository.d.ts +2 -1
  18. package/dist/integration-engine/dataAccess/DataRetentionRepository.js +22 -2
  19. package/dist/integration-engine/dataAccess/DataRetentionRepository.js.map +1 -1
  20. package/dist/integration-engine/dataAccess/FcdEventsRepository.d.ts +3 -1
  21. package/dist/integration-engine/dataAccess/FcdEventsRepository.js +2 -2
  22. package/dist/integration-engine/dataAccess/FcdEventsRepository.js.map +1 -1
  23. package/dist/integration-engine/dataAccess/NdicEventRepository.d.ts +3 -1
  24. package/dist/integration-engine/dataAccess/NdicEventRepository.js +2 -2
  25. package/dist/integration-engine/dataAccess/NdicEventRepository.js.map +1 -1
  26. package/dist/integration-engine/dataAccess/TskEventsRepository.d.ts +3 -1
  27. package/dist/integration-engine/dataAccess/TskEventsRepository.js +2 -2
  28. package/dist/integration-engine/dataAccess/TskEventsRepository.js.map +1 -1
  29. package/dist/integration-engine/dataAccess/WazeJamsRepository.d.ts +3 -1
  30. package/dist/integration-engine/dataAccess/WazeJamsRepository.js +2 -2
  31. package/dist/integration-engine/dataAccess/WazeJamsRepository.js.map +1 -1
  32. package/dist/integration-engine/dataAccess/WazeReconstructionsRepository.d.ts +3 -1
  33. package/dist/integration-engine/dataAccess/WazeReconstructionsRepository.js +2 -2
  34. package/dist/integration-engine/dataAccess/WazeReconstructionsRepository.js.map +1 -1
  35. package/dist/integration-engine/dataAccess/interfaces/IAggregationRepository.d.ts +5 -0
  36. package/dist/integration-engine/dataAccess/interfaces/IAggregationRepository.js +3 -0
  37. package/dist/integration-engine/dataAccess/interfaces/IAggregationRepository.js.map +1 -0
  38. package/dist/integration-engine/dataAccess/interfaces/IDataRetentionRepository.d.ts +3 -0
  39. package/dist/integration-engine/dataAccess/interfaces/IDataRetentionRepository.js +3 -0
  40. package/dist/integration-engine/dataAccess/interfaces/IDataRetentionRepository.js.map +1 -0
  41. package/dist/integration-engine/index.d.ts +2 -2
  42. package/dist/integration-engine/index.js +3 -17
  43. package/dist/integration-engine/index.js.map +1 -1
  44. package/dist/integration-engine/ioc/Di.d.ts +3 -0
  45. package/dist/integration-engine/ioc/Di.js +20 -0
  46. package/dist/integration-engine/ioc/Di.js.map +1 -0
  47. package/dist/integration-engine/ioc/RushHourAggregationContainerToken.d.ts +8 -0
  48. package/dist/integration-engine/ioc/RushHourAggregationContainerToken.js +12 -0
  49. package/dist/integration-engine/ioc/RushHourAggregationContainerToken.js.map +1 -0
  50. package/dist/integration-engine/service/AggregationFactory.d.ts +6 -2
  51. package/dist/integration-engine/service/AggregationFactory.js +32 -8
  52. package/dist/integration-engine/service/AggregationFactory.js.map +1 -1
  53. package/dist/integration-engine/service/aggregators/AbstractAggregator.d.ts +5 -0
  54. package/dist/integration-engine/service/aggregators/AbstractAggregator.js +6 -3
  55. package/dist/integration-engine/service/aggregators/AbstractAggregator.js.map +1 -1
  56. package/dist/integration-engine/service/aggregators/FcdEventsAggregator.d.ts +4 -1
  57. package/dist/integration-engine/service/aggregators/FcdEventsAggregator.js +4 -5
  58. package/dist/integration-engine/service/aggregators/FcdEventsAggregator.js.map +1 -1
  59. package/dist/integration-engine/service/aggregators/NdicEventsAggregator.d.ts +4 -1
  60. package/dist/integration-engine/service/aggregators/NdicEventsAggregator.js +4 -5
  61. package/dist/integration-engine/service/aggregators/NdicEventsAggregator.js.map +1 -1
  62. package/dist/integration-engine/service/aggregators/TskEventsAggregator.d.ts +4 -1
  63. package/dist/integration-engine/service/aggregators/TskEventsAggregator.js +4 -5
  64. package/dist/integration-engine/service/aggregators/TskEventsAggregator.js.map +1 -1
  65. package/dist/integration-engine/service/aggregators/WazeJamsAggregator.d.ts +4 -1
  66. package/dist/integration-engine/service/aggregators/WazeJamsAggregator.js +4 -5
  67. package/dist/integration-engine/service/aggregators/WazeJamsAggregator.js.map +1 -1
  68. package/dist/integration-engine/service/aggregators/WazeReconstructionsAggregator.d.ts +4 -1
  69. package/dist/integration-engine/service/aggregators/WazeReconstructionsAggregator.js +7 -5
  70. package/dist/integration-engine/service/aggregators/WazeReconstructionsAggregator.js.map +1 -1
  71. package/dist/integration-engine/service/interfaces/IAggregationFactory.d.ts +5 -0
  72. package/dist/integration-engine/service/interfaces/IAggregationFactory.js +3 -0
  73. package/dist/integration-engine/service/interfaces/IAggregationFactory.js.map +1 -0
  74. package/dist/integration-engine/workers/RushHourAggregationWorker.d.ts +7 -0
  75. package/dist/integration-engine/workers/RushHourAggregationWorker.js +21 -0
  76. package/dist/integration-engine/workers/RushHourAggregationWorker.js.map +1 -0
  77. package/dist/integration-engine/workers/interfaces/IAggregateDataTaskInput.d.ts +8 -0
  78. package/dist/integration-engine/workers/interfaces/IAggregateDataTaskInput.js +3 -0
  79. package/dist/integration-engine/workers/interfaces/IAggregateDataTaskInput.js.map +1 -0
  80. package/dist/integration-engine/workers/schema/AggregateDataTaskInputSchema.d.ts +9 -0
  81. package/dist/integration-engine/workers/schema/AggregateDataTaskInputSchema.js +49 -0
  82. package/dist/integration-engine/workers/schema/AggregateDataTaskInputSchema.js.map +1 -0
  83. package/dist/integration-engine/workers/task/AggregateDataTask.d.ts +24 -0
  84. package/dist/integration-engine/workers/task/AggregateDataTask.js +118 -0
  85. package/dist/integration-engine/workers/task/AggregateDataTask.js.map +1 -0
  86. package/dist/integration-engine/workers/task/RefreshHistoricViewsTask.d.ts +11 -0
  87. package/dist/integration-engine/workers/task/RefreshHistoricViewsTask.js +58 -0
  88. package/dist/integration-engine/workers/task/RefreshHistoricViewsTask.js.map +1 -0
  89. package/docs/asyncapi.yaml +1 -1
  90. package/docs/implementation_documentation.md +17 -11
  91. package/package.json +1 -1
  92. package/templates/sqlQueries/NdicEventsFull.sql +3 -0
  93. package/dist/integration-engine/AggregationWorker.d.ts +0 -18
  94. package/dist/integration-engine/AggregationWorker.js +0 -88
  95. package/dist/integration-engine/AggregationWorker.js.map +0 -1
  96. package/dist/integration-engine/queueDefinitions.d.ts +0 -3
  97. package/dist/integration-engine/queueDefinitions.js +0 -36
  98. package/dist/integration-engine/queueDefinitions.js.map +0 -1
  99. package/docs/keeping_a_changelog.md +0 -48
@@ -1,13 +1,14 @@
1
1
  import { AggregationTaskType } from "../../schema-definitions/helpers/AggregationTaskType";
2
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
2
3
  import { BindOrReplacements } from "@golemio/core/dist/shared/sequelize";
3
- export default class AggregationRepository {
4
- private static instance;
4
+ import { IAggregationRepository } from "./interfaces/IAggregationRepository";
5
+ export default class AggregationRepository implements IAggregationRepository {
6
+ private databaseConnector;
5
7
  private sqlQueriesFileNames;
6
8
  private sqlQueries;
7
9
  private relativeModuleRootPath;
8
10
  private sqlQueriesFolder;
9
- static getInstance(): AggregationRepository;
10
- private constructor();
11
+ constructor(databaseConnector: IDatabaseConnector);
11
12
  aggregationQuery: <T extends object>(type: AggregationTaskType, bindings?: BindOrReplacements, replacements?: BindOrReplacements) => Promise<T[]>;
12
13
  protected loadSqlQuery: (type: AggregationTaskType) => string;
13
14
  }
@@ -1,26 +1,34 @@
1
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
2
14
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
15
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
16
  };
5
17
  Object.defineProperty(exports, "__esModule", { value: true });
6
18
  const AggregationTaskType_1 = require("../../schema-definitions/helpers/AggregationTaskType");
7
- const integration_engine_1 = require("@golemio/core/dist/integration-engine");
8
- const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
19
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
9
20
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
21
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
22
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
10
23
  const fs_1 = __importDefault(require("fs"));
11
24
  const path_1 = __importDefault(require("path"));
12
- class AggregationRepository {
13
- static getInstance() {
14
- if (!AggregationRepository.instance) {
15
- AggregationRepository.instance = new AggregationRepository();
16
- }
17
- return AggregationRepository.instance;
18
- }
19
- constructor() {
25
+ let AggregationRepository = class AggregationRepository {
26
+ constructor(databaseConnector) {
27
+ this.databaseConnector = databaseConnector;
20
28
  this.relativeModuleRootPath = "../../../"; // <= src/#ie/dataAccess
21
29
  this.sqlQueriesFolder = "templates/sqlQueries/";
22
30
  this.aggregationQuery = async (type, bindings, replacements) => {
23
- return await integration_engine_1.PostgresConnector.getConnection().query(this.loadSqlQuery(type), {
31
+ return await this.databaseConnector.getConnection().query(this.loadSqlQuery(type), {
24
32
  type: sequelize_1.QueryTypes.SELECT,
25
33
  raw: true,
26
34
  bind: bindings,
@@ -46,6 +54,11 @@ class AggregationRepository {
46
54
  ]);
47
55
  this.sqlQueries = new Map();
48
56
  }
49
- }
57
+ };
58
+ AggregationRepository = __decorate([
59
+ (0, tsyringe_1.injectable)(),
60
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
61
+ __metadata("design:paramtypes", [Object])
62
+ ], AggregationRepository);
50
63
  exports.default = AggregationRepository;
51
64
  //# sourceMappingURL=AggregationRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AggregationRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/AggregationRepository.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,8EAA0E;AAC1E,mEAAqF;AACrF,6EAAsE;AACtE,4CAAoB;AACpB,gDAAwB;AAExB,MAAqB,qBAAqB;IAO/B,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;YAClC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACjE,CAAC;QAED,OAAO,qBAAqB,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAED;QAXQ,2BAAsB,GAAW,WAAW,CAAC,CAAC,wBAAwB;QACtE,qBAAgB,GAAW,uBAAuB,CAAC;QAqBpD,qBAAgB,GAAG,KAAK,EAC3B,IAAyB,EACzB,QAA6B,EAC7B,YAAiC,EACrB,EAAE;YACd,OAAO,MAAM,sCAAiB,CAAC,aAAa,EAAE,CAAC,KAAK,CAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;gBAC7E,IAAI,EAAE,sBAAU,CAAC,MAAM;gBACvB,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,YAAY;aAC7B,CAAC,CAAC;QACP,CAAC,CAAC;QAEQ,iBAAY,GAAG,CAAC,IAAyB,EAAU,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,CAAC,aAAa;oBAAE,MAAM,IAAI,2BAAU,CAAC,qCAAqC,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE7G,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;gBAC/G,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,YAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACtC,CAAC,CAAC;QAjCE,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,CAA8B;YAC5D,CAAC,yCAAmB,CAAC,GAAG,EAAE,eAAe,CAAC;YAC1C,CAAC,yCAAmB,CAAC,IAAI,EAAE,oBAAoB,CAAC;YAChD,CAAC,yCAAmB,CAAC,IAAI,EAAE,eAAe,CAAC;YAC3C,CAAC,yCAAmB,CAAC,KAAK,EAAE,yBAAyB,CAAC;YACtD,CAAC,yCAAmB,CAAC,KAAK,EAAE,oCAAoC,CAAC;SACpE,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC7D,CAAC;CA0BJ;AAlDD,wCAkDC"}
1
+ {"version":3,"file":"AggregationRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/AggregationRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8FAAuE;AAEvE,wEAAqE;AACrE,6EAAsE;AACtE,mEAAqF;AACrF,iEAAwE;AACxE,4CAAoB;AACpB,gDAAwB;AAIT,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAMtC,YAAiD,iBAA6C;QAArC,sBAAiB,GAAjB,iBAAiB,CAAoB;QAHtF,2BAAsB,GAAW,WAAW,CAAC,CAAC,wBAAwB;QACtE,qBAAgB,GAAW,uBAAuB,CAAC;QAapD,qBAAgB,GAAG,KAAK,EAC3B,IAAyB,EACzB,QAA6B,EAC7B,YAAiC,EACrB,EAAE;YACd,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,KAAK,CAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;gBAClF,IAAI,EAAE,sBAAU,CAAC,MAAM;gBACvB,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,YAAY;aAC7B,CAAC,CAAC;QACP,CAAC,CAAC;QAEQ,iBAAY,GAAG,CAAC,IAAyB,EAAU,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,CAAC,aAAa;oBAAE,MAAM,IAAI,2BAAU,CAAC,qCAAqC,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE7G,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;gBAC/G,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,YAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACtC,CAAC,CAAC;QAjCE,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,CAA8B;YAC5D,CAAC,yCAAmB,CAAC,GAAG,EAAE,eAAe,CAAC;YAC1C,CAAC,yCAAmB,CAAC,IAAI,EAAE,oBAAoB,CAAC;YAChD,CAAC,yCAAmB,CAAC,IAAI,EAAE,eAAe,CAAC;YAC3C,CAAC,yCAAmB,CAAC,KAAK,EAAE,yBAAyB,CAAC;YACtD,CAAC,yCAAmB,CAAC,KAAK,EAAE,oCAAoC,CAAC;SACpE,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC7D,CAAC;CA0BJ,CAAA;AAzCoB,qBAAqB;IADzC,IAAA,qBAAU,GAAE;IAOI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;;GAN/B,qBAAqB,CAyCzC;kBAzCoB,qBAAqB"}
@@ -1,7 +1,8 @@
1
1
  import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
2
2
  import { AbstractBasicRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractBasicRepository";
3
3
  import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
4
- export declare class DataRetentionRepository extends AbstractBasicRepository {
4
+ import { IDataRetentionRepository } from "./interfaces/IDataRetentionRepository";
5
+ export declare class DataRetentionRepository extends AbstractBasicRepository implements IDataRetentionRepository {
5
6
  schema: string;
6
7
  tableName: string;
7
8
  constructor(connector: IDatabaseConnector, log: ILogger);
@@ -1,4 +1,16 @@
1
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
2
14
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
15
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
16
  };
@@ -6,7 +18,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
18
  exports.DataRetentionRepository = void 0;
7
19
  const PrahaDopravniInfo_1 = __importDefault(require("../../schema-definitions/sequelize-models/PrahaDopravniInfo"));
8
20
  const AbstractBasicRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractBasicRepository");
9
- class DataRetentionRepository extends AbstractBasicRepository_1.AbstractBasicRepository {
21
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
22
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
23
+ let DataRetentionRepository = class DataRetentionRepository extends AbstractBasicRepository_1.AbstractBasicRepository {
10
24
  constructor(connector, log) {
11
25
  super(connector, log);
12
26
  this.schema = PrahaDopravniInfo_1.default.SCHEMA;
@@ -17,6 +31,12 @@ class DataRetentionRepository extends AbstractBasicRepository_1.AbstractBasicRep
17
31
  plain: true,
18
32
  });
19
33
  }
20
- }
34
+ };
21
35
  exports.DataRetentionRepository = DataRetentionRepository;
36
+ exports.DataRetentionRepository = DataRetentionRepository = __decorate([
37
+ (0, tsyringe_1.injectable)(),
38
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
39
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
40
+ __metadata("design:paramtypes", [Object, Object])
41
+ ], DataRetentionRepository);
22
42
  //# sourceMappingURL=DataRetentionRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataRetentionRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/DataRetentionRepository.ts"],"names":[],"mappings":";;;;;;AAAA,oHAAwE;AAExE,kIAA+H;AAG/H,MAAa,uBAAwB,SAAQ,iDAAuB;IAIhE,YAAY,SAA6B,EAAE,GAAY;QACnD,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAJnB,WAAM,GAAW,2BAAiB,CAAC,MAAM,CAAC;QAC1C,cAAS,GAAW,EAAE,CAAC;IAI9B,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,mBAAmB,EAAE;YAC/E,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;IACP,CAAC;CACJ;AAbD,0DAaC"}
1
+ {"version":3,"file":"DataRetentionRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/DataRetentionRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,oHAAwE;AAExE,kIAA+H;AAC/H,wEAAqE;AAErE,iEAAwE;AAIjE,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,iDAAuB;IAIhE,YAAiD,SAA6B,EAA4B,GAAY;QAClH,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAJnB,WAAM,GAAW,2BAAiB,CAAC,MAAM,CAAC;QAC1C,cAAS,GAAW,EAAE,CAAC;IAI9B,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,mBAAmB,EAAE;YAC/E,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAbY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,qBAAU,GAAE;IAKI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IAAiC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAJhG,uBAAuB,CAanC"}
@@ -1,8 +1,10 @@
1
1
  import FcdEvent from "../../schema-definitions/sequelize-models/FcdEvents";
2
+ import { IoRedisConnector } from "@golemio/core/dist/helpers/data-access/redis/IoRedisConnector";
3
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
2
4
  import EventsRepository from "./AbstractEventsRepository";
3
5
  export default class FcdEventsRepository extends EventsRepository<FcdEvent> {
4
6
  protected materializedViewNameLatest: string;
5
7
  protected materializedViewNameHistoric: string;
6
- constructor();
8
+ constructor(logger: ILogger, redisConnector: IoRedisConnector);
7
9
  saveData: (data: FcdEvent[], updateOnDuplicate: boolean) => Promise<void>;
8
10
  }
@@ -9,13 +9,13 @@ const PrahaDopravniInfo_1 = __importDefault(require("../../schema-definitions/se
9
9
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
10
10
  const AbstractEventsRepository_1 = __importDefault(require("./AbstractEventsRepository"));
11
11
  class FcdEventsRepository extends AbstractEventsRepository_1.default {
12
- constructor() {
12
+ constructor(logger, redisConnector) {
13
13
  super("FcdEventsRepository", {
14
14
  outputSequelizeAttributes: FcdEvents_1.default.attributeModel,
15
15
  pgTableName: PrahaDopravniInfo_1.default.TABLE_NAMES[AggregationTaskType_1.AggregationTaskType.FCD],
16
16
  pgSchema: PrahaDopravniInfo_1.default.SCHEMA,
17
17
  savingType: "insertOnly",
18
- }, new golemio_validator_1.JSONSchemaValidator("FcdEventsRepository", FcdEvents_1.default.arrayJsonSchema, true));
18
+ }, new golemio_validator_1.JSONSchemaValidator("FcdEventsRepository", FcdEvents_1.default.arrayJsonSchema, true), logger, redisConnector);
19
19
  this.materializedViewNameLatest = "fcd_events_snapshots_latest";
20
20
  this.materializedViewNameHistoric = "fcd_events_snapshots_history";
21
21
  this.saveData = async (data, updateOnDuplicate) => {
@@ -1 +1 @@
1
- {"version":3,"file":"FcdEventsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/FcdEventsRepository.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,oGAAuD;AACvD,oHAAwE;AACxE,mFAAkF;AAClF,0FAA0D;AAE1D,MAAqB,mBAAoB,SAAQ,kCAA0B;IAIvE;QACI,KAAK,CACD,qBAAqB,EACrB;YACI,yBAAyB,EAAE,mBAAQ,CAAC,cAAc;YAClD,WAAW,EAAE,2BAAiB,CAAC,WAAW,CAAC,yCAAmB,CAAC,GAAG,CAAC;YACnE,QAAQ,EAAE,2BAAiB,CAAC,MAAM;YAClC,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,qBAAqB,EAAE,mBAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CACjF,CAAC;QAbI,+BAA0B,GAAG,6BAA6B,CAAC;QAC3D,iCAA4B,GAAG,8BAA8B,CAAC;QAejE,aAAQ,GAAG,KAAK,EAAE,IAAgB,EAAE,iBAA0B,EAAE,EAAE;YACrE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAW,IAAI,EAAE;gBACpD,gBAAgB,EAAE,CAAC,iBAAiB;gBACpC,SAAS,EAAE,KAAK;gBAChB,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;aACvG,CAAC,CAAC;QACP,CAAC,CAAC;IARF,CAAC;CASJ;AAxBD,sCAwBC"}
1
+ {"version":3,"file":"FcdEventsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/FcdEventsRepository.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,oGAAuD;AACvD,oHAAwE;AAGxE,mFAAkF;AAClF,0FAA0D;AAE1D,MAAqB,mBAAoB,SAAQ,kCAA0B;IAIvE,YAAY,MAAe,EAAE,cAAgC;QACzD,KAAK,CACD,qBAAqB,EACrB;YACI,yBAAyB,EAAE,mBAAQ,CAAC,cAAc;YAClD,WAAW,EAAE,2BAAiB,CAAC,WAAW,CAAC,yCAAmB,CAAC,GAAG,CAAC;YACnE,QAAQ,EAAE,2BAAiB,CAAC,MAAM;YAClC,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,qBAAqB,EAAE,mBAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,EAC9E,MAAM,EACN,cAAc,CACjB,CAAC;QAfI,+BAA0B,GAAG,6BAA6B,CAAC;QAC3D,iCAA4B,GAAG,8BAA8B,CAAC;QAiBjE,aAAQ,GAAG,KAAK,EAAE,IAAgB,EAAE,iBAA0B,EAAE,EAAE;YACrE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAW,IAAI,EAAE;gBACpD,gBAAgB,EAAE,CAAC,iBAAiB;gBACpC,SAAS,EAAE,KAAK;gBAChB,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;aACvG,CAAC,CAAC;QACP,CAAC,CAAC;IARF,CAAC;CASJ;AA1BD,sCA0BC"}
@@ -1,8 +1,10 @@
1
1
  import NdicEvent from "../../schema-definitions/sequelize-models/NdicEvent";
2
+ import { IoRedisConnector } from "@golemio/core/dist/helpers/data-access/redis/IoRedisConnector";
3
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
2
4
  import EventsRepository from "./AbstractEventsRepository";
3
5
  export default class NdicEventsRepository extends EventsRepository<NdicEvent> {
4
6
  protected materializedViewNameLatest: string;
5
7
  protected materializedViewNameHistoric: string;
6
- constructor();
8
+ constructor(logger: ILogger, redisConnector: IoRedisConnector);
7
9
  saveData: (data: NdicEvent[], updateOnDuplicate: boolean) => Promise<void>;
8
10
  }
@@ -9,13 +9,13 @@ const PrahaDopravniInfo_1 = __importDefault(require("../../schema-definitions/se
9
9
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
10
10
  const AbstractEventsRepository_1 = __importDefault(require("./AbstractEventsRepository"));
11
11
  class NdicEventsRepository extends AbstractEventsRepository_1.default {
12
- constructor() {
12
+ constructor(logger, redisConnector) {
13
13
  super("NdicEventsRepository", {
14
14
  outputSequelizeAttributes: NdicEvent_1.default.attributeModel,
15
15
  pgTableName: PrahaDopravniInfo_1.default.TABLE_NAMES[AggregationTaskType_1.AggregationTaskType.NDIC],
16
16
  pgSchema: PrahaDopravniInfo_1.default.SCHEMA,
17
17
  savingType: "insertOnly",
18
- }, new golemio_validator_1.JSONSchemaValidator("NdicEventsRepository", NdicEvent_1.default.arrayJsonSchema, true));
18
+ }, new golemio_validator_1.JSONSchemaValidator("NdicEventsRepository", NdicEvent_1.default.arrayJsonSchema, true), logger, redisConnector);
19
19
  this.materializedViewNameLatest = "ndic_events_full_snapshots_latest";
20
20
  this.materializedViewNameHistoric = "ndic_events_full_snapshots_history";
21
21
  this.saveData = async (data, updateOnDuplicate) => {
@@ -1 +1 @@
1
- {"version":3,"file":"NdicEventRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/NdicEventRepository.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,oGAAwD;AACxD,oHAAwE;AACxE,mFAAkF;AAClF,0FAA0D;AAE1D,MAAqB,oBAAqB,SAAQ,kCAA2B;IAIzE;QACI,KAAK,CACD,sBAAsB,EACtB;YACI,yBAAyB,EAAE,mBAAS,CAAC,cAAc;YACnD,WAAW,EAAE,2BAAiB,CAAC,WAAW,CAAC,yCAAmB,CAAC,IAAI,CAAC;YACpE,QAAQ,EAAE,2BAAiB,CAAC,MAAM;YAClC,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,sBAAsB,EAAE,mBAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CACnF,CAAC;QAbI,+BAA0B,GAAG,mCAAmC,CAAC;QACjE,iCAA4B,GAAG,oCAAoC,CAAC;QAevE,aAAQ,GAAG,KAAK,EAAE,IAAiB,EAAE,iBAA0B,EAAE,EAAE;YACtE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAY,IAAI,EAAE;gBACrD,gBAAgB,EAAE,CAAC,iBAAiB;gBACpC,SAAS,EAAE,KAAK;gBAChB,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;aACpE,CAAC,CAAC;QACP,CAAC,CAAC;IARF,CAAC;CASJ;AAxBD,uCAwBC"}
1
+ {"version":3,"file":"NdicEventRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/NdicEventRepository.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,oGAAwD;AACxD,oHAAwE;AAGxE,mFAAkF;AAClF,0FAA0D;AAE1D,MAAqB,oBAAqB,SAAQ,kCAA2B;IAIzE,YAAY,MAAe,EAAE,cAAgC;QACzD,KAAK,CACD,sBAAsB,EACtB;YACI,yBAAyB,EAAE,mBAAS,CAAC,cAAc;YACnD,WAAW,EAAE,2BAAiB,CAAC,WAAW,CAAC,yCAAmB,CAAC,IAAI,CAAC;YACpE,QAAQ,EAAE,2BAAiB,CAAC,MAAM;YAClC,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,sBAAsB,EAAE,mBAAS,CAAC,eAAe,EAAE,IAAI,CAAC,EAChF,MAAM,EACN,cAAc,CACjB,CAAC;QAfI,+BAA0B,GAAG,mCAAmC,CAAC;QACjE,iCAA4B,GAAG,oCAAoC,CAAC;QAiBvE,aAAQ,GAAG,KAAK,EAAE,IAAiB,EAAE,iBAA0B,EAAE,EAAE;YACtE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAY,IAAI,EAAE;gBACrD,gBAAgB,EAAE,CAAC,iBAAiB;gBACpC,SAAS,EAAE,KAAK;gBAChB,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;aACpE,CAAC,CAAC;QACP,CAAC,CAAC;IARF,CAAC;CASJ;AA1BD,uCA0BC"}
@@ -1,8 +1,10 @@
1
1
  import TskEvent from "../../schema-definitions/sequelize-models/TskEvent";
2
+ import { IoRedisConnector } from "@golemio/core/dist/helpers/data-access/redis/IoRedisConnector";
3
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
2
4
  import EventsRepository from "./AbstractEventsRepository";
3
5
  export default class TskEventsRepository extends EventsRepository<TskEvent> {
4
6
  protected materializedViewNameLatest: string;
5
7
  protected materializedViewNameHistoric: string;
6
- constructor();
8
+ constructor(logger: ILogger, redisConnector: IoRedisConnector);
7
9
  saveData: (data: TskEvent[], updateOnDuplicate: boolean) => Promise<void>;
8
10
  }
@@ -9,13 +9,13 @@ const TskEvent_1 = __importDefault(require("../../schema-definitions/sequelize-m
9
9
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
10
10
  const AbstractEventsRepository_1 = __importDefault(require("./AbstractEventsRepository"));
11
11
  class TskEventsRepository extends AbstractEventsRepository_1.default {
12
- constructor() {
12
+ constructor(logger, redisConnector) {
13
13
  super("TskEventsRepository", {
14
14
  outputSequelizeAttributes: TskEvent_1.default.attributeModel,
15
15
  pgTableName: PrahaDopravniInfo_1.default.TABLE_NAMES[AggregationTaskType_1.AggregationTaskType.SDDR],
16
16
  pgSchema: PrahaDopravniInfo_1.default.SCHEMA,
17
17
  savingType: "insertOnly",
18
- }, new golemio_validator_1.JSONSchemaValidator("TskEventsRepository", TskEvent_1.default.arrayJsonSchema, true));
18
+ }, new golemio_validator_1.JSONSchemaValidator("TskEventsRepository", TskEvent_1.default.arrayJsonSchema, true), logger, redisConnector);
19
19
  this.materializedViewNameLatest = "tsk_std_last_30min_snapshots_latest";
20
20
  this.materializedViewNameHistoric = "tsk_std_last_30min_snapshots_history";
21
21
  this.saveData = async (data, updateOnDuplicate) => {
@@ -1 +1 @@
1
- {"version":3,"file":"TskEventsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/TskEventsRepository.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,oHAAwE;AACxE,kGAAsD;AACtD,mFAAkF;AAClF,0FAA0D;AAE1D,MAAqB,mBAAoB,SAAQ,kCAA0B;IAIvE;QACI,KAAK,CACD,qBAAqB,EACrB;YACI,yBAAyB,EAAE,kBAAQ,CAAC,cAAc;YAClD,WAAW,EAAE,2BAAiB,CAAC,WAAW,CAAC,yCAAmB,CAAC,IAAI,CAAC;YACpE,QAAQ,EAAE,2BAAiB,CAAC,MAAM;YAClC,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,qBAAqB,EAAE,kBAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CACjF,CAAC;QAbI,+BAA0B,GAAG,qCAAqC,CAAC;QACnE,iCAA4B,GAAG,sCAAsC,CAAC;QAezE,aAAQ,GAAG,KAAK,EAAE,IAAgB,EAAE,iBAA0B,EAAE,EAAE;YACrE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAW,IAAI,EAAE;gBACpD,gBAAgB,EAAE,CAAC,iBAAiB;gBACpC,SAAS,EAAE,KAAK;gBAChB,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3E,CAAC,CAAC;QACP,CAAC,CAAC;IARF,CAAC;CASJ;AAxBD,sCAwBC"}
1
+ {"version":3,"file":"TskEventsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/TskEventsRepository.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,oHAAwE;AACxE,kGAAsD;AAGtD,mFAAkF;AAClF,0FAA0D;AAE1D,MAAqB,mBAAoB,SAAQ,kCAA0B;IAIvE,YAAY,MAAe,EAAE,cAAgC;QACzD,KAAK,CACD,qBAAqB,EACrB;YACI,yBAAyB,EAAE,kBAAQ,CAAC,cAAc;YAClD,WAAW,EAAE,2BAAiB,CAAC,WAAW,CAAC,yCAAmB,CAAC,IAAI,CAAC;YACpE,QAAQ,EAAE,2BAAiB,CAAC,MAAM;YAClC,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,qBAAqB,EAAE,kBAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,EAC9E,MAAM,EACN,cAAc,CACjB,CAAC;QAfI,+BAA0B,GAAG,qCAAqC,CAAC;QACnE,iCAA4B,GAAG,sCAAsC,CAAC;QAiBzE,aAAQ,GAAG,KAAK,EAAE,IAAgB,EAAE,iBAA0B,EAAE,EAAE;YACrE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAW,IAAI,EAAE;gBACpD,gBAAgB,EAAE,CAAC,iBAAiB;gBACpC,SAAS,EAAE,KAAK;gBAChB,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3E,CAAC,CAAC;QACP,CAAC,CAAC;IARF,CAAC;CASJ;AA1BD,sCA0BC"}
@@ -1,8 +1,10 @@
1
1
  import WazeJams from "../../schema-definitions/sequelize-models/WazeJams";
2
+ import { IoRedisConnector } from "@golemio/core/dist/helpers/data-access/redis/IoRedisConnector";
3
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
2
4
  import EventsRepository from "./AbstractEventsRepository";
3
5
  export default class WazeJamsRepository extends EventsRepository<WazeJams> {
4
6
  protected materializedViewNameLatest: string;
5
7
  protected materializedViewNameHistoric: string;
6
- constructor();
8
+ constructor(logger: ILogger, redisConnector: IoRedisConnector);
7
9
  saveData: (data: WazeJams[], updateOnDuplicate: boolean) => Promise<void>;
8
10
  }
@@ -9,13 +9,13 @@ const WazeJams_1 = __importDefault(require("../../schema-definitions/sequelize-m
9
9
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
10
10
  const AbstractEventsRepository_1 = __importDefault(require("./AbstractEventsRepository"));
11
11
  class WazeJamsRepository extends AbstractEventsRepository_1.default {
12
- constructor() {
12
+ constructor(logger, redisConnector) {
13
13
  super("WazeJams", {
14
14
  outputSequelizeAttributes: WazeJams_1.default.attributeModel,
15
15
  pgTableName: PrahaDopravniInfo_1.default.TABLE_NAMES[AggregationTaskType_1.AggregationTaskType.WAZEJ],
16
16
  pgSchema: PrahaDopravniInfo_1.default.SCHEMA,
17
17
  savingType: "insertOnly",
18
- }, new golemio_validator_1.JSONSchemaValidator("WazeJams", WazeJams_1.default.arrayJsonSchema, true));
18
+ }, new golemio_validator_1.JSONSchemaValidator("WazeJams", WazeJams_1.default.arrayJsonSchema, true), logger, redisConnector);
19
19
  this.materializedViewNameLatest = "waze_jams_snapshots_latest";
20
20
  this.materializedViewNameHistoric = "waze_jams_snapshots_history";
21
21
  this.saveData = async (data, updateOnDuplicate) => {
@@ -1 +1 @@
1
- {"version":3,"file":"WazeJamsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/WazeJamsRepository.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,oHAAwE;AACxE,kGAAsD;AACtD,mFAAkF;AAClF,0FAA0D;AAE1D,MAAqB,kBAAmB,SAAQ,kCAA0B;IAItE;QACI,KAAK,CACD,UAAU,EACV;YACI,yBAAyB,EAAE,kBAAQ,CAAC,cAAc;YAClD,WAAW,EAAE,2BAAiB,CAAC,WAAW,CAAC,yCAAmB,CAAC,KAAK,CAAC;YACrE,QAAQ,EAAE,2BAAiB,CAAC,MAAM;YAClC,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,UAAU,EAAE,kBAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CACtE,CAAC;QAbI,+BAA0B,GAAG,4BAA4B,CAAC;QAC1D,iCAA4B,GAAG,6BAA6B,CAAC;QAehE,aAAQ,GAAG,KAAK,EAAE,IAAgB,EAAE,iBAA0B,EAAE,EAAE;YACrE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAW,IAAI,EAAE;gBACpD,gBAAgB,EAAE,CAAC,iBAAiB;gBACpC,SAAS,EAAE,KAAK;gBAChB,iBAAiB,EAAE,iBAAiB;oBAChC,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,CAAC;oBAClF,CAAC,CAAC,SAAS;aAClB,CAAC,CAAC;QACP,CAAC,CAAC;IAVF,CAAC;CAWJ;AA1BD,qCA0BC"}
1
+ {"version":3,"file":"WazeJamsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/WazeJamsRepository.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,oHAAwE;AACxE,kGAAsD;AAGtD,mFAAkF;AAClF,0FAA0D;AAE1D,MAAqB,kBAAmB,SAAQ,kCAA0B;IAItE,YAAY,MAAe,EAAE,cAAgC;QACzD,KAAK,CACD,UAAU,EACV;YACI,yBAAyB,EAAE,kBAAQ,CAAC,cAAc;YAClD,WAAW,EAAE,2BAAiB,CAAC,WAAW,CAAC,yCAAmB,CAAC,KAAK,CAAC;YACrE,QAAQ,EAAE,2BAAiB,CAAC,MAAM;YAClC,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,UAAU,EAAE,kBAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,EACnE,MAAM,EACN,cAAc,CACjB,CAAC;QAfI,+BAA0B,GAAG,4BAA4B,CAAC;QAC1D,iCAA4B,GAAG,6BAA6B,CAAC;QAiBhE,aAAQ,GAAG,KAAK,EAAE,IAAgB,EAAE,iBAA0B,EAAE,EAAE;YACrE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAW,IAAI,EAAE;gBACpD,gBAAgB,EAAE,CAAC,iBAAiB;gBACpC,SAAS,EAAE,KAAK;gBAChB,iBAAiB,EAAE,iBAAiB;oBAChC,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,CAAC;oBAClF,CAAC,CAAC,SAAS;aAClB,CAAC,CAAC;QACP,CAAC,CAAC;IAVF,CAAC;CAWJ;AA5BD,qCA4BC"}
@@ -1,8 +1,10 @@
1
1
  import WazeReconstructions from "../../schema-definitions/sequelize-models/WazeReconstructions";
2
+ import { IoRedisConnector } from "@golemio/core/dist/helpers/data-access/redis/IoRedisConnector";
3
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
2
4
  import EventsRepository from "./AbstractEventsRepository";
3
5
  export default class WazeReconstructionsRepository extends EventsRepository<WazeReconstructions> {
4
6
  protected materializedViewNameLatest: string;
5
7
  protected materializedViewNameHistoric: string;
6
- constructor();
8
+ constructor(logger: ILogger, redisConnector: IoRedisConnector);
7
9
  saveData: (data: WazeReconstructions[], updateOnDuplicate: boolean) => Promise<void>;
8
10
  }
@@ -9,13 +9,13 @@ const WazeReconstructions_1 = __importDefault(require("../../schema-definitions/
9
9
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
10
10
  const AbstractEventsRepository_1 = __importDefault(require("./AbstractEventsRepository"));
11
11
  class WazeReconstructionsRepository extends AbstractEventsRepository_1.default {
12
- constructor() {
12
+ constructor(logger, redisConnector) {
13
13
  super("WazeReconstructions", {
14
14
  outputSequelizeAttributes: WazeReconstructions_1.default.attributeModel,
15
15
  pgTableName: PrahaDopravniInfo_1.default.TABLE_NAMES[AggregationTaskType_1.AggregationTaskType.WAZER],
16
16
  pgSchema: PrahaDopravniInfo_1.default.SCHEMA,
17
17
  savingType: "insertOnly",
18
- }, new golemio_validator_1.JSONSchemaValidator("WazeReconstructions", WazeReconstructions_1.default.arrayJsonSchema, true));
18
+ }, new golemio_validator_1.JSONSchemaValidator("WazeReconstructions", WazeReconstructions_1.default.arrayJsonSchema, true), logger, redisConnector);
19
19
  this.materializedViewNameLatest = "waze_reconstructions_snapshots_latest";
20
20
  this.materializedViewNameHistoric = "waze_reconstructions_snapshots_history";
21
21
  this.saveData = async (data, updateOnDuplicate) => {
@@ -1 +1 @@
1
- {"version":3,"file":"WazeReconstructionsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/WazeReconstructionsRepository.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,oHAAwE;AACxE,wHAA4E;AAC5E,mFAAkF;AAClF,0FAA0D;AAE1D,MAAqB,6BAA8B,SAAQ,kCAAqC;IAI5F;QACI,KAAK,CACD,qBAAqB,EACrB;YACI,yBAAyB,EAAE,6BAAmB,CAAC,cAAc;YAC7D,WAAW,EAAE,2BAAiB,CAAC,WAAW,CAAC,yCAAmB,CAAC,KAAK,CAAC;YACrE,QAAQ,EAAE,2BAAiB,CAAC,MAAM;YAClC,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,qBAAqB,EAAE,6BAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,CAC5F,CAAC;QAbI,+BAA0B,GAAG,uCAAuC,CAAC;QACrE,iCAA4B,GAAG,wCAAwC,CAAC;QAe3E,aAAQ,GAAG,KAAK,EAAE,IAA2B,EAAE,iBAA0B,EAAE,EAAE;YAChF,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAsB,IAAI,EAAE;gBAC/D,gBAAgB,EAAE,CAAC,iBAAiB;gBACpC,SAAS,EAAE,KAAK;gBAChB,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;aACrH,CAAC,CAAC;QACP,CAAC,CAAC;IARF,CAAC;CASJ;AAxBD,gDAwBC"}
1
+ {"version":3,"file":"WazeReconstructionsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/dataAccess/WazeReconstructionsRepository.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,oHAAwE;AACxE,wHAA4E;AAG5E,mFAAkF;AAClF,0FAA0D;AAE1D,MAAqB,6BAA8B,SAAQ,kCAAqC;IAI5F,YAAY,MAAe,EAAE,cAAgC;QACzD,KAAK,CACD,qBAAqB,EACrB;YACI,yBAAyB,EAAE,6BAAmB,CAAC,cAAc;YAC7D,WAAW,EAAE,2BAAiB,CAAC,WAAW,CAAC,yCAAmB,CAAC,KAAK,CAAC;YACrE,QAAQ,EAAE,2BAAiB,CAAC,MAAM;YAClC,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,qBAAqB,EAAE,6BAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,EACzF,MAAM,EACN,cAAc,CACjB,CAAC;QAfI,+BAA0B,GAAG,uCAAuC,CAAC;QACrE,iCAA4B,GAAG,wCAAwC,CAAC;QAiB3E,aAAQ,GAAG,KAAK,EAAE,IAA2B,EAAE,iBAA0B,EAAE,EAAE;YAChF,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAsB,IAAI,EAAE;gBAC/D,gBAAgB,EAAE,CAAC,iBAAiB;gBACpC,SAAS,EAAE,KAAK;gBAChB,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;aACrH,CAAC,CAAC;QACP,CAAC,CAAC;IARF,CAAC;CASJ;AA1BD,gDA0BC"}
@@ -0,0 +1,5 @@
1
+ import { AggregationTaskType } from "../../../schema-definitions/helpers/AggregationTaskType";
2
+ import { BindOrReplacements } from "@golemio/core/dist/shared/sequelize";
3
+ export interface IAggregationRepository {
4
+ aggregationQuery<T extends object>(type: AggregationTaskType, bindings?: BindOrReplacements, replacements?: BindOrReplacements): Promise<T[]>;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IAggregationRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAggregationRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/dataAccess/interfaces/IAggregationRepository.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export interface IDataRetentionRepository {
2
+ deleteOldData(): Promise<void>;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IDataRetentionRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDataRetentionRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/dataAccess/interfaces/IDataRetentionRepository.ts"],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- export * from "./AggregationWorker";
2
- export * from "./queueDefinitions";
1
+ import { AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
2
+ export declare const workers: Array<new () => AbstractWorker>;
@@ -1,20 +1,6 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- /* ie/index.ts */
18
- __exportStar(require("./AggregationWorker"), exports);
19
- __exportStar(require("./queueDefinitions"), exports);
3
+ exports.workers = void 0;
4
+ const RushHourAggregationWorker_1 = require("./workers/RushHourAggregationWorker");
5
+ exports.workers = [RushHourAggregationWorker_1.RushHourAggregationWorker];
20
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,sDAAoC;AACpC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;AACA,mFAAgF;AAEnE,QAAA,OAAO,GAAoC,CAAC,qDAAyB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { DependencyContainer } from "@golemio/core/dist/shared/tsyringe";
2
+ declare const RushHourAggregationContainer: DependencyContainer;
3
+ export { RushHourAggregationContainer };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RushHourAggregationContainer = void 0;
7
+ const AggregationRepository_1 = __importDefault(require("../dataAccess/AggregationRepository"));
8
+ const DataRetentionRepository_1 = require("../dataAccess/DataRetentionRepository");
9
+ const AggregationFactory_1 = __importDefault(require("../service/AggregationFactory"));
10
+ const AggregateDataTask_1 = require("../workers/task/AggregateDataTask");
11
+ const RefreshHistoricViewsTask_1 = require("../workers/task/RefreshHistoricViewsTask");
12
+ const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
13
+ const RushHourAggregationContainerToken_1 = require("./RushHourAggregationContainerToken");
14
+ const RushHourAggregationContainer = Di_1.IntegrationEngineContainer.createChildContainer();
15
+ exports.RushHourAggregationContainer = RushHourAggregationContainer;
16
+ RushHourAggregationContainer.registerSingleton(RushHourAggregationContainerToken_1.RushHourAggregationContainerToken.AggregationRepository, AggregationRepository_1.default);
17
+ RushHourAggregationContainer.registerSingleton(RushHourAggregationContainerToken_1.RushHourAggregationContainerToken.AggregationFactory, AggregationFactory_1.default);
18
+ RushHourAggregationContainer.registerSingleton(RushHourAggregationContainerToken_1.RushHourAggregationContainerToken.DataRetentionRepository, DataRetentionRepository_1.DataRetentionRepository);
19
+ RushHourAggregationContainer.register(RushHourAggregationContainerToken_1.RushHourAggregationContainerToken.AggregateDataTask, AggregateDataTask_1.AggregateDataTask).register(RushHourAggregationContainerToken_1.RushHourAggregationContainerToken.RefreshHistoricViewsTask, RefreshHistoricViewsTask_1.RefreshHistoricViewsTask);
20
+ //# sourceMappingURL=Di.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;;;;AAAA,gGAAyE;AACzE,mFAAiF;AACjF,uFAAgE;AAChE,yEAAuE;AACvE,uFAAqF;AACrF,qEAA0F;AAE1F,2FAAwF;AAExF,MAAM,4BAA4B,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAcnG,oEAA4B;AAZrC,4BAA4B,CAAC,iBAAiB,CAAC,qEAAiC,CAAC,qBAAqB,EAAE,+BAAqB,CAAC,CAAC;AAC/H,4BAA4B,CAAC,iBAAiB,CAAC,qEAAiC,CAAC,kBAAkB,EAAE,4BAAkB,CAAC,CAAC;AACzH,4BAA4B,CAAC,iBAAiB,CAC1C,qEAAiC,CAAC,uBAAuB,EACzD,iDAAuB,CAC1B,CAAC;AAEF,4BAA4B,CAAC,QAAQ,CAAC,qEAAiC,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,CAAC,QAAQ,CAClH,qEAAiC,CAAC,wBAAwB,EAC1D,mDAAwB,CAC3B,CAAC"}
@@ -0,0 +1,8 @@
1
+ declare const RushHourAggregationContainerToken: {
2
+ AggregationRepository: symbol;
3
+ AggregationFactory: symbol;
4
+ DataRetentionRepository: symbol;
5
+ AggregateDataTask: symbol;
6
+ RefreshHistoricViewsTask: symbol;
7
+ };
8
+ export { RushHourAggregationContainerToken };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RushHourAggregationContainerToken = void 0;
4
+ const RushHourAggregationContainerToken = {
5
+ AggregationRepository: Symbol(),
6
+ AggregationFactory: Symbol(),
7
+ DataRetentionRepository: Symbol(),
8
+ AggregateDataTask: Symbol(),
9
+ RefreshHistoricViewsTask: Symbol(),
10
+ };
11
+ exports.RushHourAggregationContainerToken = RushHourAggregationContainerToken;
12
+ //# sourceMappingURL=RushHourAggregationContainerToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RushHourAggregationContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/RushHourAggregationContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,iCAAiC,GAAG;IACtC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,kBAAkB,EAAE,MAAM,EAAE;IAC5B,uBAAuB,EAAE,MAAM,EAAE;IACjC,iBAAiB,EAAE,MAAM,EAAE;IAC3B,wBAAwB,EAAE,MAAM,EAAE;CACrC,CAAC;AAEO,8EAAiC"}
@@ -1,7 +1,11 @@
1
+ import { IAggregationRepository } from "../dataAccess/interfaces/IAggregationRepository";
1
2
  import { AggregationTaskType } from "../../schema-definitions/helpers/AggregationTaskType";
3
+ import { IoRedisConnector } from "@golemio/core/dist/helpers/data-access/redis/IoRedisConnector";
4
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
2
5
  import IAbstractAggregator from "./aggregators/interfaces/IAbstractAggregator";
3
- export default class AggregationFactory {
6
+ import { IAggregationFactory } from "./interfaces/IAggregationFactory";
7
+ export default class AggregationFactory implements IAggregationFactory {
4
8
  private products;
5
- constructor();
9
+ constructor(aggregationRepository: IAggregationRepository, logger: ILogger, redisConnector: IoRedisConnector);
6
10
  get(type: AggregationTaskType): IAbstractAggregator;
7
11
  }
@@ -1,23 +1,40 @@
1
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
2
14
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
15
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
16
  };
5
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const RushHourAggregationContainerToken_1 = require("../ioc/RushHourAggregationContainerToken");
6
19
  const AggregationTaskType_1 = require("../../schema-definitions/helpers/AggregationTaskType");
20
+ const IoRedisConnector_1 = require("@golemio/core/dist/helpers/data-access/redis/IoRedisConnector");
21
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
22
+ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
7
23
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
24
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
8
25
  const FcdEventsAggregator_1 = __importDefault(require("./aggregators/FcdEventsAggregator"));
9
26
  const NdicEventsAggregator_1 = __importDefault(require("./aggregators/NdicEventsAggregator"));
10
27
  const TskEventsAggregator_1 = __importDefault(require("./aggregators/TskEventsAggregator"));
11
28
  const WazeJamsAggregator_1 = __importDefault(require("./aggregators/WazeJamsAggregator"));
12
29
  const WazeReconstructionsAggregator_1 = __importDefault(require("./aggregators/WazeReconstructionsAggregator"));
13
- class AggregationFactory {
14
- constructor() {
30
+ let AggregationFactory = class AggregationFactory {
31
+ constructor(aggregationRepository, logger, redisConnector) {
15
32
  this.products = new Map([
16
- [AggregationTaskType_1.AggregationTaskType.FCD, new FcdEventsAggregator_1.default()],
17
- [AggregationTaskType_1.AggregationTaskType.NDIC, new NdicEventsAggregator_1.default()],
18
- [AggregationTaskType_1.AggregationTaskType.SDDR, new TskEventsAggregator_1.default()],
19
- [AggregationTaskType_1.AggregationTaskType.WAZEJ, new WazeJamsAggregator_1.default()],
20
- [AggregationTaskType_1.AggregationTaskType.WAZER, new WazeReconstructionsAggregator_1.default()],
33
+ [AggregationTaskType_1.AggregationTaskType.FCD, new FcdEventsAggregator_1.default(aggregationRepository, logger, redisConnector)],
34
+ [AggregationTaskType_1.AggregationTaskType.NDIC, new NdicEventsAggregator_1.default(aggregationRepository, logger, redisConnector)],
35
+ [AggregationTaskType_1.AggregationTaskType.SDDR, new TskEventsAggregator_1.default(aggregationRepository, logger, redisConnector)],
36
+ [AggregationTaskType_1.AggregationTaskType.WAZEJ, new WazeJamsAggregator_1.default(aggregationRepository, logger, redisConnector)],
37
+ [AggregationTaskType_1.AggregationTaskType.WAZER, new WazeReconstructionsAggregator_1.default(aggregationRepository, logger, redisConnector)],
21
38
  ]);
22
39
  }
23
40
  get(type) {
@@ -26,6 +43,13 @@ class AggregationFactory {
26
43
  }
27
44
  return this.products.get(type);
28
45
  }
29
- }
46
+ };
47
+ AggregationFactory = __decorate([
48
+ (0, tsyringe_1.injectable)(),
49
+ __param(0, (0, tsyringe_1.inject)(RushHourAggregationContainerToken_1.RushHourAggregationContainerToken.AggregationRepository)),
50
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
51
+ __param(2, (0, tsyringe_1.inject)(ioc_1.ContainerToken.RedisConnector)),
52
+ __metadata("design:paramtypes", [Object, Object, IoRedisConnector_1.IoRedisConnector])
53
+ ], AggregationFactory);
30
54
  exports.default = AggregationFactory;
31
55
  //# sourceMappingURL=AggregationFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AggregationFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/service/AggregationFactory.ts"],"names":[],"mappings":";;;;;AAAA,8FAAuE;AACvE,6EAAwE;AACxE,4FAAoE;AAEpE,8FAAsE;AACtE,4FAAoE;AACpE,0FAAkE;AAClE,gHAAwF;AAExF,MAAqB,kBAAkB;IAGnC;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAA2C;YAC9D,CAAC,yCAAmB,CAAC,GAAG,EAAE,IAAI,6BAAmB,EAAE,CAAC;YACpD,CAAC,yCAAmB,CAAC,IAAI,EAAE,IAAI,8BAAoB,EAAE,CAAC;YACtD,CAAC,yCAAmB,CAAC,IAAI,EAAE,IAAI,6BAAmB,EAAE,CAAC;YACrD,CAAC,yCAAmB,CAAC,KAAK,EAAE,IAAI,4BAAkB,EAAE,CAAC;YACrD,CAAC,yCAAmB,CAAC,KAAK,EAAE,IAAI,uCAA6B,EAAE,CAAC;SACnE,CAAC,CAAC;IACP,CAAC;IAEM,GAAG,CAAC,IAAyB;QAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,6BAAY,CAAC,kCAAkC,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IACpC,CAAC;CACJ;AApBD,qCAoBC"}
1
+ {"version":3,"file":"AggregationFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/service/AggregationFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,gGAA8F;AAC9F,8FAAuE;AACvE,oGAAiG;AACjG,wEAAqE;AAErE,mEAA2E;AAC3E,6EAAwE;AACxE,iEAAwE;AACxE,4FAAoE;AAEpE,8FAAsE;AACtE,4FAAoE;AACpE,0FAAkE;AAClE,gHAAwF;AAIzE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAGnC,YACqE,qBAA6C,EACpF,MAAe,EACF,cAAgC;QAEvE,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAA2C;YAC9D,CAAC,yCAAmB,CAAC,GAAG,EAAE,IAAI,6BAAmB,CAAC,qBAAqB,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YACjG,CAAC,yCAAmB,CAAC,IAAI,EAAE,IAAI,8BAAoB,CAAC,qBAAqB,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YACnG,CAAC,yCAAmB,CAAC,IAAI,EAAE,IAAI,6BAAmB,CAAC,qBAAqB,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YAClG,CAAC,yCAAmB,CAAC,KAAK,EAAE,IAAI,4BAAkB,CAAC,qBAAqB,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YAClG,CAAC,yCAAmB,CAAC,KAAK,EAAE,IAAI,uCAA6B,CAAC,qBAAqB,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;SAChH,CAAC,CAAC;IACP,CAAC;IAEM,GAAG,CAAC,IAAyB;QAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,6BAAY,CAAC,kCAAkC,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IACpC,CAAC;CACJ,CAAA;AAxBoB,kBAAkB;IADtC,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,qEAAiC,CAAC,qBAAqB,CAAC,CAAA;IAC/D,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,cAAc,CAAC,CAAA;qDAAiB,mCAAgB;GAN1D,kBAAkB,CAwBtC;kBAxBoB,kBAAkB"}
@@ -1,9 +1,14 @@
1
1
  import AbstractEventsRepository from "../../dataAccess/AbstractEventsRepository";
2
+ import { IAggregationRepository } from "../../dataAccess/interfaces/IAggregationRepository";
3
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
2
4
  import { DurationLike } from "@golemio/core/dist/shared/luxon";
3
5
  import IAbstractAggregator from "./interfaces/IAbstractAggregator";
4
6
  export default abstract class AbstractAggregator<T> implements IAbstractAggregator {
7
+ protected aggregationRepository: IAggregationRepository;
8
+ protected logger: ILogger;
5
9
  protected maxAggregationDuration: DurationLike;
6
10
  protected abstract repository: AbstractEventsRepository<T>;
11
+ constructor(aggregationRepository: IAggregationRepository, logger: ILogger);
7
12
  aggregateAndSave: (from: Date, to: Date, updateOnDuplicate: boolean, refreshView: boolean) => Promise<void>;
8
13
  getMaxDuration(): DurationLike;
9
14
  refreshHistoricMaterialView: () => Promise<void>;