@golemio/pid 4.0.2 → 4.0.3-dev.1993091012

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 (201) hide show
  1. package/README.md +1 -1
  2. package/db/example/redis/gtfsStopsCacheMock.json +8 -0
  3. package/db/example/redis/jisCacheMock.json +31 -0
  4. package/db/migrations/postgresql/20250716143052-add-stop-name-to-combined-stop-times.js +53 -0
  5. package/db/migrations/postgresql/sqls/20250716143052-add-stop-name-to-combined-stop-times-down.sql +47 -0
  6. package/db/migrations/postgresql/sqls/20250716143052-add-stop-name-to-combined-stop-times-up.sql +47 -0
  7. package/dist/helpers/GtfsStopParser.d.ts +2 -0
  8. package/dist/helpers/GtfsStopParser.js +11 -8
  9. package/dist/helpers/GtfsStopParser.js.map +1 -1
  10. package/dist/helpers/jis/JISInfotextSeverityLevelPriority.d.ts +6 -0
  11. package/dist/helpers/jis/JISInfotextSeverityLevelPriority.js +11 -0
  12. package/dist/helpers/jis/JISInfotextSeverityLevelPriority.js.map +1 -0
  13. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js +0 -1
  14. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js.map +1 -1
  15. package/dist/integration-engine/jis/ioc/Di.js +10 -0
  16. package/dist/integration-engine/jis/ioc/Di.js.map +1 -1
  17. package/dist/integration-engine/jis/ioc/JISContainerToken.d.ts +4 -0
  18. package/dist/integration-engine/jis/ioc/JISContainerToken.js +5 -0
  19. package/dist/integration-engine/jis/ioc/JISContainerToken.js.map +1 -1
  20. package/dist/integration-engine/jis/repositories/JISInfotextsRedisRepository.d.ts +9 -0
  21. package/dist/integration-engine/jis/repositories/JISInfotextsRedisRepository.js +86 -0
  22. package/dist/integration-engine/jis/repositories/JISInfotextsRedisRepository.js.map +1 -0
  23. package/dist/integration-engine/jis/repositories/JISInfotextsRepository.d.ts +6 -1
  24. package/dist/integration-engine/jis/repositories/JISInfotextsRepository.js +50 -2
  25. package/dist/integration-engine/jis/repositories/JISInfotextsRepository.js.map +1 -1
  26. package/dist/integration-engine/jis/repositories/JISMetadataRepository.d.ts +4 -1
  27. package/dist/integration-engine/jis/repositories/JISMetadataRepository.js +37 -12
  28. package/dist/integration-engine/jis/repositories/JISMetadataRepository.js.map +1 -1
  29. package/dist/integration-engine/jis/transformations/JISInfotextCacheTranformation.d.ts +7 -0
  30. package/dist/integration-engine/jis/transformations/JISInfotextCacheTranformation.js +37 -0
  31. package/dist/integration-engine/jis/transformations/JISInfotextCacheTranformation.js.map +1 -0
  32. package/dist/integration-engine/jis/workers/JISWorker.js +1 -0
  33. package/dist/integration-engine/jis/workers/JISWorker.js.map +1 -1
  34. package/dist/integration-engine/jis/workers/tasks/AbstractFetchJISResourceTask.d.ts +14 -0
  35. package/dist/integration-engine/jis/workers/tasks/AbstractFetchJISResourceTask.js +71 -0
  36. package/dist/integration-engine/jis/workers/tasks/AbstractFetchJISResourceTask.js.map +1 -0
  37. package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.d.ts +10 -4
  38. package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.js +15 -22
  39. package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.js.map +1 -1
  40. package/dist/integration-engine/jis/workers/tasks/FetchJISInfotextsTask.d.ts +10 -5
  41. package/dist/integration-engine/jis/workers/tasks/FetchJISInfotextsTask.js +15 -23
  42. package/dist/integration-engine/jis/workers/tasks/FetchJISInfotextsTask.js.map +1 -1
  43. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsCacheTask.d.ts +13 -0
  44. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsCacheTask.js +47 -0
  45. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsCacheTask.js.map +1 -0
  46. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.d.ts +1 -2
  47. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.js +5 -4
  48. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.js.map +1 -1
  49. package/dist/integration-engine/ropid-gtfs/RopidGTFSCisStopsModel.d.ts +18 -0
  50. package/dist/integration-engine/ropid-gtfs/RopidGTFSCisStopsModel.js +44 -0
  51. package/dist/integration-engine/ropid-gtfs/RopidGTFSCisStopsModel.js.map +1 -0
  52. package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.d.ts +5 -1
  53. package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.js +24 -0
  54. package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.js.map +1 -1
  55. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js.map +1 -1
  56. package/dist/integration-engine/ropid-gtfs/index.d.ts +1 -0
  57. package/dist/integration-engine/ropid-gtfs/index.js +1 -0
  58. package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
  59. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +8 -0
  60. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  61. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +3 -0
  62. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +3 -0
  63. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  64. package/dist/integration-engine/ropid-gtfs/transformations/RopidDeparturesPresetsTransformation.js +1 -1
  65. package/dist/integration-engine/ropid-gtfs/transformations/RopidDeparturesPresetsTransformation.js.map +1 -1
  66. package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js +1 -0
  67. package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js.map +1 -1
  68. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js +8 -5
  69. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js.map +1 -1
  70. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.d.ts +12 -0
  71. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.js +44 -0
  72. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.js.map +1 -0
  73. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.d.ts +12 -0
  74. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.js +87 -0
  75. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.js.map +1 -0
  76. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +1 -0
  77. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
  78. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/interfaces/TripRepositoryInterfaces.d.ts +2 -1
  79. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.d.ts +3 -1
  80. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js +100 -85
  81. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js.map +1 -1
  82. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js.map +1 -1
  83. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +1 -0
  84. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -1
  85. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js +2 -0
  86. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js.map +1 -1
  87. package/dist/output-gateway/index.js +1 -0
  88. package/dist/output-gateway/index.js.map +1 -1
  89. package/dist/output-gateway/jis/data-access/cache/JISInfotextsRedisRepository.d.ts +17 -0
  90. package/dist/output-gateway/jis/data-access/cache/JISInfotextsRedisRepository.js +113 -0
  91. package/dist/output-gateway/jis/data-access/cache/JISInfotextsRedisRepository.js.map +1 -0
  92. package/dist/output-gateway/jis/ioc/Di.js +2 -2
  93. package/dist/output-gateway/jis/ioc/Di.js.map +1 -1
  94. package/dist/output-gateway/jis/ioc/OgJisToken.d.ts +2 -0
  95. package/dist/output-gateway/jis/ioc/OgJisToken.js +2 -0
  96. package/dist/output-gateway/jis/ioc/OgJisToken.js.map +1 -1
  97. package/dist/output-gateway/pid/controllers/v3/V3TransferBoardsController.js.map +1 -1
  98. package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.d.ts +17 -0
  99. package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js +154 -0
  100. package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js.map +1 -0
  101. package/dist/output-gateway/pid/controllers/v4/interfaces/ITransferBoardsParams.d.ts +14 -0
  102. package/dist/output-gateway/pid/controllers/v4/interfaces/ITransferBoardsParams.js +3 -0
  103. package/dist/output-gateway/pid/controllers/v4/interfaces/ITransferBoardsParams.js.map +1 -0
  104. package/dist/output-gateway/pid/domain/InfotextInterfaces.d.ts +5 -0
  105. package/dist/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.d.ts +4 -1
  106. package/dist/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.js +7 -1
  107. package/dist/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.js.map +1 -1
  108. package/dist/output-gateway/pid/helpers/TransferBoardFilter.d.ts +5 -0
  109. package/dist/output-gateway/pid/helpers/TransferBoardFilter.js +33 -0
  110. package/dist/output-gateway/pid/helpers/TransferBoardFilter.js.map +1 -0
  111. package/dist/output-gateway/pid/helpers/TransferBoardSorter.d.ts +6 -0
  112. package/dist/output-gateway/pid/helpers/TransferBoardSorter.js +61 -0
  113. package/dist/output-gateway/pid/helpers/TransferBoardSorter.js.map +1 -0
  114. package/dist/output-gateway/pid/index.d.ts +50 -0
  115. package/dist/output-gateway/pid/index.js.map +1 -1
  116. package/dist/output-gateway/pid/ioc/Di.js +62 -6
  117. package/dist/output-gateway/pid/ioc/Di.js.map +1 -1
  118. package/dist/output-gateway/pid/ioc/OgPidToken.d.ts +11 -0
  119. package/dist/output-gateway/pid/ioc/OgPidToken.js +11 -0
  120. package/dist/output-gateway/pid/ioc/OgPidToken.js.map +1 -1
  121. package/dist/output-gateway/pid/routers/index.d.ts +1 -0
  122. package/dist/output-gateway/pid/routers/index.js +3 -1
  123. package/dist/output-gateway/pid/routers/index.js.map +1 -1
  124. package/dist/output-gateway/pid/routers/v4/V4PIDRouter.d.ts +16 -0
  125. package/dist/output-gateway/pid/routers/v4/V4PIDRouter.js +67 -0
  126. package/dist/output-gateway/pid/routers/v4/V4PIDRouter.js.map +1 -0
  127. package/dist/output-gateway/pid/service/facade/InfotextFacade.d.ts +7 -2
  128. package/dist/output-gateway/pid/service/facade/InfotextFacade.js +29 -4
  129. package/dist/output-gateway/pid/service/facade/InfotextFacade.js.map +1 -1
  130. package/dist/output-gateway/pid/service/facade/StopFacade.d.ts +12 -3
  131. package/dist/output-gateway/pid/service/facade/StopFacade.js +43 -7
  132. package/dist/output-gateway/pid/service/facade/StopFacade.js.map +1 -1
  133. package/dist/output-gateway/pid/service/facade/TransferFacade.d.ts +11 -9
  134. package/dist/output-gateway/pid/service/facade/TransferFacade.js +117 -14
  135. package/dist/output-gateway/pid/service/facade/TransferFacade.js.map +1 -1
  136. package/dist/output-gateway/pid/service/helpers/PlatformCodeResolver.d.ts +7 -1
  137. package/dist/output-gateway/pid/service/helpers/PlatformCodeResolver.js +12 -0
  138. package/dist/output-gateway/pid/service/helpers/PlatformCodeResolver.js.map +1 -1
  139. package/dist/output-gateway/pid/service/transformations/JISInfotextCacheTransferTransformation.d.ts +13 -0
  140. package/dist/output-gateway/pid/service/transformations/JISInfotextCacheTransferTransformation.js +31 -0
  141. package/dist/output-gateway/pid/service/transformations/JISInfotextCacheTransferTransformation.js.map +1 -0
  142. package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.d.ts +27 -0
  143. package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js +78 -0
  144. package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js.map +1 -0
  145. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.d.ts +1 -1
  146. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.js +4 -4
  147. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.js.map +1 -1
  148. package/dist/output-gateway/public/ioc/Di.js +1 -1
  149. package/dist/output-gateway/public/ioc/Di.js.map +1 -1
  150. package/dist/output-gateway/ropid-gtfs/data-access/redis/GtfsStopsRedisRepository.d.ts +13 -0
  151. package/dist/output-gateway/ropid-gtfs/data-access/redis/GtfsStopsRedisRepository.js +83 -0
  152. package/dist/output-gateway/ropid-gtfs/data-access/redis/GtfsStopsRedisRepository.js.map +1 -0
  153. package/dist/output-gateway/shared/constants/route-version.d.ts +2 -1
  154. package/dist/output-gateway/shared/constants/route-version.js +1 -0
  155. package/dist/output-gateway/shared/constants/route-version.js.map +1 -1
  156. package/dist/output-gateway/{public → shared}/service/VPSubscriber.d.ts +4 -2
  157. package/dist/output-gateway/{public → shared}/service/VPSubscriber.js +1 -1
  158. package/dist/output-gateway/shared/service/VPSubscriber.js.map +1 -0
  159. package/dist/schema-definitions/jis/redis/const.d.ts +1 -0
  160. package/dist/schema-definitions/jis/redis/const.js +2 -1
  161. package/dist/schema-definitions/jis/redis/const.js.map +1 -1
  162. package/dist/schema-definitions/jis/redis/interfaces/IJISInfotextDto.d.ts +17 -0
  163. package/dist/schema-definitions/jis/redis/interfaces/IJISInfotextDto.js +3 -0
  164. package/dist/schema-definitions/jis/redis/interfaces/IJISInfotextDto.js.map +1 -0
  165. package/dist/schema-definitions/jis/redis/interfaces/IJISMetadataDto.d.ts +1 -5
  166. package/dist/schema-definitions/jis/redis/schemas/JISInfotextDtoSchema.d.ts +3 -0
  167. package/dist/schema-definitions/jis/redis/schemas/JISInfotextDtoSchema.js +59 -0
  168. package/dist/schema-definitions/jis/redis/schemas/JISInfotextDtoSchema.js.map +1 -0
  169. package/dist/schema-definitions/jis/redis/schemas/JISMetadataDtoSchema.js +5 -11
  170. package/dist/schema-definitions/jis/redis/schemas/JISMetadataDtoSchema.js.map +1 -1
  171. package/dist/schema-definitions/ropid-departures-presets/index.d.ts +1 -0
  172. package/dist/schema-definitions/ropid-departures-presets/index.js +3 -0
  173. package/dist/schema-definitions/ropid-departures-presets/index.js.map +1 -1
  174. package/dist/schema-definitions/ropid-gtfs/interfaces/IStopCisDto.d.ts +16 -0
  175. package/dist/schema-definitions/ropid-gtfs/interfaces/IStopCisDto.js +3 -0
  176. package/dist/schema-definitions/ropid-gtfs/interfaces/IStopCisDto.js.map +1 -0
  177. package/dist/schema-definitions/ropid-gtfs/interfaces/IStopDto.d.ts +1 -0
  178. package/dist/schema-definitions/ropid-gtfs/models/StopCisDto.d.ts +58 -0
  179. package/dist/schema-definitions/ropid-gtfs/models/StopCisDto.js +69 -0
  180. package/dist/schema-definitions/ropid-gtfs/models/StopCisDto.js.map +1 -0
  181. package/dist/schema-definitions/ropid-gtfs/redis/const.d.ts +1 -0
  182. package/dist/schema-definitions/ropid-gtfs/redis/const.js +2 -1
  183. package/dist/schema-definitions/ropid-gtfs/redis/const.js.map +1 -1
  184. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.d.ts +3 -2
  185. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js +4 -0
  186. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js.map +1 -1
  187. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.d.ts +1 -0
  188. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto.d.ts +2 -0
  189. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.d.ts +1 -0
  190. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js +8 -0
  191. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js.map +1 -1
  192. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js +4 -1
  193. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js.map +1 -1
  194. package/docs/asyncapi.yaml +45 -0
  195. package/docs/cache/types/redis.md +82 -2
  196. package/docs/implementation_documentation.md +2 -0
  197. package/docs/jis/index.md +17 -5
  198. package/docs/openapi-input.yaml +13 -2
  199. package/docs/openapi-output.yaml +326 -4
  200. package/package.json +2 -2
  201. package/dist/output-gateway/public/service/VPSubscriber.js.map +0 -1
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.JISInfotextsRepository = void 0;
16
+ const ropid_gtfs_1 = require("../../ropid-gtfs");
16
17
  const const_1 = require("../../../schema-definitions/const");
