@golemio/fypr 1.0.1 → 1.0.2-dev.2343920210

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 (190) hide show
  1. package/db/example/00_clear_test_data.sql +7 -7
  2. package/db/example/01_display_cases.sql +4 -0
  3. package/db/example/02_information_panels.sql +4 -0
  4. package/db/example/03_obelisks.sql +4 -0
  5. package/db/example/04_signposts.sql +2 -0
  6. package/db/example/05_totems.sql +4 -0
  7. package/db/migrations/postgresql/20260212140121-init-dbfypr-integration.js +53 -0
  8. package/db/migrations/postgresql/package.json +3 -0
  9. package/db/migrations/postgresql/sqls/20260212140121-init-dbfypr-integration-down.sql +9 -0
  10. package/db/migrations/postgresql/sqls/20260212140121-init-dbfypr-integration-up.sql +242 -0
  11. package/db/migrations/postgresql/sqls/package.json +3 -0
  12. package/dist/helpers/errors/ErrorHelper.d.ts +4 -0
  13. package/dist/helpers/errors/ErrorHelper.js +11 -0
  14. package/dist/helpers/errors/ErrorHelper.js.map +1 -0
  15. package/dist/integration-engine/data-sources/AbstractDBFYPRDataSourceFactory.d.ts +11 -0
  16. package/dist/integration-engine/data-sources/AbstractDBFYPRDataSourceFactory.js +32 -0
  17. package/dist/integration-engine/data-sources/AbstractDBFYPRDataSourceFactory.js.map +1 -0
  18. package/dist/integration-engine/data-sources/DBFYPRDisplayCasesDataSourceFactory.d.ts +9 -0
  19. package/dist/integration-engine/data-sources/DBFYPRDisplayCasesDataSourceFactory.js +36 -0
  20. package/dist/integration-engine/data-sources/DBFYPRDisplayCasesDataSourceFactory.js.map +1 -0
  21. package/dist/integration-engine/data-sources/DBFYPRInformationPanelsDataSourceFactory.d.ts +9 -0
  22. package/dist/integration-engine/data-sources/DBFYPRInformationPanelsDataSourceFactory.js +36 -0
  23. package/dist/integration-engine/data-sources/DBFYPRInformationPanelsDataSourceFactory.js.map +1 -0
  24. package/dist/integration-engine/data-sources/DBFYPRObelisksDataSourceFactory.d.ts +9 -0
  25. package/dist/integration-engine/data-sources/DBFYPRObelisksDataSourceFactory.js +36 -0
  26. package/dist/integration-engine/data-sources/DBFYPRObelisksDataSourceFactory.js.map +1 -0
  27. package/dist/integration-engine/data-sources/DBFYPRSignpostsDataSourceFactory.d.ts +9 -0
  28. package/dist/integration-engine/data-sources/DBFYPRSignpostsDataSourceFactory.js +36 -0
  29. package/dist/integration-engine/data-sources/DBFYPRSignpostsDataSourceFactory.js.map +1 -0
  30. package/dist/integration-engine/data-sources/DBFYPRTotemsDataSourceFactory.d.ts +9 -0
  31. package/dist/integration-engine/data-sources/DBFYPRTotemsDataSourceFactory.js +36 -0
  32. package/dist/integration-engine/data-sources/DBFYPRTotemsDataSourceFactory.js.map +1 -0
  33. package/dist/integration-engine/data-sources/protocol-strategies/StrapiPaginatedHTTPProtocolStrategy.d.ts +21 -0
  34. package/dist/integration-engine/data-sources/protocol-strategies/StrapiPaginatedHTTPProtocolStrategy.js +59 -0
  35. package/dist/integration-engine/data-sources/protocol-strategies/StrapiPaginatedHTTPProtocolStrategy.js.map +1 -0
  36. package/dist/integration-engine/helpers/StrapiPaginationHelper.d.ts +10 -0
  37. package/dist/integration-engine/helpers/StrapiPaginationHelper.js +41 -0
  38. package/dist/integration-engine/helpers/StrapiPaginationHelper.js.map +1 -0
  39. package/dist/integration-engine/index.js +2 -3
  40. package/dist/integration-engine/index.js.map +1 -1
  41. package/dist/integration-engine/ioc/Di.d.ts +2 -0
  42. package/dist/integration-engine/ioc/Di.js +63 -0
  43. package/dist/integration-engine/ioc/Di.js.map +1 -0
  44. package/dist/integration-engine/ioc/FYPRIEContainerTokens.d.ts +23 -0
  45. package/dist/integration-engine/ioc/FYPRIEContainerTokens.js +35 -0
  46. package/dist/integration-engine/ioc/FYPRIEContainerTokens.js.map +1 -0
  47. package/dist/integration-engine/repositories/AbstractFyprRepository.d.ts +11 -0
  48. package/dist/integration-engine/repositories/AbstractFyprRepository.js +14 -0
  49. package/dist/integration-engine/repositories/AbstractFyprRepository.js.map +1 -0
  50. package/dist/integration-engine/repositories/DisplayCaseRepository.d.ts +14 -0
  51. package/dist/integration-engine/repositories/DisplayCaseRepository.js +58 -0
  52. package/dist/integration-engine/repositories/DisplayCaseRepository.js.map +1 -0
  53. package/dist/integration-engine/repositories/InformationPanelRepository.d.ts +14 -0
  54. package/dist/integration-engine/repositories/InformationPanelRepository.js +58 -0
  55. package/dist/integration-engine/repositories/InformationPanelRepository.js.map +1 -0
  56. package/dist/integration-engine/repositories/ObeliskRepository.d.ts +14 -0
  57. package/dist/integration-engine/repositories/ObeliskRepository.js +58 -0
  58. package/dist/integration-engine/repositories/ObeliskRepository.js.map +1 -0
  59. package/dist/integration-engine/repositories/SignpostRepository.d.ts +14 -0
  60. package/dist/integration-engine/repositories/SignpostRepository.js +58 -0
  61. package/dist/integration-engine/repositories/SignpostRepository.js.map +1 -0
  62. package/dist/integration-engine/repositories/TotemRepository.d.ts +14 -0
  63. package/dist/integration-engine/repositories/TotemRepository.js +58 -0
  64. package/dist/integration-engine/repositories/TotemRepository.js.map +1 -0
  65. package/dist/integration-engine/transformations/AbstractElementTransformation.d.ts +7 -0
  66. package/dist/integration-engine/transformations/AbstractElementTransformation.js +36 -0
  67. package/dist/integration-engine/transformations/AbstractElementTransformation.js.map +1 -0
  68. package/dist/integration-engine/transformations/DisplayCasesTransformation.d.ts +10 -0
  69. package/dist/integration-engine/transformations/DisplayCasesTransformation.js +46 -0
  70. package/dist/integration-engine/transformations/DisplayCasesTransformation.js.map +1 -0
  71. package/dist/integration-engine/transformations/InformationPanelsTransformation.d.ts +10 -0
  72. package/dist/integration-engine/transformations/InformationPanelsTransformation.js +102 -0
  73. package/dist/integration-engine/transformations/InformationPanelsTransformation.js.map +1 -0
  74. package/dist/integration-engine/transformations/ObelisksTransformation.d.ts +10 -0
  75. package/dist/integration-engine/transformations/ObelisksTransformation.js +41 -0
  76. package/dist/integration-engine/transformations/ObelisksTransformation.js.map +1 -0
  77. package/dist/integration-engine/transformations/SignpostsTransformation.d.ts +10 -0
  78. package/dist/integration-engine/transformations/SignpostsTransformation.js +43 -0
  79. package/dist/integration-engine/transformations/SignpostsTransformation.js.map +1 -0
  80. package/dist/integration-engine/transformations/TotemsTransformation.d.ts +10 -0
  81. package/dist/integration-engine/transformations/TotemsTransformation.js +78 -0
  82. package/dist/integration-engine/transformations/TotemsTransformation.js.map +1 -0
  83. package/dist/integration-engine/workers/FYPRWorker.d.ts +8 -0
  84. package/dist/integration-engine/workers/FYPRWorker.js +33 -0
  85. package/dist/integration-engine/workers/FYPRWorker.js.map +1 -0
  86. package/dist/integration-engine/workers/constants.d.ts +1 -0
  87. package/dist/integration-engine/workers/constants.js +5 -0
  88. package/dist/integration-engine/workers/constants.js.map +1 -0
  89. package/dist/integration-engine/workers/tasks/AbstractUpdateElementsTask.d.ts +12 -0
  90. package/dist/integration-engine/workers/tasks/AbstractUpdateElementsTask.js +26 -0
  91. package/dist/integration-engine/workers/tasks/AbstractUpdateElementsTask.js.map +1 -0
  92. package/dist/integration-engine/workers/tasks/FetchDBFYPRTask.d.ts +21 -0
  93. package/dist/integration-engine/workers/tasks/FetchDBFYPRTask.js +96 -0
  94. package/dist/integration-engine/workers/tasks/FetchDBFYPRTask.js.map +1 -0
  95. package/dist/integration-engine/workers/tasks/UpdateDisplayCasesTask.d.ts +11 -0
  96. package/dist/integration-engine/workers/tasks/UpdateDisplayCasesTask.js +38 -0
  97. package/dist/integration-engine/workers/tasks/UpdateDisplayCasesTask.js.map +1 -0
  98. package/dist/integration-engine/workers/tasks/UpdateInformationPanelsTask.d.ts +11 -0
  99. package/dist/integration-engine/workers/tasks/UpdateInformationPanelsTask.js +38 -0
  100. package/dist/integration-engine/workers/tasks/UpdateInformationPanelsTask.js.map +1 -0
  101. package/dist/integration-engine/workers/tasks/UpdateObelisksTask.d.ts +11 -0
  102. package/dist/integration-engine/workers/tasks/UpdateObelisksTask.js +38 -0
  103. package/dist/integration-engine/workers/tasks/UpdateObelisksTask.js.map +1 -0
  104. package/dist/integration-engine/workers/tasks/UpdateSignpostsTask.d.ts +11 -0
  105. package/dist/integration-engine/workers/tasks/UpdateSignpostsTask.js +38 -0
  106. package/dist/integration-engine/workers/tasks/UpdateSignpostsTask.js.map +1 -0
  107. package/dist/integration-engine/workers/tasks/UpdateTotemsTask.d.ts +11 -0
  108. package/dist/integration-engine/workers/tasks/UpdateTotemsTask.js +38 -0
  109. package/dist/integration-engine/workers/tasks/UpdateTotemsTask.js.map +1 -0
  110. package/dist/schema-definitions/const.d.ts +1 -0
  111. package/dist/schema-definitions/const.js +5 -0
  112. package/dist/schema-definitions/const.js.map +1 -0
  113. package/dist/schema-definitions/data-sources/DBFYPRDisplayCasesJSONSchema.d.ts +3 -0
  114. package/dist/schema-definitions/data-sources/DBFYPRDisplayCasesJSONSchema.js +97 -0
  115. package/dist/schema-definitions/data-sources/DBFYPRDisplayCasesJSONSchema.js.map +1 -0
  116. package/dist/schema-definitions/data-sources/DBFYPRElementsJSONSchema.d.ts +3 -0
  117. package/dist/schema-definitions/data-sources/DBFYPRElementsJSONSchema.js +64 -0
  118. package/dist/schema-definitions/data-sources/DBFYPRElementsJSONSchema.js.map +1 -0
  119. package/dist/schema-definitions/data-sources/DBFYPRInformationPanelsJSONSchema.d.ts +3 -0
  120. package/dist/schema-definitions/data-sources/DBFYPRInformationPanelsJSONSchema.js +307 -0
  121. package/dist/schema-definitions/data-sources/DBFYPRInformationPanelsJSONSchema.js.map +1 -0
  122. package/dist/schema-definitions/data-sources/DBFYPRObelisksJSONSchema.d.ts +3 -0
  123. package/dist/schema-definitions/data-sources/DBFYPRObelisksJSONSchema.js +79 -0
  124. package/dist/schema-definitions/data-sources/DBFYPRObelisksJSONSchema.js.map +1 -0
  125. package/dist/schema-definitions/data-sources/DBFYPRSignpostsJSONSchema.d.ts +3 -0
  126. package/dist/schema-definitions/data-sources/DBFYPRSignpostsJSONSchema.js +85 -0
  127. package/dist/schema-definitions/data-sources/DBFYPRSignpostsJSONSchema.js.map +1 -0
  128. package/dist/schema-definitions/data-sources/DBFYPRTotemsJSONSchema.d.ts +3 -0
  129. package/dist/schema-definitions/data-sources/DBFYPRTotemsJSONSchema.js +229 -0
  130. package/dist/schema-definitions/data-sources/DBFYPRTotemsJSONSchema.js.map +1 -0
  131. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRDisplayCase.d.ts +22 -0
  132. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRDisplayCase.js +3 -0
  133. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRDisplayCase.js.map +1 -0
  134. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRElement.d.ts +21 -0
  135. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRElement.js +3 -0
  136. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRElement.js.map +1 -0
  137. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRInformationPanel.d.ts +78 -0
  138. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRInformationPanel.js +3 -0
  139. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRInformationPanel.js.map +1 -0
  140. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRObelisk.d.ts +17 -0
  141. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRObelisk.js +3 -0
  142. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRObelisk.js.map +1 -0
  143. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRSignpost.d.ts +19 -0
  144. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRSignpost.js +3 -0
  145. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRSignpost.js.map +1 -0
  146. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRTotem.d.ts +54 -0
  147. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRTotem.js +3 -0
  148. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRTotem.js.map +1 -0
  149. package/dist/schema-definitions/index.js +0 -1
  150. package/dist/schema-definitions/index.js.map +1 -1
  151. package/dist/schema-definitions/models/AbstractElementModel.d.ts +155 -0
  152. package/dist/schema-definitions/models/AbstractElementModel.js +104 -0
  153. package/dist/schema-definitions/models/AbstractElementModel.js.map +1 -0
  154. package/dist/schema-definitions/models/DisplayCaseModel.d.ts +28 -0
  155. package/dist/schema-definitions/models/DisplayCaseModel.js +103 -0
  156. package/dist/schema-definitions/models/DisplayCaseModel.js.map +1 -0
  157. package/dist/schema-definitions/models/InformationPanelModel.d.ts +84 -0
  158. package/dist/schema-definitions/models/InformationPanelModel.js +360 -0
  159. package/dist/schema-definitions/models/InformationPanelModel.js.map +1 -0
  160. package/dist/schema-definitions/models/ObeliskModel.d.ts +23 -0
  161. package/dist/schema-definitions/models/ObeliskModel.js +80 -0
  162. package/dist/schema-definitions/models/ObeliskModel.js.map +1 -0
  163. package/dist/schema-definitions/models/SignpostModel.d.ts +25 -0
  164. package/dist/schema-definitions/models/SignpostModel.js +88 -0
  165. package/dist/schema-definitions/models/SignpostModel.js.map +1 -0
  166. package/dist/schema-definitions/models/TotemModel.d.ts +60 -0
  167. package/dist/schema-definitions/models/TotemModel.js +251 -0
  168. package/dist/schema-definitions/models/TotemModel.js.map +1 -0
  169. package/dist/schema-definitions/models/interfaces/IDisplayCase.d.ts +22 -0
  170. package/dist/schema-definitions/models/interfaces/IDisplayCase.js +3 -0
  171. package/dist/schema-definitions/models/interfaces/IDisplayCase.js.map +1 -0
  172. package/dist/schema-definitions/models/interfaces/IElement.d.ts +19 -0
  173. package/dist/schema-definitions/models/interfaces/IElement.js +3 -0
  174. package/dist/schema-definitions/models/interfaces/IElement.js.map +1 -0
  175. package/dist/schema-definitions/models/interfaces/IInformationPanel.d.ts +78 -0
  176. package/dist/schema-definitions/models/interfaces/IInformationPanel.js +3 -0
  177. package/dist/schema-definitions/models/interfaces/IInformationPanel.js.map +1 -0
  178. package/dist/schema-definitions/models/interfaces/IObelisk.d.ts +17 -0
  179. package/dist/schema-definitions/models/interfaces/IObelisk.js +3 -0
  180. package/dist/schema-definitions/models/interfaces/IObelisk.js.map +1 -0
  181. package/dist/schema-definitions/models/interfaces/ISignpost.d.ts +19 -0
  182. package/dist/schema-definitions/models/interfaces/ISignpost.js +3 -0
  183. package/dist/schema-definitions/models/interfaces/ISignpost.js.map +1 -0
  184. package/dist/schema-definitions/models/interfaces/ITotem.d.ts +54 -0
  185. package/dist/schema-definitions/models/interfaces/ITotem.js +3 -0
  186. package/dist/schema-definitions/models/interfaces/ITotem.js.map +1 -0
  187. package/docs/asyncapi.yaml +823 -3
  188. package/docs/implementation_documentation.md +162 -39
  189. package/docs/translations.md +212 -0
  190. package/package.json +7 -5