17
18
  const JISInfotextsModel_1 = require("../../../schema-definitions/jis/models/JISInfotextsModel");
18
19
  const AbstractValidatableRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository");
@@ -21,17 +22,48 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
21
22
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
22
23
  const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
23
24
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
25
+ const JISContainerToken_1 = require("../ioc/JISContainerToken");
26
+ const JISInfotextsRopidGTFSStopsRepository_1 = require("./JISInfotextsRopidGTFSStopsRepository");
24
27
  const RepositoryUtils_1 = require("../../shared/RepositoryUtils");
25
28
  let JISInfotextsRepository = exports.JISInfotextsRepository = class JISInfotextsRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
26
- constructor(connector, logger) {
29
+ constructor(connector, logger, infotextStopRepository, gtfsStopRepository) {
27
30
  super(connector, logger);
28
31
  this.logger = logger;
32
+ this.infotextStopRepository = infotextStopRepository;
33
+ this.gtfsStopRepository = gtfsStopRepository;
29
34
  this.schema = const_1.PG_SCHEMA;
30
35
  this.tableName = JISInfotextsModel_1.JISInfotextsModel.tableName;
31
36
  this.validator = new golemio_validator_1.JSONSchemaValidator("JISInfotextsRepository", JISInfotextsModel_1.JISInfotextsModel.jsonSchema);
32
37
  this.sequelizeModel = connector
33
38
  .getConnection()
34
39
  .define(this.tableName, JISInfotextsModel_1.JISInfotextsModel.attributeModel, { schema: this.schema });
40
+ this.sequelizeModel.belongsToMany(this.gtfsStopRepository.sequelizeModel, {
41
+ through: this.infotextStopRepository["sequelizeModel"],
42
+ foreignKey: "infotext_id",
43
+ otherKey: "stop_id",
44
+ as: "stops",
45
+ });
46
+ this.gtfsStopRepository.sequelizeModel.belongsToMany(this.sequelizeModel, {
47
+ through: this.infotextStopRepository["sequelizeModel"],
48
+ foreignKey: "stop_id",
49
+ otherKey: "infotext_id",
50
+ });
51
+ this.infotextStopRepository["sequelizeModel"].belongsTo(this.sequelizeModel, {
52
+ targetKey: "id",
53
+ foreignKey: "infotext_id",
54
+ });
55
+ this.infotextStopRepository["sequelizeModel"].belongsTo(this.gtfsStopRepository.sequelizeModel, {
56
+ targetKey: "stop_id",
57
+ foreignKey: "stop_id",
58
+ });
59
+ this.sequelizeModel.hasMany(this.infotextStopRepository["sequelizeModel"], {
60
+ sourceKey: "id",
61
+ foreignKey: "infotext_id",
62
+ });
63
+ this.gtfsStopRepository.sequelizeModel.hasMany(this.infotextStopRepository["sequelizeModel"], {
64
+ sourceKey: "stop_id",
65
+ foreignKey: "stop_id",
66
+ });
35
67
  }
36
68
  /**
37
69
  * Refresh all data from VYMI and delete old data
@@ -94,11 +126,27 @@ let JISInfotextsRepository = exports.JISInfotextsRepository = class JISInfotexts
94
126
  throw new golemio_errors_1.GeneralError("Error in deleteAll", this.constructor.name, err);
95
127
  }
96
128
  }
129
+ async findAll() {
130
+ return await this.sequelizeModel.findAll({
131
+ include: [
132
+ {
133
+ model: this.gtfsStopRepository.sequelizeModel,
134
+ as: "stops",
135
+ attributes: ["stop_id"],
136
+ through: { attributes: [] },
137
+ required: true,
138
+ },
139
+ ],
140
+ });
141
+ }
97
142
  };
98
143
  exports.JISInfotextsRepository = JISInfotextsRepository = __decorate([
99
144
  (0, tsyringe_1.injectable)(),
100
145
  __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
101
146
  __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
102
- __metadata("design:paramtypes", [Object, Object])
147
+ __param(2, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISInfotextsRopidGTFSStopsRepository)),
148
+ __param(3, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.RopidGTFSStopsRepository)),
149
+ __metadata("design:paramtypes", [Object, Object, JISInfotextsRopidGTFSStopsRepository_1.JISInfotextsRopidGTFSStopsRepository,
150
+ ropid_gtfs_1.RopidGTFSStopsModel])
103
151
  ], JISInfotextsRepository);
104
152
  //# sourceMappingURL=JISInfotextsRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JISInfotextsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/repositories/JISInfotextsRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JISInfotextsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/repositories/JISInfotextsRepository.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { RedisModel } from "@golemio/core/dist/integration-engine/models/RedisModel";
2
2
  export declare class JISMetadataRepository extends RedisModel {
3
3
  static readonly NAMESPACE_PREFIX = "jisMetadata";
4
- protected readonly key = "main";
4
+ protected readonly infotextsKey = "infotexts";
5
+ protected readonly eventsKey = "events";
5
6
  constructor();
6
7
  /** Get the Etag of the last JIS Infotexts response */
7
8
  getLastInfotextsEtag(): Promise<string | undefined>;
@@ -11,5 +12,7 @@ export declare class JISMetadataRepository extends RedisModel {
11
12
  * @param etag The new Etag of the last JIS Infotexts response
12
13
  */
13
14
  setLastInfotextsEtag(etag: string): Promise<void>;
15
+ getLastEventsEtag(): Promise<string | undefined>;
16
+ setLastEventsEtag(etag: string): Promise<void>;
14
17
  private initializeMetadata;
15
18
  }
@@ -25,13 +25,14 @@ let JISMetadataRepository = exports.JISMetadataRepository = JISMetadataRepositor
25
25
  isKeyConstructedFromData: false,
26
26
  prefix: JISMetadataRepository_1.NAMESPACE_PREFIX,
27
27
  }, new golemio_validator_1.JSONSchemaValidator("JISMetadataRepositoryValidator", JISMetadataDtoSchema_1.JISMetadataDtoSchema));
28
- this.key = "main";
28
+ this.infotextsKey = "infotexts";
29
+ this.eventsKey = "events";
29
30
  }
30
31
  /** Get the Etag of the last JIS Infotexts response */
31
32
  async getLastInfotextsEtag() {
32
33
  try {
33
- const metadata = await this.get(this.key);
34
- return metadata?.infotexts.lastResponse.etag;
34
+ const metadata = await this.get(this.infotextsKey);
35
+ return metadata?.lastResponse.etag;
35
36
  }
36
37
  catch (err) {
37
38
  if (err instanceof golemio_errors_1.GeneralError)
@@ -46,12 +47,12 @@ let JISMetadataRepository = exports.JISMetadataRepository = JISMetadataRepositor
46
47
  */
47
48
  async setLastInfotextsEtag(etag) {
48
49
  try {
49
- let metadata = await this.get(this.key);
50
+ let metadata = await this.get(this.infotextsKey);
50
51
  if (!metadata)
51
52
  metadata = this.initializeMetadata();
52
- metadata.infotexts.lastResponse.etag = etag;
53
- metadata.infotexts.lastResponse.updatedAt = new Date().toISOString();
54
- await this.set(this.key, metadata);
53
+ metadata.lastResponse.etag = etag;
54
+ metadata.lastResponse.updatedAt = new Date().toISOString();
55
+ await this.set(this.infotextsKey, metadata);
55
56
  }
56
57
  catch (err) {
57
58
  if (err instanceof golemio_errors_1.GeneralError)
@@ -59,13 +60,37 @@ let JISMetadataRepository = exports.JISMetadataRepository = JISMetadataRepositor
59
60
  throw new golemio_errors_1.GeneralError("Error while updating last infotexts etag", this.constructor.name, err);
60
61
  }
61
62
  }
63
+ async getLastEventsEtag() {
64
+ try {
65
+ const metadata = await this.get(this.eventsKey);
66
+ return metadata?.lastResponse.etag;
67
+ }
68
+ catch (err) {
69
+ if (err instanceof golemio_errors_1.GeneralError)
70
+ throw err;
71
+ throw new golemio_errors_1.GeneralError("Error while getting last events etag", this.constructor.name, err);
72
+ }
73
+ }
74
+ async setLastEventsEtag(etag) {
75
+ try {
76
+ let metadata = await this.get(this.eventsKey);
77
+ if (!metadata)
78
+ metadata = this.initializeMetadata();
79
+ metadata.lastResponse.etag = etag;
80
+ metadata.lastResponse.updatedAt = new Date().toISOString();
81
+ await this.set(this.eventsKey, metadata);
82
+ }
83
+ catch (err) {
84
+ if (err instanceof golemio_errors_1.GeneralError)
85
+ throw err;
86
+ throw new golemio_errors_1.GeneralError("Error while updating last events etag", this.constructor.name, err);
87
+ }
88
+ }
62
89
  initializeMetadata() {
63
90
  return {
64
- infotexts: {
65
- lastResponse: {
66
- etag: "",
67
- updatedAt: new Date().toISOString(),
68
- },
91
+ lastResponse: {
92
+ etag: "",
93
+ updatedAt: new Date().toISOString(),
69
94
  },
70
95
  };
71
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JISMetadataRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/repositories/JISMetadataRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,uEAAqE;AAErE,6GAAmF;AACnF,wFAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,qBAAqB,6DAA3B,MAAM,qBAAsB,SAAQ,uBAAU;IAKjD;QACI,KAAK,CACD,uBAAuB,EACvB;YACI,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,oBAAoB,EAAE,IAAI,CAAC,SAAS;YACpC,wBAAwB,EAAE,KAAK;YAC/B,MAAM,EAAE,uBAAqB,CAAC,gBAAgB;SACjD,EACD,IAAI,uCAAmB,CAAC,gCAAgC,EAAE,2CAAoB,CAAC,CAClF,CAAC;QAZa,QAAG,GAAG,MAAM,CAAC;IAahC,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,oBAAoB;QACtB,IAAI;YACA,MAAM,QAAQ,GAAgC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvE,OAAO,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;SAChD;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,6BAAY;gBAAE,MAAM,GAAG,CAAC;YAC3C,MAAM,IAAI,6BAAY,CAAC,yCAAyC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SACjG;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,IAAY;QACnC,IAAI;YACA,IAAI,QAAQ,GAAgC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ;gBAAE,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpD,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5C,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrE,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SACtC;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,6BAAY;gBAAE,MAAM,GAAG,CAAC;YAC3C,MAAM,IAAI,6BAAY,CAAC,0CAA0C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SAClG;IACL,CAAC;IAEO,kBAAkB;QACtB,OAAO;YACH,SAAS,EAAE;gBACP,YAAY,EAAE;oBACV,IAAI,EAAE,EAAE;oBACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACtC;aACJ;SACJ,CAAC;IACN,CAAC;;AAvDsB,sCAAgB,GAAG,qCAA6B,AAAhC,CAAiC;gCAD/D,qBAAqB;IADjC,IAAA,qBAAU,GAAE;;GACA,qBAAqB,CAyDjC"}
1
+ {"version":3,"file":"JISMetadataRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/repositories/JISMetadataRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { JISInfotextsModel } from "../../../schema-definitions/jis/models/JISInfotextsModel";
2
+ import { IJISInfotextDto } from "../../../schema-definitions/jis/redis/interfaces/IJISInfotextDto";
3
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
4
+ export declare class JISInfotextCacheTranformation extends AbstractTransformation<JISInfotextsModel, IJISInfotextDto> {
5
+ name: string;
6
+ protected transformInternal: (data: JISInfotextsModel) => IJISInfotextDto;
7
+ }
@@ -0,0 +1,37 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.JISInfotextCacheTranformation = void 0;
10
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
11
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
12
+ let JISInfotextCacheTranformation = exports.JISInfotextCacheTranformation = class JISInfotextCacheTranformation extends AbstractTransformation_1.AbstractTransformation {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.name = "JISInfotextCacheTranformation";
16
+ this.transformInternal = (data) => {
17
+ return {
18
+ id: data.id,
19
+ severity_level: data.severity_level,
20
+ display_type: data.display_type,
21
+ active_period_start: data.active_period_start.toISOString(),
22
+ active_period_end: data.active_period_end?.toISOString() ?? null,
23
+ description_text: {
24
+ cs: data.description_text.cs,
25
+ en: data.description_text.en ?? null,
26
+ },
27
+ created_timestamp: data.created_timestamp.toISOString(),
28
+ updated_timestamp: data.updated_timestamp.toISOString(),
29
+ stops: data.stops?.map((stop) => ({ stop_id: stop.stop_id })) ?? [],
30
+ };
31
+ };
32
+ }
33
+ };
34
+ exports.JISInfotextCacheTranformation = JISInfotextCacheTranformation = __decorate([
35
+ (0, tsyringe_1.injectable)()
36
+ ], JISInfotextCacheTranformation);
37
+ //# sourceMappingURL=JISInfotextCacheTranformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JISInfotextCacheTranformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/transformations/JISInfotextCacheTranformation.ts"],"names":[],"mappings":";;;;;;;;;AAEA,6GAA0G;AAC1G,iEAAgE;AAGzD,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+CAA0D;IAAtG;;QACI,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAAC,IAAuB,EAAmB,EAAE;YACvE,OAAO;gBACH,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;gBAC3D,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,IAAI,IAAI;gBAChE,gBAAgB,EAAE;oBACd,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;oBAC5B,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,IAAI;iBACvC;gBACD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;gBACvD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;gBACvD,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;aACtE,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;wCAnBY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;GACA,6BAA6B,CAmBzC"}
@@ -18,6 +18,7 @@ class JISWorker extends workers_1.AbstractWorker {
18
18
  this.registerTask(Di_1.JISContainer.resolve(JISContainerToken_1.JISContainerToken.FetchJISInfotextsTask));
19
19
  this.registerTask(Di_1.JISContainer.resolve(JISContainerToken_1.JISContainerToken.RefreshJISEventsTask));
20
20
  this.registerTask(Di_1.JISContainer.resolve(JISContainerToken_1.JISContainerToken.RefreshJISInfotextsTask));
21
+ this.registerTask(Di_1.JISContainer.resolve(JISContainerToken_1.JISContainerToken.RefreshJISInfotextsCacheTask));
21
22
  }
22
23
  }
23
24
  exports.JISWorker = JISWorker;
@@ -1 +1 @@
1
- {"version":3,"file":"JISWorker.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/workers/JISWorker.ts"],"names":[],"mappings":";;;AAAA,2EAA+E;AAE/E,kCAAyC;AACzC,gEAA6D;AAC7D,2CAA8C;AAM9C,MAAa,SAAU,SAAQ,wBAAc;IAGzC;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,2BAAe,CAAC,WAAW,EAAE,CAAC;QAYxC,iBAAY,GAAG,CAAC,IAAW,EAAQ,EAAE;YACxC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAVE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,iBAAY,CAAC,OAAO,CAAqB,qCAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,YAAY,CAAC,iBAAY,CAAC,OAAO,CAAwB,qCAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,iBAAY,CAAC,OAAO,CAAuB,qCAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,iBAAY,CAAC,OAAO,CAA0B,qCAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAChH,CAAC;CAMJ;AAjBD,8BAiBC"}
1
+ {"version":3,"file":"JISWorker.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/workers/JISWorker.ts"],"names":[],"mappings":";;;AAAA,2EAA+E;AAE/E,kCAAyC;AACzC,gEAA6D;AAC7D,2CAA8C;AAO9C,MAAa,SAAU,SAAQ,wBAAc;IAGzC;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,2BAAe,CAAC,WAAW,EAAE,CAAC;QAaxC,iBAAY,GAAG,CAAC,IAAW,EAAQ,EAAE;YACxC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAXE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,iBAAY,CAAC,OAAO,CAAqB,qCAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,YAAY,CAAC,iBAAY,CAAC,OAAO,CAAwB,qCAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,iBAAY,CAAC,OAAO,CAAuB,qCAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,iBAAY,CAAC,OAAO,CAA0B,qCAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,YAAY,CAAC,iBAAY,CAAC,OAAO,CAA+B,qCAAiB,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAC1H,CAAC;CAMJ;AAlBD,8BAkBC"}
@@ -0,0 +1,14 @@
1
+ import { AbstractEmptyTask, IDataSource } from "@golemio/core/dist/integration-engine";
2
+ import { JISMetadataRepository } from "../../repositories/JISMetadataRepository";
3
+ import { ILogger } from "@golemio/core/dist/helpers";
4
+ export declare abstract class AbstractFetchJISResourceTask<TItem> extends AbstractEmptyTask {
5
+ protected readonly metadataRepository: JISMetadataRepository;
6
+ protected readonly logger: ILogger;
7
+ protected abstract readonly queueRoutingKey: string;
8
+ protected abstract readonly metadataGetter: () => Promise<string | undefined>;
9
+ protected abstract readonly metadataSetter: (etag: string) => Promise<void>;
10
+ protected abstract readonly getDataSource: (etag?: string) => IDataSource<TItem[]>;
11
+ constructor(metadataRepository: JISMetadataRepository, logger: ILogger, queuePrefix: string);
12
+ protected execute(): Promise<void>;
13
+ private getResponseEtag;
14
+ }
@@ -0,0 +1,71 @@
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
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AbstractFetchJISResourceTask = void 0;
16
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
17
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
18
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
19
+ const ResourceNotModified_1 = require("@golemio/core/dist/integration-engine/helpers/ResourceNotModified");
20
+ const JISMetadataRepository_1 = require("../../repositories/JISMetadataRepository");
21
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
22
+ let AbstractFetchJISResourceTask = exports.AbstractFetchJISResourceTask = class AbstractFetchJISResourceTask extends integration_engine_1.AbstractEmptyTask {
23
+ constructor(metadataRepository, logger, queuePrefix) {
24
+ super(queuePrefix);
25
+ this.metadataRepository = metadataRepository;
26
+ this.logger = logger;
27
+ }
28
+ async execute() {
29
+ try {
30
+ const lastEtag = await this.metadataGetter();
31
+ const dataSource = this.getDataSource(lastEtag);
32
+ const { data, metadata } = await dataSource.getAllWithMetadata();
33
+ if (data instanceof ResourceNotModified_1.ResourceNotModified) {
34
+ this.logger.info(`${this.constructor.name}.execute: No update (304 Not Modified). ETag: ${lastEtag}`);
35
+ return;
36
+ }
37
+ const responseEtag = this.getResponseEtag(metadata);
38
+ if (typeof responseEtag === "string") {
39
+ await this.metadataSetter(responseEtag);
40
+ }
41
+ else {
42
+ this.logger.warn(`${this.constructor.name}.execute: Response has no ETag.`);
43
+ }
44
+ await integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, this.queueRoutingKey, data);
45
+ }
46
+ catch (err) {
47
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
48
+ throw err;
49
+ }
50
+ else {
51
+ throw new golemio_errors_1.GeneralError(`Error while fetching JIS resource: ${this.queueRoutingKey}`, this.constructor.name, err);
52
+ }
53
+ }
54
+ }
55
+ getResponseEtag(metadata) {
56
+ if (typeof metadata === "object" &&
57
+ metadata !== null &&
58
+ "headers" in metadata &&
59
+ typeof metadata.headers === "object" &&
60
+ metadata.headers !== null &&
61
+ "etag" in metadata.headers &&
62
+ typeof metadata.headers["etag"] === "string") {
63
+ return metadata.headers["etag"];
64
+ }
65
+ }
66
+ };
67
+ exports.AbstractFetchJISResourceTask = AbstractFetchJISResourceTask = __decorate([
68
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
69
+ __metadata("design:paramtypes", [JISMetadataRepository_1.JISMetadataRepository, Object, String])
70
+ ], AbstractFetchJISResourceTask);
71
+ //# sourceMappingURL=AbstractFetchJISResourceTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractFetchJISResourceTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/jis/workers/tasks/AbstractFetchJISResourceTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8EAAqG;AACrG,iEAA4D;AAC5D,6EAA8F;AAC9F,2GAAwG;AACxG,oFAAmF;AAEnF,wEAAqE;AAErE,IAAsB,4BAA4B,0CAAlD,MAAsB,4BAAoC,SAAQ,sCAAiB;IAM/E,YACuB,kBAAyC,EACf,MAAe,EAC5D,WAAmB;QAEnB,KAAK,CAAC,WAAW,CAAC,CAAC;QAJA,uBAAkB,GAAlB,kBAAkB,CAAuB;QACf,WAAM,GAAN,MAAM,CAAS;IAIhE,CAAC;IAES,KAAK,CAAC,OAAO;QACnB,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAEjE,IAAI,IAAI,YAAY,yCAAmB,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,iDAAiD,QAAQ,EAAE,CAAC,CAAC;gBACtG,OAAO;aACV;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEpD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;gBAClC,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;aAC3C;iBAAM;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,iCAAiC,CAAC,CAAC;aAC/E;YAED,MAAM,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;SAC1F;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;gBACrC,MAAM,GAAG,CAAC;aACb;iBAAM;gBACH,MAAM,IAAI,6BAAY,CAAC,sCAAsC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACpH;SACJ;IACL,CAAC;IAEO,eAAe,CAAC,QAAiB;QACrC,IACI,OAAO,QAAQ,KAAK,QAAQ;YAC5B,QAAQ,KAAK,IAAI;YACjB,SAAS,IAAI,QAAQ;YACrB,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;YACpC,QAAQ,CAAC,OAAO,KAAK,IAAI;YACzB,MAAM,IAAI,QAAQ,CAAC,OAAO;YAC1B,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,EAC9C;YACE,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACnC;IACL,CAAC;CACJ,CAAA;uCAxDqB,4BAA4B;IAQzC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCADc,6CAAqB;GAP9C,4BAA4B,CAwDjD"}
@@ -1,9 +1,15 @@
1
1
  import { JISEventsDataSourceFactory } from "../../datasources/JISEventsDataSourceFactory";