@@ -0,0 +1,36 @@
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.DBFYPRSignpostsDataSourceFactory = void 0;
16
+ const DBFYPRSignpostsJSONSchema_1 = require("../../schema-definitions/data-sources/DBFYPRSignpostsJSONSchema");
17
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
18
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
19
+ const AbstractDBFYPRDataSourceFactory_1 = require("./AbstractDBFYPRDataSourceFactory");
20
+ let DBFYPRSignpostsDataSourceFactory = class DBFYPRSignpostsDataSourceFactory extends AbstractDBFYPRDataSourceFactory_1.AbstractDBFYPRDataSourceFactory {
21
+ constructor(config) {
22
+ super(config);
23
+ this.dataSourceName = "DBFYPRSignpostsDataSource";
24
+ // Without explicit object type, the following type error occurs:
25
+ // "The inferred type of 'jsonSchema' cannot be named without a reference to '@golemio/core/node_modules/ajv'."
26
+ this.jsonSchema = DBFYPRSignpostsJSONSchema_1.dbfyprSignpostsJSONSchema;
27
+ this.moduleConfigApiItem = "signposts";
28
+ }
29
+ };
30
+ exports.DBFYPRSignpostsDataSourceFactory = DBFYPRSignpostsDataSourceFactory;
31
+ exports.DBFYPRSignpostsDataSourceFactory = DBFYPRSignpostsDataSourceFactory = __decorate([
32
+ (0, tsyringe_1.injectable)(),
33
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
34
+ __metadata("design:paramtypes", [Object])
35
+ ], DBFYPRSignpostsDataSourceFactory);
36
+ //# sourceMappingURL=DBFYPRSignpostsDataSourceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DBFYPRSignpostsDataSourceFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/data-sources/DBFYPRSignpostsDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+GAAwF;AAGxF,wEAAqE;AACrE,iEAAwE;AACxE,uFAAoF;AAG7E,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,iEAAgD;IAOlG,YAA4C,MAAqB;QAC7D,KAAK,CAAC,MAAM,CAAC,CAAC;QAPU,mBAAc,GAAG,2BAA2B,CAAC;QACzE,iEAAiE;QACjE,+GAA+G;QACnF,eAAU,GAAW,qDAAyB,CAAC;QAC/C,wBAAmB,GAAG,WAAW,CAAC;IAI9D,CAAC;CACJ,CAAA;AAVY,4EAAgC;2CAAhC,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;IAQI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GAPlC,gCAAgC,CAU5C"}
@@ -0,0 +1,9 @@
1
+ import { IDBFYPRTotem } from "../../schema-definitions/data-sources/interfaces/IDBFYPRTotem";
2
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
3
+ import { AbstractDBFYPRDataSourceFactory } from "./AbstractDBFYPRDataSourceFactory";
4
+ export declare class DBFYPRTotemsDataSourceFactory extends AbstractDBFYPRDataSourceFactory<IDBFYPRTotem> {
5
+ protected readonly dataSourceName = "DBFYPRTotemsDataSource";
6
+ protected readonly jsonSchema: object;
7
+ protected readonly moduleConfigApiItem = "totems";
8
+ constructor(config: ISimpleConfig);
9
+ }
@@ -0,0 +1,36 @@
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.DBFYPRTotemsDataSourceFactory = void 0;
16
+ const DBFYPRTotemsJSONSchema_1 = require("../../schema-definitions/data-sources/DBFYPRTotemsJSONSchema");
17
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
18
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
19
+ const AbstractDBFYPRDataSourceFactory_1 = require("./AbstractDBFYPRDataSourceFactory");
20
+ let DBFYPRTotemsDataSourceFactory = class DBFYPRTotemsDataSourceFactory extends AbstractDBFYPRDataSourceFactory_1.AbstractDBFYPRDataSourceFactory {
21
+ constructor(config) {
22
+ super(config);
23
+ this.dataSourceName = "DBFYPRTotemsDataSource";
24
+ // Without explicit object type, the following type error occurs:
25
+ // "The inferred type of 'jsonSchema' cannot be named without a reference to '@golemio/core/node_modules/ajv'."
26
+ this.jsonSchema = DBFYPRTotemsJSONSchema_1.dbfyprTotemsJSONSchema;
27
+ this.moduleConfigApiItem = "totems";
28
+ }
29
+ };
30
+ exports.DBFYPRTotemsDataSourceFactory = DBFYPRTotemsDataSourceFactory;
31
+ exports.DBFYPRTotemsDataSourceFactory = DBFYPRTotemsDataSourceFactory = __decorate([
32
+ (0, tsyringe_1.injectable)(),
33
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
34
+ __metadata("design:paramtypes", [Object])
35
+ ], DBFYPRTotemsDataSourceFactory);
36
+ //# sourceMappingURL=DBFYPRTotemsDataSourceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DBFYPRTotemsDataSourceFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/data-sources/DBFYPRTotemsDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yGAAkF;AAGlF,wEAAqE;AACrE,iEAAwE;AACxE,uFAAoF;AAG7E,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,iEAA6C;IAO5F,YAA4C,MAAqB;QAC7D,KAAK,CAAC,MAAM,CAAC,CAAC;QAPU,mBAAc,GAAG,wBAAwB,CAAC;QACtE,iEAAiE;QACjE,+GAA+G;QACnF,eAAU,GAAW,+CAAsB,CAAC;QAC5C,wBAAmB,GAAG,QAAQ,CAAC;IAI3D,CAAC;CACJ,CAAA;AAVY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,qBAAU,GAAE;IAQI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GAPlC,6BAA6B,CAUzC"}
@@ -0,0 +1,21 @@
1
+ import { HTTPFetchProtocolStrategy } from "@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy";
2
+ import { IHTTPFetchSettings } from "@golemio/core/dist/integration-engine/datasources/protocol-strategy/interfaces/IHTTPFetchSettings";
3
+ import { IHTTPProtocolStrategyResult } from "@golemio/core/dist/integration-engine/datasources/protocol-strategy/interfaces/IHTTPProtocolStrategyResult";
4
+ interface IPaginatedStrapiResponse<T> {
5
+ data: T[];
6
+ meta: {
7
+ pagination: {
8
+ start: number;
9
+ limit: number;
10
+ total: number;
11
+ };
12
+ };
13
+ }
14
+ export declare class StrapiPaginatedHTTPProtocolStrategy<T> extends HTTPFetchProtocolStrategy<IPaginatedStrapiResponse<T>> {
15
+ constructor(settings: IHTTPFetchSettings);
16
+ getRawData(): Promise<IHTTPProtocolStrategyResult<IPaginatedStrapiResponse<T>>>;
17
+ private setNextPageUrl;
18
+ private resetUrlOffset;
19
+ private ensureSuccessfulResponse;
20
+ }
21
+ export {};
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StrapiPaginatedHTTPProtocolStrategy = void 0;
4
+ const ErrorHelper_1 = require("../../../helpers/errors/ErrorHelper");
5
+ const StrapiPaginationHelper_1 = require("../../helpers/StrapiPaginationHelper");
6
+ const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
7
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
8
+ class StrapiPaginatedHTTPProtocolStrategy extends HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy {
9
+ constructor(settings) {
10
+ super({ ...settings, url: StrapiPaginationHelper_1.StrapiPaginationHelper.setPaginationParams(settings.url) });
11
+ }
12
+ async getRawData() {
13
+ try {
14
+ let res = await super.getRawData();
15
+ if (!this.ensureSuccessfulResponse(res)) {
16
+ throw new Error("This should be unreachable and is here only for type guard type inference");
17
+ }
18
+ let resultPage = res;
19
+ const result = resultPage;
20
+ while (resultPage.data.data.length > 0) {
21
+ this.setNextPageUrl();
22
+ res = await super.getRawData();
23
+ if (!this.ensureSuccessfulResponse(res)) {
24
+ throw new Error("This should be unreachable and is here only for type guard type inference");
25
+ }
26
+ resultPage = res;
27
+ result.data.data.push(...resultPage.data.data);
28
+ }
29
+ this.resetUrlOffset();
30
+ return result;
31
+ }
32
+ catch (err) {
33
+ throw ErrorHelper_1.ErrorHelper.ensureGolemioError(err, new golemio_errors_1.GeneralError("Error while getting data from server.", this.constructor.name, err));
34
+ }
35
+ }
36
+ setNextPageUrl() {
37
+ this.setConnectionSettings({
38
+ ...this.connectionSettings,
39
+ url: StrapiPaginationHelper_1.StrapiPaginationHelper.getNextPageUrl(this.connectionSettings.url),
40
+ });
41
+ }
42
+ resetUrlOffset() {
43
+ this.setConnectionSettings({
44
+ ...this.connectionSettings,
45
+ url: StrapiPaginationHelper_1.StrapiPaginationHelper.resetUrlOffset(this.connectionSettings.url),
46
+ });
47
+ }
48
+ ensureSuccessfulResponse(res) {
49
+ if (res.data === null) {
50
+ throw new golemio_errors_1.GeneralError("No data", this.constructor.name);
51
+ }
52
+ if (res.meta.statusCode >= 300) {
53
+ throw new golemio_errors_1.GeneralError(`HTTP error: ${res.meta.statusCode}`, this.constructor.name, JSON.stringify(res.data));
54
+ }
55
+ return true;
56
+ }
57
+ }
58
+ exports.StrapiPaginatedHTTPProtocolStrategy = StrapiPaginatedHTTPProtocolStrategy;
59
+ //# sourceMappingURL=StrapiPaginatedHTTPProtocolStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StrapiPaginatedHTTPProtocolStrategy.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-sources/protocol-strategies/StrapiPaginatedHTTPProtocolStrategy.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;AAC1D,iFAA4E;AAC5E,6IAA0I;AAG1I,6EAAwE;AAaxE,MAAa,mCAAuC,SAAQ,qDAAsD;IAC9G,YAAY,QAA4B;QACpC,KAAK,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,+CAAsB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAEe,KAAK,CAAC,UAAU;QAC5B,IAAI,CAAC;YACD,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YACjG,CAAC;YAED,IAAI,UAAU,GAA6D,GAAG,CAAC;YAC/E,MAAM,MAAM,GAAG,UAAU,CAAC;YAE1B,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;gBACjG,CAAC;gBACD,UAAU,GAAG,GAAG,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,yBAAW,CAAC,kBAAkB,CAChC,GAAG,EACH,IAAI,6BAAY,CAAC,uCAAuC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CACxF,CAAC;QACN,CAAC;IACL,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,qBAAqB,CAAC;YACvB,GAAG,IAAI,CAAC,kBAAkB;YAC1B,GAAG,EAAE,+CAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;SAC1E,CAAC,CAAC;IACP,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,qBAAqB,CAAC;YACvB,GAAG,IAAI,CAAC,kBAAkB;YAC1B,GAAG,EAAE,+CAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;SAC1E,CAAC,CAAC;IACP,CAAC;IAEO,wBAAwB,CAC5B,GAA+E;QAE/E,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,6BAAY,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,6BAAY,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAClH,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA5DD,kFA4DC"}
@@ -0,0 +1,10 @@
1
+ export declare class StrapiPaginationHelper {
2
+ private static readonly DEFAULT_INITIAL_OFFSET;
3
+ private static readonly DEFAULT_LIMIT;
4
+ private static readonly LIMIT_PARAM_NAME;
5
+ private static readonly OFFSET_PARAM_NAME;
6
+ static setPaginationParams(currentUrl: string): string;
7
+ static getNextPageUrl(currentUrl: string): string;
8
+ static resetUrlOffset(currentUrl: string): string;
9
+ private static getURLLimitAndOffset;
10
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StrapiPaginationHelper = void 0;
4
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
5
+ class StrapiPaginationHelper {
6
+ static setPaginationParams(currentUrl) {
7
+ const url = new URL(currentUrl);
8
+ const limit = url.searchParams.get(StrapiPaginationHelper.LIMIT_PARAM_NAME) ?? StrapiPaginationHelper.DEFAULT_LIMIT;
9
+ url.searchParams.set(StrapiPaginationHelper.LIMIT_PARAM_NAME, limit);
10
+ url.searchParams.set(StrapiPaginationHelper.OFFSET_PARAM_NAME, StrapiPaginationHelper.DEFAULT_INITIAL_OFFSET);
11
+ return url.toString();
12
+ }
13
+ static getNextPageUrl(currentUrl) {
14
+ const url = new URL(currentUrl);
15
+ const { limit: currentLimit, offset: currentOffset } = StrapiPaginationHelper.getURLLimitAndOffset(url);
16
+ url.searchParams.set(StrapiPaginationHelper.OFFSET_PARAM_NAME, `${currentOffset + currentLimit}`);
17
+ return url.toString();
18
+ }
19
+ static resetUrlOffset(currentUrl) {
20
+ const url = new URL(currentUrl);
21
+ url.searchParams.set(StrapiPaginationHelper.OFFSET_PARAM_NAME, StrapiPaginationHelper.DEFAULT_INITIAL_OFFSET);
22
+ return url.toString();
23
+ }
24
+ static getURLLimitAndOffset(url) {
25
+ const currentLimit = url.searchParams.get(StrapiPaginationHelper.LIMIT_PARAM_NAME);
26
+ if (!currentLimit) {
27
+ throw new golemio_errors_1.GeneralError(`Missing ${StrapiPaginationHelper.LIMIT_PARAM_NAME} parameter in the URL.`, this.constructor.name);
28
+ }
29
+ const currentOffset = url.searchParams.get(StrapiPaginationHelper.OFFSET_PARAM_NAME);
30
+ if (!currentOffset) {
31
+ throw new golemio_errors_1.GeneralError(`Missing ${StrapiPaginationHelper.OFFSET_PARAM_NAME} parameter in the URL.`, this.constructor.name);
32
+ }
33
+ return { limit: parseInt(currentLimit, 10), offset: parseInt(currentOffset, 10) };
34
+ }
35
+ }
36
+ exports.StrapiPaginationHelper = StrapiPaginationHelper;
37
+ StrapiPaginationHelper.DEFAULT_INITIAL_OFFSET = "0";
38
+ StrapiPaginationHelper.DEFAULT_LIMIT = "50";
39
+ StrapiPaginationHelper.LIMIT_PARAM_NAME = "pagination[limit]";
40
+ StrapiPaginationHelper.OFFSET_PARAM_NAME = "pagination[start]";
41
+ //# sourceMappingURL=StrapiPaginationHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StrapiPaginationHelper.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/StrapiPaginationHelper.ts"],"names":[],"mappings":";;;AAAA,6EAAwE;AAExE,MAAa,sBAAsB;IAMxB,MAAM,CAAC,mBAAmB,CAAC,UAAkB;QAChD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,sBAAsB,CAAC,aAAa,CAAC;QACpH,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACrE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;QAC9G,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,UAAkB;QAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,sBAAsB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACxG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,GAAG,aAAa,GAAG,YAAY,EAAE,CAAC,CAAC;QAClG,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,UAAkB;QAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;QAC9G,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,GAAQ;QACxC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QACnF,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,IAAI,6BAAY,CAClB,WAAW,sBAAsB,CAAC,gBAAgB,wBAAwB,EAC1E,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAC;QACN,CAAC;QACD,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,6BAAY,CAClB,WAAW,sBAAsB,CAAC,iBAAiB,wBAAwB,EAC3E,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAC;QACN,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC;IACtF,CAAC;;AA3CL,wDA4CC;AA3C2B,6CAAsB,GAAG,GAAG,CAAC;AAC7B,oCAAa,GAAG,IAAI,CAAC;AACrB,uCAAgB,GAAG,mBAAmB,CAAC;AACvC,wCAAiB,GAAG,mBAAmB,CAAC"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.workers = void 0;
4
- exports.workers = [
5
- // TODO
6
- ];
4
+ const FYPRWorker_1 = require("./workers/FYPRWorker");
5
+ exports.workers = [FYPRWorker_1.FYPRWorker];
7
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAAoC;AACpD,OAAO;CACV,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAErC,QAAA,OAAO,GAAoC,CAAC,uBAAU,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { DependencyContainer } from "@golemio/core/dist/shared/tsyringe";
2
+ export declare const fyprIEContainer: DependencyContainer;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fyprIEContainer = void 0;
4
+ const DBFYPRDisplayCasesDataSourceFactory_1 = require("../data-sources/DBFYPRDisplayCasesDataSourceFactory");
5
+ const DBFYPRInformationPanelsDataSourceFactory_1 = require("../data-sources/DBFYPRInformationPanelsDataSourceFactory");
6
+ const DBFYPRObelisksDataSourceFactory_1 = require("../data-sources/DBFYPRObelisksDataSourceFactory");
7
+ const DBFYPRSignpostsDataSourceFactory_1 = require("../data-sources/DBFYPRSignpostsDataSourceFactory");
8
+ const DBFYPRTotemsDataSourceFactory_1 = require("../data-sources/DBFYPRTotemsDataSourceFactory");
9
+ const DisplayCasesTransformation_1 = require("../transformations/DisplayCasesTransformation");
10
+ const InformationPanelsTransformation_1 = require("../transformations/InformationPanelsTransformation");
11
+ const ObelisksTransformation_1 = require("../transformations/ObelisksTransformation");
12
+ const SignpostsTransformation_1 = require("../transformations/SignpostsTransformation");
13
+ const TotemsTransformation_1 = require("../transformations/TotemsTransformation");
14
+ const FetchDBFYPRTask_1 = require("../workers/tasks/FetchDBFYPRTask");
15
+ const UpdateDisplayCasesTask_1 = require("../workers/tasks/UpdateDisplayCasesTask");
16
+ const UpdateInformationPanelsTask_1 = require("../workers/tasks/UpdateInformationPanelsTask");
17
+ const UpdateObelisksTask_1 = require("../workers/tasks/UpdateObelisksTask");
18
+ const UpdateSignpostsTask_1 = require("../workers/tasks/UpdateSignpostsTask");
19
+ const UpdateTotemsTask_1 = require("../workers/tasks/UpdateTotemsTask");
20
+ const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
21
+ const FYPRIEContainerTokens_1 = require("./FYPRIEContainerTokens");
22
+ const DisplayCaseRepository_1 = require("../repositories/DisplayCaseRepository");
23
+ const InformationPanelRepository_1 = require("../repositories/InformationPanelRepository");
24
+ const ObeliskRepository_1 = require("../repositories/ObeliskRepository");
25
+ const SignpostRepository_1 = require("../repositories/SignpostRepository");
26
+ const TotemRepository_1 = require("../repositories/TotemRepository");
27
+ //#region Initialization
28
+ exports.fyprIEContainer = Di_1.IntegrationEngineContainer.createChildContainer();
29
+ //#endregion
30
+ //#region Data Sources
31
+ exports.fyprIEContainer
32
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.DBFYPRDisplayCasesDataSourceFactory, DBFYPRDisplayCasesDataSourceFactory_1.DBFYPRDisplayCasesDataSourceFactory)
33
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.DBFYPRInformationPanelsDataSourceFactory, DBFYPRInformationPanelsDataSourceFactory_1.DBFYPRInformationPanelsDataSourceFactory)
34
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.DBFYPRObelisksDataSourceFactory, DBFYPRObelisksDataSourceFactory_1.DBFYPRObelisksDataSourceFactory)
35
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.DBFYPRSignpostsDataSourceFactory, DBFYPRSignpostsDataSourceFactory_1.DBFYPRSignpostsDataSourceFactory)
36
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.DBFYPRTotemsDataSourceFactory, DBFYPRTotemsDataSourceFactory_1.DBFYPRTotemsDataSourceFactory);
37
+ //#endregion
38
+ //#region Repositories
39
+ exports.fyprIEContainer
40
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.DisplayCaseRepository, DisplayCaseRepository_1.DisplayCaseRepository)
41
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.InformationPanelRepository, InformationPanelRepository_1.InformationPanelRepository)
42
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.ObeliskRepository, ObeliskRepository_1.ObeliskRepository)
43
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.SignpostRepository, SignpostRepository_1.SignpostRepository)
44
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.TotemRepository, TotemRepository_1.TotemRepository);
45
+ //#endregion
46
+ //#region Tasks
47
+ exports.fyprIEContainer
48
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.FetchDBFYPRTask, FetchDBFYPRTask_1.FetchDBFYPRTask)
49
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.UpdateDisplayCasesTask, UpdateDisplayCasesTask_1.UpdateDisplayCasesTask)
50
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.UpdateInformationPanelsTask, UpdateInformationPanelsTask_1.UpdateInformationPanelsTask)
51
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.UpdateObelisksTask, UpdateObelisksTask_1.UpdateObelisksTask)
52
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.UpdateSignpostsTask, UpdateSignpostsTask_1.UpdateSignpostsTask)
53
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.UpdateTotemsTask, UpdateTotemsTask_1.UpdateTotemsTask);
54
+ //#endregion
55
+ //#region Transformations
56
+ exports.fyprIEContainer
57
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.DisplayCasesTransformation, DisplayCasesTransformation_1.DisplayCasesTransformation)
58
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.InformationPanelsTransformation, InformationPanelsTransformation_1.InformationPanelsTransformation)
59
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.ObelisksTransformation, ObelisksTransformation_1.ObelisksTransformation)
60
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.SignpostsTransformation, SignpostsTransformation_1.SignpostsTransformation)
61
+ .registerSingleton(FYPRIEContainerTokens_1.fyprIEContainerTokens.TotemsTransformation, TotemsTransformation_1.TotemsTransformation);
62
+ //#endregion
63
+ //# sourceMappingURL=Di.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,6GAA2G;AAC3G,uHAAqH;AACrH,qGAAmG;AACnG,uGAAqG;AACrG,iGAA+F;AAC/F,8FAA4F;AAC5F,wGAAsG;AACtG,sFAAoF;AACpF,wFAAsF;AACtF,kFAAgF;AAChF,sEAAoE;AACpE,oFAAkF;AAClF,8FAA4F;AAC5F,4EAA0E;AAC1E,8EAA4E;AAC5E,wEAAsE;AACtE,qEAA0F;AAE1F,mEAAgE;AAChE,iFAA+E;AAC/E,2FAAyF;AACzF,yEAAuE;AACvE,2EAAyE;AACzE,qEAAmE;AAEnE,wBAAwB;AACX,QAAA,eAAe,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AACtG,YAAY;AAEZ,sBAAsB;AACtB,uBAAe;KACV,iBAAiB,CAAC,6CAAqB,CAAC,mCAAmC,EAAE,yEAAmC,CAAC;KACjH,iBAAiB,CAAC,6CAAqB,CAAC,wCAAwC,EAAE,mFAAwC,CAAC;KAC3H,iBAAiB,CAAC,6CAAqB,CAAC,+BAA+B,EAAE,iEAA+B,CAAC;KACzG,iBAAiB,CAAC,6CAAqB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC;KAC3G,iBAAiB,CAAC,6CAAqB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC3G,YAAY;AAEZ,sBAAsB;AACtB,uBAAe;KACV,iBAAiB,CAAC,6CAAqB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC;KACrF,iBAAiB,CAAC,6CAAqB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC;KAC/F,iBAAiB,CAAC,6CAAqB,CAAC,iBAAiB,EAAE,qCAAiB,CAAC;KAC7E,iBAAiB,CAAC,6CAAqB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC;KAC/E,iBAAiB,CAAC,6CAAqB,CAAC,eAAe,EAAE,iCAAe,CAAC,CAAC;AAC/E,YAAY;AAEZ,eAAe;AACf,uBAAe;KACV,iBAAiB,CAAC,6CAAqB,CAAC,eAAe,EAAE,iCAAe,CAAC;KACzE,iBAAiB,CAAC,6CAAqB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC;KACvF,iBAAiB,CAAC,6CAAqB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC;KACjG,iBAAiB,CAAC,6CAAqB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC;KAC/E,iBAAiB,CAAC,6CAAqB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC;KACjF,iBAAiB,CAAC,6CAAqB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC;AACjF,YAAY;AAEZ,yBAAyB;AACzB,uBAAe;KACV,iBAAiB,CAAC,6CAAqB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC;KAC/F,iBAAiB,CAAC,6CAAqB,CAAC,+BAA+B,EAAE,iEAA+B,CAAC;KACzG,iBAAiB,CAAC,6CAAqB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC;KACvF,iBAAiB,CAAC,6CAAqB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC;KACzF,iBAAiB,CAAC,6CAAqB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AACzF,YAAY"}
@@ -0,0 +1,23 @@
1
+ export declare const fyprIEContainerTokens: {
2
+ DBFYPRDisplayCasesDataSourceFactory: symbol;
3
+ DBFYPRInformationPanelsDataSourceFactory: symbol;
4
+ DBFYPRObelisksDataSourceFactory: symbol;
5
+ DBFYPRSignpostsDataSourceFactory: symbol;
6
+ DBFYPRTotemsDataSourceFactory: symbol;
7
+ DisplayCaseRepository: symbol;
8
+ InformationPanelRepository: symbol;
9
+ ObeliskRepository: symbol;
10
+ SignpostRepository: symbol;
11
+ TotemRepository: symbol;
12
+ FetchDBFYPRTask: symbol;
13
+ UpdateDisplayCasesTask: symbol;
14
+ UpdateInformationPanelsTask: symbol;
15
+ UpdateObelisksTask: symbol;
16
+ UpdateSignpostsTask: symbol;
17
+ UpdateTotemsTask: symbol;
18
+ DisplayCasesTransformation: symbol;
19
+ InformationPanelsTransformation: symbol;
20
+ ObelisksTransformation: symbol;
21
+ SignpostsTransformation: symbol;
22
+ TotemsTransformation: symbol;
23
+ };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fyprIEContainerTokens = void 0;
4
+ exports.fyprIEContainerTokens = {
5
+ //#region Data Sources
6
+ DBFYPRDisplayCasesDataSourceFactory: Symbol("DBFYPRDisplayCasesDataSourceFactory"),
7
+ DBFYPRInformationPanelsDataSourceFactory: Symbol("DBFYPRInformationPanelsDataSourceFactory"),
8
+ DBFYPRObelisksDataSourceFactory: Symbol("DBFYPRObelisksDataSourceFactory"),
9
+ DBFYPRSignpostsDataSourceFactory: Symbol("DBFYPRSignpostsDataSourceFactory"),
10
+ DBFYPRTotemsDataSourceFactory: Symbol("DBFYPRTotemsDataSourceFactory"),
11
+ //#endregion
12
+ //#region Repositories
13
+ DisplayCaseRepository: Symbol("DisplayCaseRepository"),
14
+ InformationPanelRepository: Symbol("InformationPanelRepository"),
15
+ ObeliskRepository: Symbol("ObeliskRepository"),
16
+ SignpostRepository: Symbol("SignpostRepository"),
17
+ TotemRepository: Symbol("TotemRepository"),
18
+ //#endregion
19
+ //#region Tasks
20
+ FetchDBFYPRTask: Symbol("FetchDBFYPRTask"),
21
+ UpdateDisplayCasesTask: Symbol("UpdateDisplayCasesTask"),
22
+ UpdateInformationPanelsTask: Symbol("UpdateInformationPanelsTask"),
23
+ UpdateObelisksTask: Symbol("UpdateObelisksTask"),
24
+ UpdateSignpostsTask: Symbol("UpdateSignpostsTask"),
25
+ UpdateTotemsTask: Symbol("UpdateTotemsTask"),
26
+ //#endregion
27
+ //#region Transformations
28
+ DisplayCasesTransformation: Symbol("DisplayCasesTransformation"),
29
+ InformationPanelsTransformation: Symbol("InformationPanelsTransformation"),
30
+ ObelisksTransformation: Symbol("ObelisksTransformation"),
31
+ SignpostsTransformation: Symbol("SignpostsTransformation"),
32
+ TotemsTransformation: Symbol("TotemsTransformation"),
33
+ //#endregion
34
+ };
35
+ //# sourceMappingURL=FYPRIEContainerTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FYPRIEContainerTokens.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/FYPRIEContainerTokens.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG;IACjC,sBAAsB;IACtB,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,wCAAwC,EAAE,MAAM,CAAC,0CAA0C,CAAC;IAC5F,+BAA+B,EAAE,MAAM,CAAC,iCAAiC,CAAC;IAC1E,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,YAAY;IAEZ,sBAAsB;IACtB,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC9C,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,YAAY;IAEZ,eAAe;IACf,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,CAAC;IAC5C,YAAY;IAEZ,yBAAyB;IACzB,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,+BAA+B,EAAE,MAAM,CAAC,iCAAiC,CAAC;IAC1E,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,YAAY;CACf,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { ILogger } from "@golemio/core/dist/helpers";
2
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
3
+ import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
4
+ import { ModelStatic } from "@golemio/core/dist/shared/sequelize";
5
+ import { IElement } from "../../schema-definitions/models/interfaces/IElement";
6
+ import { AbstractElementModel } from "../../schema-definitions/models/AbstractElementModel";
7
+ export declare abstract class AbstractFyprRepository extends AbstractValidatableRepository {
8
+ abstract upsertAll(data: IElement[]): Promise<IElement[]>;
9
+ constructor(connector: IDatabaseConnector, log: ILogger);
10
+ getUpdateAttributes(model: ModelStatic<AbstractElementModel>): string[];
11
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractFyprRepository = void 0;
4
+ const AbstractValidatableRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository");
5
+ class AbstractFyprRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
6
+ constructor(connector, log) {
7
+ super(connector, log);
8
+ }
9
+ getUpdateAttributes(model) {
10
+ return Object.keys(model.getAttributes()).filter((attribute) => !["created_at"].includes(attribute));
11
+ }
12
+ }
13
+ exports.AbstractFyprRepository = AbstractFyprRepository;
14
+ //# sourceMappingURL=AbstractFyprRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractFyprRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/AbstractFyprRepository.ts"],"names":[],"mappings":";;;AAEA,8IAA2I;AAK3I,MAAsB,sBAAuB,SAAQ,6DAA6B;IAG9E,YAAY,SAA6B,EAAE,GAAY;QACnD,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IAEM,mBAAmB,CAAC,KAAwC;QAC/D,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACzG,CAAC;CACJ;AAVD,wDAUC"}
@@ -0,0 +1,14 @@
1
+ import { ILogger } from "@golemio/core/dist/helpers";
2
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
3
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
4
+ import { IDisplayCase } from "../../schema-definitions/models/interfaces/IDisplayCase";
5
+ import { AbstractFyprRepository } from "./AbstractFyprRepository";
6
+ export declare class DisplayCaseRepository extends AbstractFyprRepository {
7
+ private logger;
8
+ validator: JSONSchemaValidator;
9
+ schema: string;
10
+ tableName: string;
11
+ private sequelizeModel;
12
+ constructor(connector: IDatabaseConnector, logger: ILogger);
13
+ upsertAll(data: IDisplayCase[]): Promise<IDisplayCase[]>;
14
+ }
@@ -0,0 +1,58 @@
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.DisplayCaseRepository = void 0;
16
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
17
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
18
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
19
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
20
+ const const_1 = require("../../schema-definitions/const");
21
+ const DisplayCaseModel_1 = require("../../schema-definitions/models/DisplayCaseModel");
22
+ const AbstractFyprRepository_1 = require("./AbstractFyprRepository");
23
+ let DisplayCaseRepository = class DisplayCaseRepository extends AbstractFyprRepository_1.AbstractFyprRepository {
24
+ constructor(connector, logger) {
25
+ super(connector, logger);
26
+ this.logger = logger;
27
+ this.schema = const_1.PG_SCHEMA;
28
+ this.tableName = DisplayCaseModel_1.DisplayCaseModel.tableName;
29
+ this.validator = new golemio_validator_1.JSONSchemaValidator("DisplayCaseRepository", DisplayCaseModel_1.DisplayCaseModel.jsonSchema);
30
+ this.sequelizeModel = connector.getConnection().define(this.tableName, DisplayCaseModel_1.DisplayCaseModel.attributeModel, {
31
+ schema: this.schema,
32
+ });
33
+ }
34
+ async upsertAll(data) {
35
+ try {
36
+ this.validator.Validate(data);
37
+ const upserted = await this.sequelizeModel.bulkCreate(data, {
38
+ updateOnDuplicate: this.getUpdateAttributes(this.sequelizeModel),
39
+ });
40
+ this.logger.info(`${this.constructor.name}.upsertAll: upserted ${upserted.length} DisplayCases.`);
41
+ return upserted;
42
+ }
43
+ catch (err) {
44
+ if (err instanceof golemio_errors_1.GeneralError) {
45
+ throw err;
46
+ }
47
+ throw new golemio_errors_1.GeneralError("Error in upsertAll", this.constructor.name, err);
48
+ }
49
+ }
50
+ };
51
+ exports.DisplayCaseRepository = DisplayCaseRepository;
52
+ exports.DisplayCaseRepository = DisplayCaseRepository = __decorate([
53
+ (0, tsyringe_1.injectable)(),
54
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
55
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
56
+ __metadata("design:paramtypes", [Object, Object])
57
+ ], DisplayCaseRepository);
58
+ //# sourceMappingURL=DisplayCaseRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayCaseRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/DisplayCaseRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,wEAAqE;AACrE,6EAAwE;AACxE,mFAAkF;AAClF,iEAAwE;AACxE,0DAAuC;AACvC,uFAAgE;AAGhE,qEAAkE;AAG3D,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,+CAAsB;IAO7D,YACyC,SAA6B,EACxC,MAAuB;QAEjD,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAFS,WAAM,GAAN,MAAM,CAAS;QAP9C,WAAM,GAAG,iBAAS,CAAC;QACnB,cAAS,GAAG,mCAAgB,CAAC,SAAS,CAAC;QAS1C,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAmB,CAAC,uBAAuB,EAAE,mCAAgB,CAAC,UAAU,CAAC,CAAC;QAC/F,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAgB,CAAC,cAAc,EAAE;YACpG,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,IAAoB;QACvC,IAAI,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE;gBACxD,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAQ;aAC1E,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,wBAAwB,QAAQ,CAAC,MAAM,gBAAgB,CAAC,CAAC;YAElG,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAY,6BAAY,EAAE,CAAC;gBAC9B,MAAM,GAAG,CAAC;YACd,CAAC;YACD,MAAM,IAAI,6BAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;CACJ,CAAA;AAnCY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,qBAAU,GAAE;IASJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IACnC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GATpB,qBAAqB,CAmCjC"}
@@ -0,0 +1,14 @@
1
+ import { ILogger } from "@golemio/core/dist/helpers";
2
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
3
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
4
+ import { IInformationPanel } from "../../schema-definitions/models/interfaces/IInformationPanel";
5
+ import { AbstractFyprRepository } from "./AbstractFyprRepository";
6
+ export declare class InformationPanelRepository extends AbstractFyprRepository {
7
+ private logger;
8
+ validator: JSONSchemaValidator;
9
+ schema: string;
10
+ tableName: string;
11
+ private sequelizeModel;
12
+ constructor(connector: IDatabaseConnector, logger: ILogger);
13
+ upsertAll(data: IInformationPanel[]): Promise<IInformationPanel[]>;
14
+ }
@@ -0,0 +1,58 @@
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.InformationPanelRepository = void 0;
16
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
17
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
18
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
19
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
20
+ const const_1 = require("../../schema-definitions/const");
21
+ const InformationPanelModel_1 = require("../../schema-definitions/models/InformationPanelModel");
22
+ const AbstractFyprRepository_1 = require("./AbstractFyprRepository");
23
+ let InformationPanelRepository = class InformationPanelRepository extends AbstractFyprRepository_1.AbstractFyprRepository {
24
+ constructor(connector, logger) {
25
+ super(connector, logger);
26
+ this.logger = logger;
27
+ this.schema = const_1.PG_SCHEMA;
28
+ this.tableName = InformationPanelModel_1.InformationPanelModel.tableName;
29
+ this.validator = new golemio_validator_1.JSONSchemaValidator("InformationPanelRepository", InformationPanelModel_1.InformationPanelModel.jsonSchema);
30
+ this.sequelizeModel = connector.getConnection().define(this.tableName, InformationPanelModel_1.InformationPanelModel.attributeModel, {
31
+ schema: this.schema,
32
+ });
33
+ }
34
+ async upsertAll(data) {
35
+ try {
36
+ this.validator.Validate(data);
37
+ const upserted = await this.sequelizeModel.bulkCreate(data, {
38
+ updateOnDuplicate: this.getUpdateAttributes(this.sequelizeModel),
39
+ });
40
+ this.logger.info(`${this.constructor.name}.upsertAll: upserted ${upserted.length} InformationPanels.`);
41
+ return upserted;
42
+ }
43
+ catch (err) {
44
+ if (err instanceof golemio_errors_1.GeneralError) {
45
+ throw err;
46
+ }
47
+ throw new golemio_errors_1.GeneralError("Error in upsertAll", this.constructor.name, err);
48
+ }
49
+ }
50
+ };
51
+ exports.InformationPanelRepository = InformationPanelRepository;
52
+ exports.InformationPanelRepository = InformationPanelRepository = __decorate([
53
+ (0, tsyringe_1.injectable)(),
54
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
55
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
56
+ __metadata("design:paramtypes", [Object, Object])
57
+ ], InformationPanelRepository);
58
+ //# sourceMappingURL=InformationPanelRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InformationPanelRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/InformationPanelRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,wEAAqE;AACrE,6EAAwE;AACxE,mFAAkF;AAClF,iEAAwE;AACxE,0DAAuC;AACvC,iGAA0E;AAG1E,qEAAkE;AAG3D,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,+CAAsB;IAOlE,YACyC,SAA6B,EACxC,MAAuB;QAEjD,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAFS,WAAM,GAAN,MAAM,CAAS;QAP9C,WAAM,GAAG,iBAAS,CAAC;QACnB,cAAS,GAAG,6CAAqB,CAAC,SAAS,CAAC;QAS/C,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAmB,CAAC,4BAA4B,EAAE,6CAAqB,CAAC,UAAU,CAAC,CAAC;QACzG,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,6CAAqB,CAAC,cAAc,EAAE;YACzG,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,IAAyB;QAC5C,IAAI,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE;gBACxD,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAQ;aAC1E,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,wBAAwB,QAAQ,CAAC,MAAM,qBAAqB,CAAC,CAAC;YAEvG,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAY,6BAAY,EAAE,CAAC;gBAC9B,MAAM,GAAG,CAAC;YACd,CAAC;YACD,MAAM,IAAI,6BAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;CACJ,CAAA;AAnCY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IASJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IACnC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GATpB,0BAA0B,CAmCtC"}
@@ -0,0 +1,14 @@
1
+ import { ILogger } from "@golemio/core/dist/helpers";
2
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
3
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
4
+ import { IObelisk } from "../../schema-definitions/models/interfaces/IObelisk";
5
+ import { AbstractFyprRepository } from "./AbstractFyprRepository";
6
+ export declare class ObeliskRepository extends AbstractFyprRepository {
7
+ private logger;
8
+ validator: JSONSchemaValidator;
9
+ schema: string;
10
+ tableName: string;
11
+ private sequelizeModel;
12
+ constructor(connector: IDatabaseConnector, logger: ILogger);
13
+ upsertAll(data: IObelisk[]): Promise<IObelisk[]>;
14
+ }