2
- import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
3
- export declare class FetchJISEventsTask extends AbstractEmptyTask {
2
+ import { JISMetadataRepository } from "../../repositories/JISMetadataRepository";
3
+ import { AbstractFetchJISResourceTask } from "./AbstractFetchJISResourceTask";
4
+ import { ILogger } from "@golemio/core/dist/helpers";
5
+ import { IJISEvent } from "../../../../schema-definitions/jis/datasources/interfaces";
6
+ export declare class FetchJISEventsTask extends AbstractFetchJISResourceTask<IJISEvent> {
4
7
  private dataSourceFactory;
5
8
  readonly queueName = "fetchJISEvents";
6
9
  readonly queueTtl: number;
7
- constructor(dataSourceFactory: JISEventsDataSourceFactory);
8
- protected execute(): Promise<void>;
10
+ protected readonly queueRoutingKey = "refreshJISEvents";
11
+ constructor(dataSourceFactory: JISEventsDataSourceFactory, metadataRepository: JISMetadataRepository, logger: ILogger);
12
+ protected metadataGetter: () => Promise<string | undefined>;
13
+ protected metadataSetter: (etag: string) => Promise<void>;
14
+ protected getDataSource: (etag?: string) => import("@golemio/core/dist/integration-engine").IDataSource<IJISEvent[]>;
9
15
  }
@@ -15,36 +15,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.FetchJISEventsTask = void 0;
16
16
  const JISEventsDataSourceFactory_1 = require("../../datasources/JISEventsDataSourceFactory");
17
17
  const JISContainerToken_1 = require("../../ioc/JISContainerToken");
18
- const integration_engine_1 = require("@golemio/core/dist/integration-engine");
19
18
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
19
+ const JISMetadataRepository_1 = require("../../repositories/JISMetadataRepository");
20
+ const AbstractFetchJISResourceTask_1 = require("./AbstractFetchJISResourceTask");
21
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
20
22
  const constants_1 = require("../constants");
21
- const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
22
- let FetchJISEventsTask = exports.FetchJISEventsTask = class FetchJISEventsTask extends integration_engine_1.AbstractEmptyTask {
23
- constructor(dataSourceFactory) {
24
- super(constants_1.JIS_WORKER_NAME.toLowerCase());
23
+ let FetchJISEventsTask = exports.FetchJISEventsTask = class FetchJISEventsTask extends AbstractFetchJISResourceTask_1.AbstractFetchJISResourceTask {
24
+ constructor(dataSourceFactory, metadataRepository, logger) {
25
+ super(metadataRepository, logger, constants_1.JIS_WORKER_NAME.toLowerCase());
25
26
  this.dataSourceFactory = dataSourceFactory;
26
27
  this.queueName = "fetchJISEvents";
27
- this.queueTtl = 20 * 1000; // 20 seconds
28
- }
29
- async execute() {
30
- try {
31
- const dataSource = this.dataSourceFactory.getDataSource();
32
- const data = await dataSource.getAll();
33
- await integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "refreshJISEvents", data);
34
- }
35
- catch (err) {
36
- if (err instanceof golemio_errors_1.AbstractGolemioError) {
37
- throw err;
38
- }
39
- else {
40
- throw new golemio_errors_1.GeneralError("Error while fetching new JIS events", this.constructor.name, err);
41
- }
42
- }
28
+ this.queueTtl = 20 * 1000;
29
+ this.queueRoutingKey = "refreshJISEvents";
30
+ this.metadataGetter = () => this.metadataRepository.getLastEventsEtag();
31
+ this.metadataSetter = (etag) => this.metadataRepository.setLastEventsEtag(etag);
32
+ this.getDataSource = (etag) => this.dataSourceFactory.getDataSource(etag);
43
33
  }
44
34
  };
45
35
  exports.FetchJISEventsTask = FetchJISEventsTask = __decorate([
46
36
  (0, tsyringe_1.injectable)(),
47
37
  __param(0, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISEventsDataSourceFactory)),
48
- __metadata("design:paramtypes", [JISEventsDataSourceFactory_1.JISEventsDataSourceFactory])
38
+ __param(1, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISMetadataRepository)),
39
+ __param(2, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
40
+ __metadata("design:paramtypes", [JISEventsDataSourceFactory_1.JISEventsDataSourceFactory,
41
+ JISMetadataRepository_1.JISMetadataRepository, Object])
49
42
  ], FetchJISEventsTask);
50
43
  //# sourceMappingURL=FetchJISEventsTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FetchJISEventsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/jis/workers/tasks/FetchJISEventsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6FAA4F;AAC5F,mEAAkE;AAClE,8EAAwF;AACxF,iEAAwE;AACxE,4CAA+C;AAC/C,6EAA8F;AAGvF,IAAM,kBAAkB,gCAAxB,MAAM,kBAAmB,SAAQ,sCAAiB;IAIrD,YAEI,iBAAqD;QAErD,KAAK,CAAC,2BAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QAF7B,sBAAiB,GAAjB,iBAAiB,CAA4B;QALzC,cAAS,GAAG,gBAAgB,CAAC;QAC7B,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;IAOnD,CAAC;IAES,KAAK,CAAC,OAAO;QACnB,IAAI;YACA,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAEvC,MAAM,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;SACxF;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;gBACrC,MAAM,GAAG,CAAC;aACb;iBAAM;gBACH,MAAM,IAAI,6BAAY,CAAC,qCAAqC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC7F;SACJ;IACL,CAAC;CACJ,CAAA;6BAzBY,kBAAkB;IAD9B,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,0BAA0B,CAAC,CAAA;qCAC1B,uDAA0B;GANhD,kBAAkB,CAyB9B"}
1
+ {"version":3,"file":"FetchJISEventsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/jis/workers/tasks/FetchJISEventsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6FAA4F;AAC5F,mEAAkE;AAClE,iEAAwE;AACxE,oFAAmF;AACnF,iFAA8E;AAC9E,wEAAqE;AAErE,4CAA+C;AAIxC,IAAM,kBAAkB,gCAAxB,MAAM,kBAAmB,SAAQ,2DAAuC;IAK3E,YAEI,iBAAqD,EAErD,kBAAyC,EACf,MAAe;QAEzC,KAAK,CAAC,kBAAkB,EAAE,MAAM,EAAE,2BAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QALzD,sBAAiB,GAAjB,iBAAiB,CAA4B;QANzC,cAAS,GAAG,gBAAgB,CAAC;QAC7B,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC;QAClB,oBAAe,GAAG,kBAAkB,CAAC;QAY9C,mBAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;QACnE,mBAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACnF,kBAAa,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAJxF,CAAC;CAKJ,CAAA;6BAlBY,kBAAkB;IAD9B,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,0BAA0B,CAAC,CAAA;IAEpD,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,qBAAqB,CAAC,CAAA;IAE/C,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCAHE,uDAA0B;QAEjC,6CAAqB;GATpC,kBAAkB,CAkB9B"}
@@ -1,10 +1,15 @@
1
1
  import { JISInfotextsDataSourceFactory } from "../../datasources/JISInfotextsDataSourceFactory";
2
- import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
3
- export declare class FetchJISInfotextsTask extends AbstractEmptyTask {
2
+ import { JISMetadataRepository } from "../../repositories/JISMetadataRepository";
3
+ import { AbstractFetchJISResourceTask } from "./AbstractFetchJISResourceTask";
4
+ import { ILogger } from "@golemio/core/dist/helpers";
5
+ import { IJISInfotext } from "../../../../schema-definitions/jis/datasources/interfaces";
6
+ export declare class FetchJISInfotextsTask extends AbstractFetchJISResourceTask<IJISInfotext> {
4
7
  private dataSourceFactory;
5
8
  readonly queueName = "fetchJISInfotexts";
6
9
  readonly queueTtl: number;
7
- constructor(dataSourceFactory: JISInfotextsDataSourceFactory);
8
- /** Fetch JIS Infotexts data source */
9
- protected execute(): Promise<void>;
10
+ protected readonly queueRoutingKey = "refreshJISInfotexts";
11
+ constructor(dataSourceFactory: JISInfotextsDataSourceFactory, metadataRepository: JISMetadataRepository, logger: ILogger);
12
+ protected metadataGetter: () => Promise<string | undefined>;
13
+ protected metadataSetter: (etag: string) => Promise<void>;
14
+ protected getDataSource: (etag?: string) => import("@golemio/core/dist/integration-engine").IDataSource<IJISInfotext[]>;
10
15
  }
@@ -15,37 +15,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.FetchJISInfotextsTask = void 0;
16
16
  const JISInfotextsDataSourceFactory_1 = require("../../datasources/JISInfotextsDataSourceFactory");
17
17
  const JISContainerToken_1 = require("../../ioc/JISContainerToken");
18
- const integration_engine_1 = require("@golemio/core/dist/integration-engine");
19
18
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
19
+ const JISMetadataRepository_1 = require("../../repositories/JISMetadataRepository");
20
+ const AbstractFetchJISResourceTask_1 = require("./AbstractFetchJISResourceTask");
21
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
20
22
  const constants_1 = require("../constants");
21
- const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
22
- let FetchJISInfotextsTask = exports.FetchJISInfotextsTask = class FetchJISInfotextsTask extends integration_engine_1.AbstractEmptyTask {
23
- constructor(dataSourceFactory) {
24
- super(constants_1.JIS_WORKER_NAME.toLowerCase());
23
+ let FetchJISInfotextsTask = exports.FetchJISInfotextsTask = class FetchJISInfotextsTask extends AbstractFetchJISResourceTask_1.AbstractFetchJISResourceTask {
24
+ constructor(dataSourceFactory, metadataRepository, logger) {
25
+ super(metadataRepository, logger, constants_1.JIS_WORKER_NAME.toLowerCase());
25
26
  this.dataSourceFactory = dataSourceFactory;
26
27
  this.queueName = "fetchJISInfotexts";
27
- this.queueTtl = 20 * 1000; // 20 seconds
28
- }
29
- /** Fetch JIS Infotexts data source */
30
- async execute() {
31
- try {
32
- const dataSource = this.dataSourceFactory.getDataSource();
33
- const data = await dataSource.getAll();
34
- await integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "refreshJISInfotexts", data);
35
- }
36
- catch (err) {
37
- if (err instanceof golemio_errors_1.AbstractGolemioError) {
38
- throw err;
39
- }
40
- else {
41
- throw new golemio_errors_1.GeneralError("Error while fetching new JIS infotexts", this.constructor.name, err);
42
- }
43
- }
28
+ this.queueTtl = 20 * 1000;
29
+ this.queueRoutingKey = "refreshJISInfotexts";
30
+ this.metadataGetter = () => this.metadataRepository.getLastInfotextsEtag();
31
+ this.metadataSetter = (etag) => this.metadataRepository.setLastInfotextsEtag(etag);
32
+ this.getDataSource = (etag) => this.dataSourceFactory.getDataSource(etag);
44
33
  }
45
34
  };
46
35
  exports.FetchJISInfotextsTask = FetchJISInfotextsTask = __decorate([
47
36
  (0, tsyringe_1.injectable)(),
48
37
  __param(0, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISInfotextsDataSourceFactory)),
49
- __metadata("design:paramtypes", [JISInfotextsDataSourceFactory_1.JISInfotextsDataSourceFactory])
38
+ __param(1, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISMetadataRepository)),
39
+ __param(2, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
40
+ __metadata("design:paramtypes", [JISInfotextsDataSourceFactory_1.JISInfotextsDataSourceFactory,
41
+ JISMetadataRepository_1.JISMetadataRepository, Object])
50
42
  ], FetchJISInfotextsTask);
51
43
  //# sourceMappingURL=FetchJISInfotextsTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FetchJISInfotextsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/jis/workers/tasks/FetchJISInfotextsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mGAAkG;AAClG,mEAAkE;AAClE,8EAAwF;AACxF,iEAAwE;AACxE,4CAA+C;AAC/C,6EAA8F;AAGvF,IAAM,qBAAqB,mCAA3B,MAAM,qBAAsB,SAAQ,sCAAiB;IAIxD,YAEI,iBAAwD;QAExD,KAAK,CAAC,2BAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QAF7B,sBAAiB,GAAjB,iBAAiB,CAA+B;QAL5C,cAAS,GAAG,mBAAmB,CAAC;QAChC,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;IAOnD,CAAC;IAED,sCAAsC;IAC5B,KAAK,CAAC,OAAO;QACnB,IAAI;YACA,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAEvC,MAAM,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;SAC3F;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;gBACrC,MAAM,GAAG,CAAC;aACb;iBAAM;gBACH,MAAM,IAAI,6BAAY,CAAC,wCAAwC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAChG;SACJ;IACL,CAAC;CACJ,CAAA;gCA1BY,qBAAqB;IADjC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,6BAA6B,CAAC,CAAA;qCAC7B,6DAA6B;GANnD,qBAAqB,CA0BjC"}
1
+ {"version":3,"file":"FetchJISInfotextsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/jis/workers/tasks/FetchJISInfotextsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mGAAkG;AAClG,mEAAkE;AAClE,iEAAwE;AACxE,oFAAmF;AACnF,iFAA8E;AAC9E,wEAAqE;AAErE,4CAA+C;AAIxC,IAAM,qBAAqB,mCAA3B,MAAM,qBAAsB,SAAQ,2DAA0C;IAKjF,YAEI,iBAAwD,EAExD,kBAAyC,EACf,MAAe;QAEzC,KAAK,CAAC,kBAAkB,EAAE,MAAM,EAAE,2BAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QALzD,sBAAiB,GAAjB,iBAAiB,CAA+B;QAN5C,cAAS,GAAG,mBAAmB,CAAC;QAChC,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC;QAClB,oBAAe,GAAG,qBAAqB,CAAC;QAYjD,mBAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;QACtE,mBAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACtF,kBAAa,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAJxF,CAAC;CAKJ,CAAA;gCAlBY,qBAAqB;IADjC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,6BAA6B,CAAC,CAAA;IAEvD,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,qBAAqB,CAAC,CAAA;IAE/C,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCAHE,6DAA6B;QAEpC,6CAAqB;GATpC,qBAAqB,CAkBjC"}
@@ -0,0 +1,13 @@
1
+ import { JISInfotextsRedisRepository } from "../../repositories/JISInfotextsRedisRepository";
2
+ import { JISInfotextsRepository } from "../../repositories/JISInfotextsRepository";
3
+ import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
4
+ import { JISInfotextCacheTranformation } from "../../transformations/JISInfotextCacheTranformation";
5
+ export declare class RefreshJISInfotextsCacheTask extends AbstractEmptyTask {
6
+ private infotextsRepository;
7
+ private infotextCacheRepository;
8
+ private tranformation;
9
+ readonly queueName = "refreshJISInfotextsCache";
10
+ readonly queueTtl: number;
11
+ constructor(infotextsRepository: JISInfotextsRepository, infotextCacheRepository: JISInfotextsRedisRepository, tranformation: JISInfotextCacheTranformation);
12
+ protected execute(): Promise<void>;
13
+ }
@@ -0,0 +1,47 @@
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
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.RefreshJISInfotextsCacheTask = void 0;
16
+ const JISContainerToken_1 = require("../../ioc/JISContainerToken");
17
+ const JISInfotextsRedisRepository_1 = require("../../repositories/JISInfotextsRedisRepository");
18
+ const JISInfotextsRepository_1 = require("../../repositories/JISInfotextsRepository");
19
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
20
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
21
+ const constants_1 = require("../constants");
22
+ const JISInfotextCacheTranformation_1 = require("../../transformations/JISInfotextCacheTranformation");
23
+ let RefreshJISInfotextsCacheTask = exports.RefreshJISInfotextsCacheTask = class RefreshJISInfotextsCacheTask extends integration_engine_1.AbstractEmptyTask {
24
+ constructor(infotextsRepository, infotextCacheRepository, tranformation) {
25
+ super(constants_1.JIS_WORKER_NAME.toLowerCase());
26
+ this.infotextsRepository = infotextsRepository;
27
+ this.infotextCacheRepository = infotextCacheRepository;
28
+ this.tranformation = tranformation;
29
+ this.queueName = "refreshJISInfotextsCache";
30
+ this.queueTtl = 60 * 1000; // 1 minute
31
+ }
32
+ async execute() {
33
+ const infotexts = await this.infotextsRepository.findAll();
34
+ const transformedData = this.tranformation.transformArray(infotexts);
35
+ await this.infotextCacheRepository.refreshData(transformedData);
36
+ }
37
+ };
38
+ exports.RefreshJISInfotextsCacheTask = RefreshJISInfotextsCacheTask = __decorate([
39
+ (0, tsyringe_1.injectable)(),
40
+ __param(0, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISInfotextsRepository)),
41
+ __param(1, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISInfotextsRedisRepository)),
42
+ __param(2, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISInfotextCacheTranformation)),
43
+ __metadata("design:paramtypes", [JISInfotextsRepository_1.JISInfotextsRepository,
44
+ JISInfotextsRedisRepository_1.JISInfotextsRedisRepository,
45
+ JISInfotextCacheTranformation_1.JISInfotextCacheTranformation])
46
+ ], RefreshJISInfotextsCacheTask);
47
+ //# sourceMappingURL=RefreshJISInfotextsCacheTask.js.map