@golemio/parkings 1.6.1 → 1.6.2-dev.1073199149

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 (232) hide show
  1. package/db/example/00_clear_test_data.sql +3 -0
  2. package/db/example/04_tsk_parking_v2.sql +21 -0
  3. package/db/migrations/postgresql/20230918124250-tsk-v-2-parking-sources.js +53 -0
  4. package/db/migrations/postgresql/20230918124259-tsk-v-2-parking-machines.js +53 -0
  5. package/db/migrations/postgresql/20230925090241-tsk-tariffs.js +53 -0
  6. package/db/migrations/postgresql/20231003115645-tsk-v-2-parking-special-access.js +53 -0
  7. package/db/migrations/postgresql/20231108130727-ipt-api-v3-allowed.js +53 -0
  8. package/db/migrations/postgresql/sqls/20230918124250-tsk-v-2-parking-sources-down.sql +1 -0
  9. package/db/migrations/postgresql/sqls/20230918124250-tsk-v-2-parking-sources-up.sql +18 -0
  10. package/db/migrations/postgresql/sqls/20230918124259-tsk-v-2-parking-machines-down.sql +1 -0
  11. package/db/migrations/postgresql/sqls/20230918124259-tsk-v-2-parking-machines-up.sql +15 -0
  12. package/db/migrations/postgresql/sqls/20230925090241-tsk-tariffs-down.sql +4 -0
  13. package/db/migrations/postgresql/sqls/20230925090241-tsk-tariffs-up.sql +4 -0
  14. package/db/migrations/postgresql/sqls/20231003115645-tsk-v-2-parking-special-access-down.sql +1 -0
  15. package/db/migrations/postgresql/sqls/20231003115645-tsk-v-2-parking-special-access-up.sql +1 -0
  16. package/db/migrations/postgresql/sqls/20231108130727-ipt-api-v3-allowed-down.sql +2 -0
  17. package/db/migrations/postgresql/sqls/20231108130727-ipt-api-v3-allowed-up.sql +2 -0
  18. package/dist/helpers/const.d.ts +0 -0
  19. package/dist/helpers/const.js +2 -0
  20. package/dist/helpers/const.js.map +1 -0
  21. package/dist/helpers/data-access/CachedParkingSourcesRepository.d.ts +12 -0
  22. package/dist/helpers/data-access/CachedParkingSourcesRepository.js +40 -0
  23. package/dist/helpers/data-access/CachedParkingSourcesRepository.js.map +1 -0
  24. package/dist/helpers/interfaces/IParkingSource.d.ts +8 -0
  25. package/dist/helpers/interfaces/IParkingSource.js +3 -0
  26. package/dist/helpers/interfaces/IParkingSource.js.map +1 -0
  27. package/dist/input-gateway/controllers/ParkingSourcesController.d.ts +9 -0
  28. package/dist/input-gateway/controllers/ParkingSourcesController.js +40 -0
  29. package/dist/input-gateway/controllers/ParkingSourcesController.js.map +1 -0
  30. package/dist/input-gateway/index.d.ts +2 -0
  31. package/dist/input-gateway/index.js +5 -0
  32. package/dist/input-gateway/index.js.map +1 -1
  33. package/dist/input-gateway/routers/ParkingSourcesRouter.d.ts +12 -0
  34. package/dist/input-gateway/routers/ParkingSourcesRouter.js +39 -0
  35. package/dist/input-gateway/routers/ParkingSourcesRouter.js.map +1 -0
  36. package/dist/integration-engine/ParkingInterface.d.ts +6 -0
  37. package/dist/integration-engine/datasources/TskParkingDataSourceFactory.d.ts +8 -0
  38. package/dist/integration-engine/datasources/TskParkingDataSourceFactory.js +51 -0
  39. package/dist/integration-engine/datasources/TskParkingDataSourceFactory.js.map +1 -0
  40. package/dist/integration-engine/index.d.ts +5 -1
  41. package/dist/integration-engine/index.js +5 -1
  42. package/dist/integration-engine/index.js.map +1 -1
  43. package/dist/integration-engine/ioc/Di.js +27 -1
  44. package/dist/integration-engine/ioc/Di.js.map +1 -1
  45. package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +9 -0
  46. package/dist/integration-engine/ioc/ModuleContainerToken.js +9 -0
  47. package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
  48. package/dist/integration-engine/repositories/ParkingMachinesRepository.d.ts +4 -0
  49. package/dist/integration-engine/repositories/ParkingMachinesRepository.js +35 -0
  50. package/dist/integration-engine/repositories/ParkingMachinesRepository.js.map +1 -0
  51. package/dist/integration-engine/repositories/ParkingSourcesRepository.d.ts +4 -0
  52. package/dist/integration-engine/repositories/ParkingSourcesRepository.js +23 -0
  53. package/dist/integration-engine/repositories/ParkingSourcesRepository.js.map +1 -0
  54. package/dist/integration-engine/transformations/TskParkingMachinesTransformation.d.ts +7 -0
  55. package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js +24 -0
  56. package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js.map +1 -0
  57. package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.d.ts +9 -0
  58. package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.js +42 -0
  59. package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.js.map +1 -0
  60. package/dist/integration-engine/transformations/TskParkingSectionTransformation.d.ts +10 -0
  61. package/dist/integration-engine/transformations/TskParkingSectionTransformation.js +66 -0
  62. package/dist/integration-engine/transformations/TskParkingSectionTransformation.js.map +1 -0
  63. package/dist/integration-engine/transformations/TskParkingZonesTariffsTransformation.d.ts +14 -0
  64. package/dist/integration-engine/transformations/TskParkingZonesTariffsTransformation.js +84 -0
  65. package/dist/integration-engine/transformations/TskParkingZonesTariffsTransformation.js.map +1 -0
  66. package/dist/integration-engine/workers/ParkingSourcesWorker.d.ts +5 -0
  67. package/dist/integration-engine/workers/ParkingSourcesWorker.js +18 -0
  68. package/dist/integration-engine/workers/ParkingSourcesWorker.js.map +1 -0
  69. package/dist/integration-engine/workers/TskParkingWorker.d.ts +5 -0
  70. package/dist/integration-engine/workers/TskParkingWorker.js +31 -0
  71. package/dist/integration-engine/workers/TskParkingWorker.js.map +1 -0
  72. package/dist/integration-engine/workers/schemas/ParkingSourceSchema.d.ts +9 -0
  73. package/dist/integration-engine/workers/schemas/ParkingSourceSchema.js +44 -0
  74. package/dist/integration-engine/workers/schemas/ParkingSourceSchema.js.map +1 -0
  75. package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.d.ts +13 -0
  76. package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.js +31 -0
  77. package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.js.map +1 -0
  78. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.d.ts +15 -0
  79. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.js +40 -0
  80. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.js.map +1 -0
  81. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.d.ts +13 -0
  82. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.js +41 -0
  83. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.js.map +1 -0
  84. package/dist/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.d.ts +11 -0
  85. package/dist/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.js +33 -0
  86. package/dist/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.js.map +1 -0
  87. package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.d.ts +14 -0
  88. package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.js +36 -0
  89. package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.js.map +1 -0
  90. package/dist/output-gateway/controllers/v3/V3ParkingController.d.ts +9 -0
  91. package/dist/output-gateway/controllers/v3/V3ParkingController.js +79 -0
  92. package/dist/output-gateway/controllers/v3/V3ParkingController.js.map +1 -0
  93. package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.d.ts +9 -0
  94. package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.js +78 -0
  95. package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.js.map +1 -0
  96. package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.d.ts +9 -0
  97. package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.js +70 -0
  98. package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.js.map +1 -0
  99. package/dist/output-gateway/data-access/ParkingMachinesRepository.d.ts +10 -0
  100. package/dist/output-gateway/data-access/ParkingMachinesRepository.js +101 -0
  101. package/dist/output-gateway/data-access/ParkingMachinesRepository.js.map +1 -0
  102. package/dist/output-gateway/data-access/ParkingRepository.d.ts +14 -0
  103. package/dist/output-gateway/data-access/ParkingRepository.js +141 -0
  104. package/dist/output-gateway/data-access/ParkingRepository.js.map +1 -0
  105. package/dist/output-gateway/data-access/TariffRepository.d.ts +10 -0
  106. package/dist/output-gateway/data-access/TariffRepository.js +99 -0
  107. package/dist/output-gateway/data-access/TariffRepository.js.map +1 -0
  108. package/dist/output-gateway/helpers/params/IPaginationParams.d.ts +4 -0
  109. package/dist/output-gateway/helpers/params/IPaginationParams.js +3 -0
  110. package/dist/output-gateway/helpers/params/IPaginationParams.js.map +1 -0
  111. package/dist/output-gateway/helpers/params/IParkingMachinesParams.d.ts +9 -0
  112. package/dist/output-gateway/helpers/params/IParkingMachinesParams.js +3 -0
  113. package/dist/output-gateway/helpers/params/IParkingMachinesParams.js.map +1 -0
  114. package/dist/output-gateway/helpers/params/IParkingParams.d.ts +10 -0
  115. package/dist/output-gateway/helpers/params/IParkingParams.js +3 -0
  116. package/dist/output-gateway/helpers/params/IParkingParams.js.map +1 -0
  117. package/dist/output-gateway/helpers/params/IParkingTariffsParams.d.ts +7 -0
  118. package/dist/output-gateway/helpers/params/IParkingTariffsParams.js +3 -0
  119. package/dist/output-gateway/helpers/params/IParkingTariffsParams.js.map +1 -0
  120. package/dist/output-gateway/index.js +9 -1
  121. package/dist/output-gateway/index.js.map +1 -1
  122. package/dist/output-gateway/ioc/Di.d.ts +3 -0
  123. package/dist/output-gateway/ioc/Di.js +30 -0
  124. package/dist/output-gateway/ioc/Di.js.map +1 -0
  125. package/dist/output-gateway/ioc/ModuleContainerToken.d.ts +9 -0
  126. package/dist/output-gateway/ioc/ModuleContainerToken.js +13 -0
  127. package/dist/output-gateway/ioc/ModuleContainerToken.js.map +1 -0
  128. package/dist/output-gateway/models/ParkingsLocationModel.d.ts +1 -1
  129. package/dist/output-gateway/models/ParkingsLocationModel.js +19 -5
  130. package/dist/output-gateway/models/ParkingsLocationModel.js.map +1 -1
  131. package/dist/output-gateway/models/ParkingsModel.d.ts +6 -4
  132. package/dist/output-gateway/models/ParkingsModel.js +46 -10
  133. package/dist/output-gateway/models/ParkingsModel.js.map +1 -1
  134. package/dist/output-gateway/models/ParkingsTariffsModel.d.ts +5 -1
  135. package/dist/output-gateway/models/ParkingsTariffsModel.js +17 -2
  136. package/dist/output-gateway/models/ParkingsTariffsModel.js.map +1 -1
  137. package/dist/output-gateway/models/index.js +4 -2
  138. package/dist/output-gateway/models/index.js.map +1 -1
  139. package/dist/output-gateway/routers/constants.d.ts +2 -1
  140. package/dist/output-gateway/routers/constants.js +1 -0
  141. package/dist/output-gateway/routers/constants.js.map +1 -1
  142. package/dist/output-gateway/routers/index.d.ts +3 -0
  143. package/dist/output-gateway/routers/index.js +3 -0
  144. package/dist/output-gateway/routers/index.js.map +1 -1
  145. package/dist/output-gateway/routers/v2/V2ParkingRouter.js +25 -4
  146. package/dist/output-gateway/routers/v2/V2ParkingRouter.js.map +1 -1
  147. package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.d.ts +3 -0
  148. package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js +43 -0
  149. package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js.map +1 -0
  150. package/dist/output-gateway/routers/v3/V3ParkingRouter.d.ts +3 -0
  151. package/dist/output-gateway/routers/v3/V3ParkingRouter.js +57 -0
  152. package/dist/output-gateway/routers/v3/V3ParkingRouter.js.map +1 -0
  153. package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.d.ts +3 -0
  154. package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.js +31 -0
  155. package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.js.map +1 -0
  156. package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.d.ts +8 -0
  157. package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.js +56 -0
  158. package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.js.map +1 -0
  159. package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.d.ts +27 -0
  160. package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.js +3 -0
  161. package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.js.map +1 -0
  162. package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.d.ts +9 -0
  163. package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js +68 -0
  164. package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js.map +1 -0
  165. package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.d.ts +8 -0
  166. package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js +35 -0
  167. package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js.map +1 -0
  168. package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.d.ts +11 -0
  169. package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.js +88 -0
  170. package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.js.map +1 -0
  171. package/dist/schema-definitions/datasources/InputParkingSourceSchema.d.ts +3 -0
  172. package/dist/schema-definitions/datasources/InputParkingSourceSchema.js +17 -0
  173. package/dist/schema-definitions/datasources/InputParkingSourceSchema.js.map +1 -0
  174. package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.d.ts +111 -3
  175. package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.js +16 -0
  176. package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.js.map +1 -1
  177. package/dist/schema-definitions/datasources/TskParkingMachinesSchema.d.ts +3 -0
  178. package/dist/schema-definitions/datasources/TskParkingMachinesSchema.js +23 -0
  179. package/dist/schema-definitions/datasources/TskParkingMachinesSchema.js.map +1 -0
  180. package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.d.ts +3 -0
  181. package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.js +25 -0
  182. package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.js.map +1 -0
  183. package/dist/schema-definitions/datasources/TskParkingSectionSchema.d.ts +3 -0
  184. package/dist/schema-definitions/datasources/TskParkingSectionSchema.js +23 -0
  185. package/dist/schema-definitions/datasources/TskParkingSectionSchema.js.map +1 -0
  186. package/dist/schema-definitions/datasources/TskParkingZoneTariffSchema.d.ts +3 -0
  187. package/dist/schema-definitions/datasources/TskParkingZoneTariffSchema.js +105 -0
  188. package/dist/schema-definitions/datasources/TskParkingZoneTariffSchema.js.map +1 -0
  189. package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.d.ts +9 -0
  190. package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.js +3 -0
  191. package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.js.map +1 -0
  192. package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.d.ts +9 -0
  193. package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.js +3 -0
  194. package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.js.map +1 -0
  195. package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.d.ts +11 -0
  196. package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.js +3 -0
  197. package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.js.map +1 -0
  198. package/dist/schema-definitions/datasources/interfaces/ITskParkingZoneTariff.d.ts +57 -0
  199. package/dist/schema-definitions/datasources/interfaces/ITskParkingZoneTariff.js +3 -0
  200. package/dist/schema-definitions/datasources/interfaces/ITskParkingZoneTariff.js.map +1 -0
  201. package/dist/schema-definitions/index.d.ts +3 -0
  202. package/dist/schema-definitions/index.js +8 -0
  203. package/dist/schema-definitions/index.js.map +1 -1
  204. package/dist/schema-definitions/models/ParkingMachinesModel.d.ts +14 -0
  205. package/dist/schema-definitions/models/ParkingMachinesModel.js +21 -0
  206. package/dist/schema-definitions/models/ParkingMachinesModel.js.map +1 -0
  207. package/dist/schema-definitions/models/ParkingSourcesModel.d.ts +12 -0
  208. package/dist/schema-definitions/models/ParkingSourcesModel.js +20 -0
  209. package/dist/schema-definitions/models/ParkingSourcesModel.js.map +1 -0
  210. package/dist/schema-definitions/models/interfaces/IAddress.d.ts +8 -0
  211. package/dist/schema-definitions/models/interfaces/IAddress.js +3 -0
  212. package/dist/schema-definitions/models/interfaces/IAddress.js.map +1 -0
  213. package/dist/schema-definitions/models/interfaces/IParking.d.ts +28 -0
  214. package/dist/schema-definitions/models/interfaces/IParking.js +3 -0
  215. package/dist/schema-definitions/models/interfaces/IParking.js.map +1 -0
  216. package/dist/schema-definitions/models/interfaces/IParkingLocation.d.ts +13 -0
  217. package/dist/schema-definitions/models/interfaces/IParkingLocation.js +3 -0
  218. package/dist/schema-definitions/models/interfaces/IParkingLocation.js.map +1 -0
  219. package/dist/schema-definitions/models/interfaces/IParkingMachine.d.ts +10 -0
  220. package/dist/schema-definitions/models/interfaces/IParkingMachine.js +3 -0
  221. package/dist/schema-definitions/models/interfaces/IParkingMachine.js.map +1 -0
  222. package/dist/schema-definitions/{datasources → models}/interfaces/IParkingTariffDto.d.ts +8 -2
  223. package/dist/schema-definitions/models/interfaces/IParkingTariffDto.js.map +1 -0
  224. package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.d.ts +6 -0
  225. package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.js +3 -0
  226. package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.js.map +1 -0
  227. package/docs/implementation-documentation.md +116 -13
  228. package/docs/openapi-admin-input.yaml +90 -0
  229. package/docs/openapi-output.yaml +891 -58
  230. package/package.json +5 -3
  231. package/dist/schema-definitions/datasources/interfaces/IParkingTariffDto.js.map +0 -1
  232. /package/dist/schema-definitions/{datasources → models}/interfaces/IParkingTariffDto.js +0 -0
@@ -0,0 +1,8 @@
1
+ import { DataSource } from "@golemio/core/dist/integration-engine/datasources";
2
+ import { IConfiguration } from "@golemio/core/dist/integration-engine/config";
3
+ export declare class TskParkingDataSourceFactory {
4
+ private config;
5
+ private schemas;
6
+ constructor(config: IConfiguration);
7
+ getDataSource(endpoint: string): DataSource;
8
+ }
@@ -0,0 +1,51 @@
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.TskParkingDataSourceFactory = void 0;
16
+ const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
17
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
18
+ const TskParkingMachinesSchema_1 = require("../../schema-definitions/datasources/TskParkingMachinesSchema");
19
+ const TskParkingSectionLevelSchema_1 = require("../../schema-definitions/datasources/TskParkingSectionLevelSchema");
20
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
21
+ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
22
+ const TskParkingSectionSchema_1 = require("../../schema-definitions/datasources/TskParkingSectionSchema");
23
+ const TskParkingZoneTariffSchema_1 = require("../../schema-definitions/datasources/TskParkingZoneTariffSchema");
24
+ let TskParkingDataSourceFactory = exports.TskParkingDataSourceFactory = class TskParkingDataSourceFactory {
25
+ constructor(config) {
26
+ this.config = config;
27
+ this.schemas = {
28
+ parkingSections: TskParkingSectionSchema_1.TskParkingSectionSchema,
29
+ parkingSectionLevel251: TskParkingSectionLevelSchema_1.TskParkingSectionLevelSchema,
30
+ parkingSectionLevel253: TskParkingSectionLevelSchema_1.TskParkingSectionLevelSchema,
31
+ parkingMachines: TskParkingMachinesSchema_1.TskParkingMachinesSchema,
32
+ parkingTariffs: TskParkingZoneTariffSchema_1.TskParkingZoneTariffSchema,
33
+ };
34
+ }
35
+ getDataSource(endpoint) {
36
+ const authToken = Buffer.from(this.config.datasources.parking.TskApiCredentials.user + ":" + this.config.datasources.parking.TskApiCredentials.pass).toString("base64");
37
+ return new datasources_1.DataSource(this.schemas[endpoint].name + "DataSource", new datasources_1.HTTPProtocolStrategy({
38
+ headers: {
39
+ Authorization: `Basic ${authToken}`,
40
+ },
41
+ method: "GET",
42
+ url: this.config.datasources.parking.TskApiBaseUrl + this.config.datasources.parking.TskApiEndpoints[endpoint],
43
+ }), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(this.schemas[endpoint].name, this.schemas[endpoint].jsonSchema));
44
+ }
45
+ };
46
+ exports.TskParkingDataSourceFactory = TskParkingDataSourceFactory = __decorate([
47
+ (0, tsyringe_1.injectable)(),
48
+ __param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
49
+ __metadata("design:paramtypes", [Object])
50
+ ], TskParkingDataSourceFactory);
51
+ //# sourceMappingURL=TskParkingDataSourceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TskParkingDataSourceFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/TskParkingDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mFAA2H;AAC3H,mFAAkF;AAElF,4GAAqF;AACrF,oHAA6F;AAC7F,iEAAwE;AACxE,mEAA2E;AAC3E,0GAAmF;AACnF,gHAAyF;AAUlF,IAAM,2BAA2B,yCAAjC,MAAM,2BAA2B;IASpC,YAA2C,MAA8B;QAAtB,WAAM,GAAN,MAAM,CAAgB;QARjE,YAAO,GAAsB;YACjC,eAAe,EAAE,iDAAuB;YACxC,sBAAsB,EAAE,2DAA4B;YACpD,sBAAsB,EAAE,2DAA4B;YACpD,eAAe,EAAE,mDAAwB;YACzC,cAAc,EAAE,uDAA0B;SAC7C,CAAC;IAE0E,CAAC;IAEtE,aAAa,CAAC,QAAgB;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CACzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CACxH,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErB,OAAO,IAAI,wBAAU,CACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,kCAAoB,CAAC;YACrB,OAAO,EAAE;gBACL,aAAa,EAAE,SAAS,SAAS,EAAE;aACtC;YACD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC;SACjH,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAC1F,CAAC;IACN,CAAC;CACJ,CAAA;sCA7BY,2BAA2B;IADvC,IAAA,qBAAU,GAAE;IAUI,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;;GATjC,2BAA2B,CA6BvC"}
@@ -1,6 +1,8 @@
1
1
  import { StaticTariffsWorker } from "./workers/StaticTariffsWorker";
2
2
  import { UpdateAddressWorker } from "./workers/UpdateAddressWorker";
3
3
  import { NewParkingsWorker } from "./workers/NewParkingsWorker";
4
+ import { TskParkingWorker } from "./workers/TskParkingWorker";
5
+ import { ParkingSourcesWorker } from "./workers/ParkingSourcesWorker";
4
6
  export * from "./ParkingsWorker";
5
7
  export * from "./transformations/KoridParkingDataTransformation";
6
8
  export * from "./transformations/KoridParkingConfigTransformation";
@@ -9,4 +11,6 @@ export * from "./ZtpParkingZones/ZtpParkingZonesDataSourceFactory";
9
11
  export * from "./ZtpParkingZones/ZtpParkingZonesTransformation";
10
12
  export * from "./ZtpParkingZones/ZtpParkingZonesWorker";
11
13
  export * from "./workers/StaticTariffsWorker";
12
- export declare const workers: (typeof StaticTariffsWorker | typeof UpdateAddressWorker | typeof NewParkingsWorker)[];
14
+ export * from "./workers/TskParkingWorker";
15
+ export * from "./workers/ParkingSourcesWorker";
16
+ export declare const workers: (typeof StaticTariffsWorker | typeof UpdateAddressWorker | typeof NewParkingsWorker | typeof TskParkingWorker | typeof ParkingSourcesWorker)[];
@@ -19,6 +19,8 @@ exports.workers = void 0;
19
19
  const StaticTariffsWorker_1 = require("./workers/StaticTariffsWorker");
20
20
  const UpdateAddressWorker_1 = require("./workers/UpdateAddressWorker");
21
21
  const NewParkingsWorker_1 = require("./workers/NewParkingsWorker");
22
+ const TskParkingWorker_1 = require("./workers/TskParkingWorker");
23
+ const ParkingSourcesWorker_1 = require("./workers/ParkingSourcesWorker");
22
24
  __exportStar(require("./ParkingsWorker"), exports);
23
25
  __exportStar(require("./transformations/KoridParkingDataTransformation"), exports);
24
26
  __exportStar(require("./transformations/KoridParkingConfigTransformation"), exports);
@@ -27,5 +29,7 @@ __exportStar(require("./ZtpParkingZones/ZtpParkingZonesDataSourceFactory"), expo
27
29
  __exportStar(require("./ZtpParkingZones/ZtpParkingZonesTransformation"), exports);
28
30
  __exportStar(require("./ZtpParkingZones/ZtpParkingZonesWorker"), exports);
29
31
  __exportStar(require("./workers/StaticTariffsWorker"), exports);
30
- exports.workers = [StaticTariffsWorker_1.StaticTariffsWorker, UpdateAddressWorker_1.UpdateAddressWorker, NewParkingsWorker_1.NewParkingsWorker];
32
+ __exportStar(require("./workers/TskParkingWorker"), exports);
33
+ __exportStar(require("./workers/ParkingSourcesWorker"), exports);
34
+ exports.workers = [StaticTariffsWorker_1.StaticTariffsWorker, UpdateAddressWorker_1.UpdateAddressWorker, NewParkingsWorker_1.NewParkingsWorker, TskParkingWorker_1.TskParkingWorker, ParkingSourcesWorker_1.ParkingSourcesWorker];
31
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,uEAAsE;AACtE,uEAAsE;AACtE,mEAAgE;AAEhE,mDAAiC;AACjC,mFAAiE;AACjE,qFAAmE;AACnE,qDAAmC;AACnC,qFAAmE;AACnE,kFAAgE;AAChE,0EAAwD;AACxD,gEAA8C;AAEjC,QAAA,OAAO,GAAG,CAAC,yCAAmB,EAAE,yCAAmB,EAAE,qCAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,uEAAsE;AACtE,uEAAsE;AACtE,mEAAgE;AAChE,iEAAgE;AAChE,yEAAwE;AAExE,mDAAiC;AACjC,mFAAiE;AACjE,qFAAmE;AACnE,qDAAmC;AACnC,qFAAmE;AACnE,kFAAgE;AAChE,0EAAwD;AACxD,gEAA8C;AAC9C,6DAA2C;AAC3C,iEAA+C;AAElC,QAAA,OAAO,GAAG,CAAC,yCAAmB,EAAE,yCAAmB,EAAE,qCAAiB,EAAE,mCAAgB,EAAE,2CAAoB,CAAC,CAAC"}
@@ -2,25 +2,51 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ParkingsContainer = void 0;
4
4
  const TskTariffChecker_1 = require("../businessRules/TskTariffChecker");
5
+ const TskParkingDataSourceFactory_1 = require("../datasources/TskParkingDataSourceFactory");
6
+ const ParkingMachinesRepository_1 = require("../repositories/ParkingMachinesRepository");
5
7
  const ParkingTariffsRepository_1 = require("../repositories/ParkingTariffsRepository");
6
8
  const ParkingsBusinessErrorsRepository_1 = require("../repositories/ParkingsBusinessErrorsRepository");
9
+ const ParkingsLocationRepository_1 = require("../repositories/ParkingsLocationRepository");
7
10
  const ParkingsRepository_1 = require("../repositories/ParkingsRepository");
8
11
  const ParkingsRedisModel_1 = require("../repositories/redis/ParkingsRedisModel");
12
+ const TskParkingMachinesTransformation_1 = require("../transformations/TskParkingMachinesTransformation");
13
+ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
9
14
  const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
15
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
10
16
  const ModuleContainerToken_1 = require("./ModuleContainerToken");
11
17
  //#region Initialization
12
18
  const parkingsContainer = Di_1.IntegrationEngineContainer.createChildContainer();
13
19
  exports.ParkingsContainer = parkingsContainer;
20
+ const config = Di_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.Config);
21
+ const parkingDataSourceFactory = new TskParkingDataSourceFactory_1.TskParkingDataSourceFactory(config);
14
22
  //#endregion
15
23
  //#region Datasource
24
+ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionLevel251DataSource, {
25
+ useFactory: (0, tsyringe_1.instanceCachingFactory)(() => parkingDataSourceFactory.getDataSource("parkingSectionLevel251")),
26
+ });
27
+ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionLevel253DataSource, {
28
+ useFactory: (0, tsyringe_1.instanceCachingFactory)(() => parkingDataSourceFactory.getDataSource("parkingSectionLevel253")),
29
+ });
30
+ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionsDataSource, {
31
+ useFactory: (0, tsyringe_1.instanceCachingFactory)(() => parkingDataSourceFactory.getDataSource("parkingSections")),
32
+ });
33
+ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingMachinesDataSource, {
34
+ useFactory: (0, tsyringe_1.instanceCachingFactory)(() => parkingDataSourceFactory.getDataSource("parkingMachines")),
35
+ });
36
+ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingZonesTariffsDataSource, {
37
+ useFactory: (0, tsyringe_1.instanceCachingFactory)(() => parkingDataSourceFactory.getDataSource("parkingTariffs")),
38
+ });
16
39
  //#endregion
17
40
  //#region Transformation
41
+ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingMachinesTransformation, TskParkingMachinesTransformation_1.TskParkingMachinesTransformation);
18
42
  //#endregion
19
43
  //#region Repositories
20
44
  parkingsContainer
21
45
  .register(ModuleContainerToken_1.ModuleContainerToken.ParkingsRepository, ParkingsRepository_1.ParkingsRepository)
46
+ .register(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationRepository, ParkingsLocationRepository_1.ParkingsLocationRepository)
22
47
  .register(ModuleContainerToken_1.ModuleContainerToken.ParkingTariffsRepository, ParkingTariffsRepository_1.ParkingTariffsRepository)
23
- .register(ModuleContainerToken_1.ModuleContainerToken.ParkingsBusinessErrorsRepository, ParkingsBusinessErrorsRepository_1.ParkingsBusinessErrorsRepository);
48
+ .register(ModuleContainerToken_1.ModuleContainerToken.ParkingsBusinessErrorsRepository, ParkingsBusinessErrorsRepository_1.ParkingsBusinessErrorsRepository)
49
+ .register(ModuleContainerToken_1.ModuleContainerToken.ParkingMachinesRepository, ParkingMachinesRepository_1.ParkingMachinesRepository);
24
50
  parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.RedisModel, ParkingsRedisModel_1.ParkingsRedisModel);
25
51
  //#endregion
26
52
  //#region Helpers
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,wEAAsE;AACtE,uFAAqF;AACrF,uGAAqG;AACrG,2EAAyE;AACzE,iFAA+E;AAC/E,qEAA0F;AAC1F,iEAA8D;AAG9D,wBAAwB;AACxB,MAAM,iBAAiB,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAwBnE,8CAAiB;AAvB/C,YAAY;AAEZ,oBAAoB;AACpB,YAAY;AAEZ,wBAAwB;AACxB,YAAY;AAEZ,sBAAsB;AACtB,iBAAiB;KACZ,QAAQ,CAAC,2CAAoB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC;KACrE,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC;KACjF,QAAQ,CAAC,2CAAoB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AACvG,iBAAiB,CAAC,QAAQ,CAAqB,2CAAoB,CAAC,UAAU,EAAE,uCAAkB,CAAC,CAAC;AACpG,YAAY;AAEZ,iBAAiB;AACjB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,wEAAsE;AACtE,4FAA0F;AAC1F,yFAAuF;AACvF,uFAAqF;AACrF,uGAAqG;AACrG,2FAAyF;AACzF,2EAAyE;AACzE,iFAA+E;AAC/E,0GAAwG;AAOxG,mEAA2E;AAC3E,qEAA0F;AAC1F,iEAAiG;AACjG,iEAA8D;AAE9D,wBAAwB;AACxB,MAAM,iBAAiB,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAmDnE,8CAAiB;AAlD/C,MAAM,MAAM,GAAG,+BAA0B,CAAC,OAAO,CAAiB,oBAAc,CAAC,MAAM,CAAC,CAAC;AACzF,MAAM,wBAAwB,GAAG,IAAI,yDAA2B,CAAC,MAAM,CAAC,CAAC;AACzE,YAAY;AAEZ,oBAAoB;AACpB,iBAAiB,CAAC,QAAQ,CAAsC,2CAAoB,CAAC,mCAAmC,EAAE;IACtH,UAAU,EAAE,IAAA,iCAAsB,EAAsC,GAAG,EAAE,CACzE,wBAAwB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CACnE;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAsC,2CAAoB,CAAC,mCAAmC,EAAE;IACtH,UAAU,EAAE,IAAA,iCAAsB,EAAsC,GAAG,EAAE,CACzE,wBAAwB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CACnE;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAiC,2CAAoB,CAAC,4BAA4B,EAAE;IAC1G,UAAU,EAAE,IAAA,iCAAsB,EAAiC,GAAG,EAAE,CACpE,wBAAwB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAC5D;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAiC,2CAAoB,CAAC,4BAA4B,EAAE;IAC1G,UAAU,EAAE,IAAA,iCAAsB,EAAiC,GAAG,EAAE,CACpE,wBAAwB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAC5D;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAsC,2CAAoB,CAAC,gCAAgC,EAAE;IACnH,UAAU,EAAE,IAAA,iCAAsB,EAAsC,GAAG,EAAE,CACzE,wBAAwB,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAC3D;CACJ,CAAC,CAAC;AACH,YAAY;AAEZ,wBAAwB;AACxB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AACpH,YAAY;AAEZ,sBAAsB;AACtB,iBAAiB;KACZ,QAAQ,CAAC,2CAAoB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC;KACrE,QAAQ,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC;KACrF,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC;KACjF,QAAQ,CAAC,2CAAoB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC;KACjG,QAAQ,CAAC,2CAAoB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACzF,iBAAiB,CAAC,QAAQ,CAAqB,2CAAoB,CAAC,UAAU,EAAE,uCAAkB,CAAC,CAAC;AACpG,YAAY;AAEZ,iBAAiB;AACjB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC"}
@@ -2,7 +2,16 @@ declare const ModuleContainerToken: {
2
2
  TskTariffChecker: symbol;
3
3
  RedisModel: symbol;
4
4
  ParkingsRepository: symbol;
5
+ ParkingsLocationRepository: symbol;
5
6
  ParkingTariffsRepository: symbol;
6
7
  ParkingsBusinessErrorsRepository: symbol;
8
+ ParkingMachinesRepository: symbol;
9
+ TskParkingMachinesDataSource: symbol;
10
+ TskParkingMachinesTransformation: symbol;
11
+ TskParkingSectionLevel251DataSource: symbol;
12
+ TskParkingSectionLevel253DataSource: symbol;
13
+ TskParkingSectionsDataSource: symbol;
14
+ TskParkingSectionTransformation: symbol;
15
+ TskParkingZonesTariffsDataSource: symbol;
7
16
  };
8
17
  export { ModuleContainerToken };
@@ -5,8 +5,17 @@ const ModuleContainerToken = {
5
5
  TskTariffChecker: Symbol(),
6
6
  RedisModel: Symbol(),
7
7
  ParkingsRepository: Symbol(),
8
+ ParkingsLocationRepository: Symbol(),
8
9
  ParkingTariffsRepository: Symbol(),
9
10
  ParkingsBusinessErrorsRepository: Symbol(),
11
+ ParkingMachinesRepository: Symbol(),
12
+ TskParkingMachinesDataSource: Symbol(),
13
+ TskParkingMachinesTransformation: Symbol(),
14
+ TskParkingSectionLevel251DataSource: Symbol(),
15
+ TskParkingSectionLevel253DataSource: Symbol(),
16
+ TskParkingSectionsDataSource: Symbol(),
17
+ TskParkingSectionTransformation: Symbol(),
18
+ TskParkingZonesTariffsDataSource: Symbol("TskParkingZonesTariffsDataSource"),
10
19
  };
11
20
  exports.ModuleContainerToken = ModuleContainerToken;
12
21
  //# sourceMappingURL=ModuleContainerToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,UAAU,EAAE,MAAM,EAAE;IACpB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,wBAAwB,EAAE,MAAM,EAAE;IAClC,gCAAgC,EAAE,MAAM,EAAE;CAC7C,CAAC;AACO,oDAAoB"}
1
+ {"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,UAAU,EAAE,MAAM,EAAE;IACpB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,0BAA0B,EAAE,MAAM,EAAE;IACpC,wBAAwB,EAAE,MAAM,EAAE;IAClC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,yBAAyB,EAAE,MAAM,EAAE;IAEnC,4BAA4B,EAAE,MAAM,EAAE;IACtC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,4BAA4B,EAAE,MAAM,EAAE;IACtC,+BAA+B,EAAE,MAAM,EAAE;IAEzC,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;CAC/E,CAAC;AACO,oDAAoB"}
@@ -0,0 +1,4 @@
1
+ import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
2
+ export declare class ParkingMachinesRepository extends PostgresModel implements IModel {
3
+ constructor();
4
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ParkingMachinesRepository = void 0;
7
+ const models_1 = require("@golemio/core/dist/integration-engine/models");
8
+ const _sch_1 = require("../../schema-definitions");
9
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
10
+ const TskParkingMachinesSchema_1 = require("../../schema-definitions/datasources/TskParkingMachinesSchema");
11
+ const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
12
+ class ParkingMachinesRepository extends models_1.PostgresModel {
13
+ constructor() {
14
+ const parkingMachines = {
15
+ id: {
16
+ primaryKey: true,
17
+ type: sequelize_1.default.STRING,
18
+ },
19
+ source: sequelize_1.default.STRING,
20
+ code: sequelize_1.default.STRING,
21
+ type: sequelize_1.default.STRING,
22
+ location: sequelize_1.default.GEOMETRY,
23
+ validFrom: sequelize_1.default.DATE,
24
+ tariffId: sequelize_1.default.STRING,
25
+ };
26
+ super("ParkingMachinesRepository", {
27
+ outputSequelizeAttributes: parkingMachines,
28
+ pgSchema: _sch_1.Parkings.pgSchema,
29
+ pgTableName: "parking_machines",
30
+ savingType: "insertOrUpdate",
31
+ }, new golemio_validator_1.JSONSchemaValidator("ParkingMachinesRepositoryValidator", TskParkingMachinesSchema_1.TskParkingMachinesSchema));
32
+ }
33
+ }
34
+ exports.ParkingMachinesRepository = ParkingMachinesRepository;
35
+ //# sourceMappingURL=ParkingMachinesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkingMachinesRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkingMachinesRepository.ts"],"names":[],"mappings":";;;;;;AAAA,yEAAqF;AACrF,mDAAgC;AAChC,mFAAkF;AAClF,4GAAqF;AACrF,oFAA4D;AAE5D,MAAa,yBAA0B,SAAQ,sBAAa;IACxD;QACI,MAAM,eAAe,GAA8B;YAC/C,EAAE,EAAE;gBACA,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,mBAAS,CAAC,MAAM;aACzB;YACD,MAAM,EAAE,mBAAS,CAAC,MAAM;YACxB,IAAI,EAAE,mBAAS,CAAC,MAAM;YACtB,IAAI,EAAE,mBAAS,CAAC,MAAM;YACtB,QAAQ,EAAE,mBAAS,CAAC,QAAQ;YAC5B,SAAS,EAAE,mBAAS,CAAC,IAAI;YACzB,QAAQ,EAAE,mBAAS,CAAC,MAAM;SAC7B,CAAC;QAEF,KAAK,CACD,2BAA2B,EAC3B;YACI,yBAAyB,EAAE,eAAe;YAC1C,QAAQ,EAAE,eAAQ,CAAC,QAAQ;YAC3B,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,oCAAoC,EAAE,mDAAwB,CAAC,CAC1F,CAAC;IACN,CAAC;CACJ;AA1BD,8DA0BC"}
@@ -0,0 +1,4 @@
1
+ import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine";
2
+ export declare class ParkingSourcesRepository extends PostgresModel implements IModel {
3
+ constructor();
4
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParkingSourcesRepository = void 0;
4
+ const _sch_1 = require("../../schema-definitions");
5
+ const ParkingSourcesModel_1 = require("../../schema-definitions/models/ParkingSourcesModel");
6
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
7
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
8
+ const InputParkingSourceSchema_1 = require("../../schema-definitions/datasources/InputParkingSourceSchema");
9
+ class ParkingSourcesRepository extends integration_engine_1.PostgresModel {
10
+ constructor() {
11
+ super("IEParkingSourcesRepository", {
12
+ outputSequelizeAttributes: ParkingSourcesModel_1.ParkingSourcesModel.attributeModel,
13
+ pgSchema: _sch_1.Parkings.pgSchema,
14
+ pgTableName: ParkingSourcesModel_1.ParkingSourcesModel.tableName,
15
+ savingType: "insertOrUpdate",
16
+ sequelizeAdditionalSettings: {
17
+ timestamps: false,
18
+ },
19
+ }, new golemio_validator_1.JSONSchemaValidator("ParkingSourcePgModelValidator", InputParkingSourceSchema_1.InputParkingSourceSchema));
20
+ }
21
+ }
22
+ exports.ParkingSourcesRepository = ParkingSourcesRepository;
23
+ //# sourceMappingURL=ParkingSourcesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkingSourcesRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkingSourcesRepository.ts"],"names":[],"mappings":";;;AAAA,mDAAgC;AAChC,6FAAsE;AACtE,8EAA8E;AAC9E,mFAAkF;AAClF,4GAAqF;AAErF,MAAa,wBAAyB,SAAQ,kCAAa;IACvD;QACI,KAAK,CACD,4BAA4B,EAC5B;YACI,yBAAyB,EAAE,yCAAmB,CAAC,cAAc;YAC7D,QAAQ,EAAE,eAAQ,CAAC,QAAQ;YAC3B,WAAW,EAAE,yCAAmB,CAAC,SAAS;YAC1C,UAAU,EAAE,gBAAgB;YAC5B,2BAA2B,EAAE;gBACzB,UAAU,EAAE,KAAK;aACpB;SACJ,EACD,IAAI,uCAAmB,CAAC,+BAA+B,EAAE,mDAAwB,CAAC,CACrF,CAAC;IACN,CAAC;CACJ;AAhBD,4DAgBC"}
@@ -0,0 +1,7 @@
1
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
2
+ import { ITskParkingMachine } from "../../schema-definitions/datasources/interfaces/ITskParkingMachine";
3
+ import { IParkingMachine } from "../../schema-definitions/models/interfaces/IParkingMachine";
4
+ export declare class TskParkingMachinesTransformation extends AbstractTransformation<ITskParkingMachine, IParkingMachine> {
5
+ name: string;
6
+ transformInternal: (tskParkingMachine: ITskParkingMachine) => IParkingMachine;
7
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TskParkingMachinesTransformation = void 0;
4
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
5
+ const wkt_1 = require("@terraformer/wkt");
6
+ class TskParkingMachinesTransformation extends AbstractTransformation_1.AbstractTransformation {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.name = "TskParkingMachinesTransformation";
10
+ this.transformInternal = (tskParkingMachine) => {
11
+ return {
12
+ id: tskParkingMachine.idParkMachine,
13
+ source: "tsk_v2",
14
+ code: tskParkingMachine.code,
15
+ type: tskParkingMachine.idStatus == 5 || tskParkingMachine.idStatus == 6 ? "info_box" : "payment_machine",
16
+ location: (0, wkt_1.wktToGeoJSON)(tskParkingMachine.positionWKT),
17
+ validFrom: new Date(tskParkingMachine.activeFrom),
18
+ tariffId: tskParkingMachine.idTariff,
19
+ };
20
+ };
21
+ }
22
+ }
23
+ exports.TskParkingMachinesTransformation = TskParkingMachinesTransformation;
24
+ //# sourceMappingURL=TskParkingMachinesTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TskParkingMachinesTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingMachinesTransformation.ts"],"names":[],"mappings":";;;AAAA,6GAA0G;AAI1G,0CAAgD;AAEhD,MAAa,gCAAiC,SAAQ,+CAA2D;IAAjH;;QACW,SAAI,GAAW,kCAAkC,CAAC;QAEzD,sBAAiB,GAAG,CAAC,iBAAqC,EAAmB,EAAE;YAC3E,OAAO;gBACH,EAAE,EAAE,iBAAiB,CAAC,aAAa;gBACnC,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,iBAAiB,CAAC,IAAI;gBAC5B,IAAI,EAAE,iBAAiB,CAAC,QAAQ,IAAI,CAAC,IAAI,iBAAiB,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB;gBACzG,QAAQ,EAAE,IAAA,kBAAY,EAAC,iBAAiB,CAAC,WAAW,CAAa;gBACjE,SAAS,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;gBACjD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;aACvC,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AAdD,4EAcC"}
@@ -0,0 +1,9 @@
1
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
2
+ import { IParkingLocation } from "../ParkingInterface";
3
+ import { ITskParkingSectionLevel } from "../../schema-definitions/datasources/interfaces/ITskParkingSectionLevel";
4
+ export declare class TskParkingSectionLevelTransformation extends AbstractTransformation<ITskParkingSectionLevel, IParkingLocation> {
5
+ private specialAccess?;
6
+ name: string;
7
+ constructor(specialAccess?: string | undefined);
8
+ protected transformInternal: (zone: ITskParkingSectionLevel) => IParkingLocation;
9
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TskParkingSectionLevelTransformation = void 0;
13
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
14
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
15
+ const wkt_1 = require("@terraformer/wkt");
16
+ const GeodataHelper_1 = require("../helpers/GeodataHelper");
17
+ let TskParkingSectionLevelTransformation = exports.TskParkingSectionLevelTransformation = class TskParkingSectionLevelTransformation extends AbstractTransformation_1.AbstractTransformation {
18
+ constructor(specialAccess) {
19
+ super();
20
+ this.specialAccess = specialAccess;
21
+ this.name = "TskParkingSectionLevelTransformation";
22
+ this.transformInternal = (zone) => {
23
+ var _a;
24
+ const location = (0, wkt_1.wktToGeoJSON)(zone.borderWKT);
25
+ return {
26
+ id: "tsk_v2-" + zone.idSectionItem,
27
+ data_provider: "www.tsk-praha.cz",
28
+ location,
29
+ centroid: (0, GeodataHelper_1.getPointOnFeature)(location),
30
+ total_spot_number: zone.projectedCapacity,
31
+ source: "tsk_v2",
32
+ source_id: zone.idSection,
33
+ special_access: (_a = this.specialAccess) !== null && _a !== void 0 ? _a : undefined,
34
+ };
35
+ };
36
+ }
37
+ };
38
+ exports.TskParkingSectionLevelTransformation = TskParkingSectionLevelTransformation = __decorate([
39
+ (0, tsyringe_1.injectable)(),
40
+ __metadata("design:paramtypes", [String])
41
+ ], TskParkingSectionLevelTransformation);
42
+ //# sourceMappingURL=TskParkingSectionLevelTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TskParkingSectionLevelTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingSectionLevelTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6GAA0G;AAG1G,iEAAgE;AAChE,0CAAgD;AAEhD,4DAA8D;AAGvD,IAAM,oCAAoC,kDAA1C,MAAM,oCAAqC,SAAQ,+CAAiE;IAGvH,YAAoB,aAAsB;QACtC,KAAK,EAAE,CAAC;QADQ,kBAAa,GAAb,aAAa,CAAS;QAF1C,SAAI,GAAW,sCAAsC,CAAC;QAM5C,sBAAiB,GAAG,CAAC,IAA6B,EAAoB,EAAE;;YAC9E,MAAM,QAAQ,GAAG,IAAA,kBAAY,EAAC,IAAI,CAAC,SAAS,CAAoB,CAAC;YACjE,OAAO;gBACH,EAAE,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa;gBAClC,aAAa,EAAE,kBAAkB;gBACjC,QAAQ;gBACR,QAAQ,EAAE,IAAA,iCAAiB,EAAC,QAAQ,CAAC;gBACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,cAAc,EAAE,MAAA,IAAI,CAAC,aAAa,mCAAI,SAAS;aAClD,CAAC;QACN,CAAC,CAAC;IAdF,CAAC;CAeJ,CAAA;+CApBY,oCAAoC;IADhD,IAAA,qBAAU,GAAE;;GACA,oCAAoC,CAoBhD"}
@@ -0,0 +1,10 @@
1
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
2
+ import { IParking } from "../ParkingInterface";
3
+ import { ITskParkingSection } from "../../schema-definitions/datasources/interfaces/ITskParkingSection";
4
+ export declare class TskParkingSectionTransformation extends AbstractTransformation<ITskParkingSection, IParking> {
5
+ private transformationDate;
6
+ name: string;
7
+ constructor(transformationDate: Date);
8
+ protected transformInternal: (section: ITskParkingSection) => IParking;
9
+ private getSectionCat;
10
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TskParkingSectionTransformation = void 0;
13
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
14
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
15
+ const wkt_1 = require("@terraformer/wkt");
16
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
17
+ const GeodataHelper_1 = require("../helpers/GeodataHelper");
18
+ const helpers_1 = require("@golemio/core/dist/helpers");
19
+ let TskParkingSectionTransformation = exports.TskParkingSectionTransformation = class TskParkingSectionTransformation extends AbstractTransformation_1.AbstractTransformation {
20
+ constructor(transformationDate) {
21
+ super();
22
+ this.transformationDate = transformationDate;
23
+ this.name = "TskParkingSectionTransformation";
24
+ this.transformInternal = (section) => {
25
+ const location = (0, wkt_1.wktToGeoJSON)(section.borderWKT);
26
+ const valid_from = helpers_1.DateTime.fromISO(section.activeFrom, { timeZone: "Europe/Prague" }).toISOString();
27
+ return {
28
+ id: "tsk2-" + section.sectionCode,
29
+ source: "tsk_v2",
30
+ source_id: section.idSection,
31
+ data_provider: "www.tsk-praha.cz",
32
+ location,
33
+ name: section.sectionCode,
34
+ total_spot_number: section.projectedCapacity,
35
+ category: this.getSectionCat(section.sectionCat),
36
+ tariff_id: section.idTariff ? section.idTariff : undefined,
37
+ valid_from,
38
+ parking_type: "on_street",
39
+ zone_type: "zone",
40
+ date_modified: this.transformationDate.toISOString(),
41
+ centroid: (0, GeodataHelper_1.getPointOnFeature)(location),
42
+ };
43
+ };
44
+ }
45
+ getSectionCat(catNo) {
46
+ switch (catNo) {
47
+ case 1:
48
+ return "blue";
49
+ case 2:
50
+ return "violet";
51
+ case 3:
52
+ return "orange";
53
+ case 6:
54
+ return "other";
55
+ case 7:
56
+ return "other";
57
+ default:
58
+ throw new golemio_errors_1.GeneralError(`Unknown section category ${catNo} in TSK parking zones.`);
59
+ }
60
+ }
61
+ };
62
+ exports.TskParkingSectionTransformation = TskParkingSectionTransformation = __decorate([
63
+ (0, tsyringe_1.injectable)(),
64
+ __metadata("design:paramtypes", [Date])
65
+ ], TskParkingSectionTransformation);
66
+ //# sourceMappingURL=TskParkingSectionTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TskParkingSectionTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingSectionTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6GAA0G;AAE1G,iEAAgE;AAChE,0CAAgD;AAEhD,6EAAwE;AAExE,4DAA8D;AAC9D,wDAAsD;AAG/C,IAAM,+BAA+B,6CAArC,MAAM,+BAAgC,SAAQ,+CAAoD;IAGrG,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAF5C,SAAI,GAAW,iCAAiC,CAAC;QAMvC,sBAAiB,GAAG,CAAC,OAA2B,EAAY,EAAE;YACpE,MAAM,QAAQ,GAAG,IAAA,kBAAY,EAAC,OAAO,CAAC,SAAS,CAAoB,CAAC;YACpE,MAAM,UAAU,GAAG,kBAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAErG,OAAO;gBACH,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;gBACjC,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,aAAa,EAAE,kBAAkB;gBACjC,QAAQ;gBACR,IAAI,EAAE,OAAO,CAAC,WAAW;gBACzB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;gBAChD,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAC1D,UAAU;gBACV,YAAY,EAAE,WAAW;gBACzB,SAAS,EAAE,MAAM;gBACjB,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;gBACpD,QAAQ,EAAE,IAAA,iCAAiB,EAAC,QAAQ,CAAC;aACxC,CAAC;QACN,CAAC,CAAC;IAtBF,CAAC;IAwBO,aAAa,CAAC,KAAa;QAC/B,QAAQ,KAAK,EAAE;YACX,KAAK,CAAC;gBACF,OAAO,MAAM,CAAC;YAClB,KAAK,CAAC;gBACF,OAAO,QAAQ,CAAC;YACpB,KAAK,CAAC;gBACF,OAAO,QAAQ,CAAC;YACpB,KAAK,CAAC;gBACF,OAAO,OAAO,CAAC;YACnB,KAAK,CAAC;gBACF,OAAO,OAAO,CAAC;YACnB;gBACI,MAAM,IAAI,6BAAY,CAAC,4BAA4B,KAAK,wBAAwB,CAAC,CAAC;SACzF;IACL,CAAC;CACJ,CAAA;0CA7CY,+BAA+B;IAD3C,IAAA,qBAAU,GAAE;qCAI+B,IAAI;GAHnC,+BAA+B,CA6C3C"}
@@ -0,0 +1,14 @@
1
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
2
+ import { ITskParkingZoneTariff } from "../../schema-definitions/datasources/interfaces/ITskParkingZoneTariff";
3
+ import { IParkingTariff } from "../ParkingInterface";
4
+ export declare class TskParkingZonesTariffsTransformation extends AbstractTransformation<ITskParkingZoneTariff, IParkingTariff[]> {
5
+ private transformationDate;
6
+ name: string;
7
+ orderIdx: number;
8
+ constructor(transformationDate: Date);
9
+ transformInternal: (item: ITskParkingZoneTariff) => IParkingTariff[];
10
+ private getChargeOther;
11
+ private getChargeMinimums;
12
+ private getChargeMaximums;
13
+ private getTariffPeriods;
14
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TskParkingZonesTariffsTransformation = void 0;
4
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
5
+ const helpers_1 = require("@golemio/core/dist/helpers");
6
+ var DaysInWeekEnum;
7
+ (function (DaysInWeekEnum) {
8
+ DaysInWeekEnum["monday"] = "Mo";
9
+ DaysInWeekEnum["tuesday"] = "Tu";
10
+ DaysInWeekEnum["wednesday"] = "We";
11
+ DaysInWeekEnum["thursday"] = "Th";
12
+ DaysInWeekEnum["friday"] = "Fr";
13
+ DaysInWeekEnum["saturday"] = "Sa";
14
+ DaysInWeekEnum["sunday"] = "Su";
15
+ })(DaysInWeekEnum || (DaysInWeekEnum = {}));
16
+ class TskParkingZonesTariffsTransformation extends AbstractTransformation_1.AbstractTransformation {
17
+ constructor(transformationDate) {
18
+ super();
19
+ this.transformationDate = transformationDate;
20
+ this.name = "TskParkingZonesTariffsTransformation";
21
+ this.orderIdx = 0;
22
+ this.transformInternal = (item) => {
23
+ this.orderIdx = 0;
24
+ const result = [];
25
+ const tariffCommonInfo = {
26
+ tariff_id: item.id,
27
+ source: "tsk_v2",
28
+ last_updated: this.transformationDate.toISOString(),
29
+ payment_mode: "pre_paid",
30
+ free_of_charge: false,
31
+ charge_band_name: item.name || "",
32
+ accepts_mobile_payment: true,
33
+ accepts_litacka: true,
34
+ charge_currency: "czk",
35
+ };
36
+ for (const tg of item.tariffGroups || []) {
37
+ for (const td of tg.tariffDefinitions || []) {
38
+ const validityFrom = helpers_1.DateTime.max(helpers_1.DateTime.fromISO(td.activeFrom, { timeZone: "Europe/Prague" }).toISOString(), helpers_1.DateTime.fromISO(tg.activeFrom, { timeZone: "Europe/Prague" }).toISOString(), helpers_1.DateTime.fromISO(item.activeFrom, { timeZone: "Europe/Prague" }).toISOString());
39
+ const validityTo = helpers_1.DateTime.min(helpers_1.DateTime.fromISO(td.activeTo, { timeZone: "Europe/Prague" }).toISOString(), helpers_1.DateTime.fromISO(tg.activeTo, { timeZone: "Europe/Prague" }).toISOString(), helpers_1.DateTime.fromISO(item.activeTo, { timeZone: "Europe/Prague" }).toISOString());
40
+ tariffCommonInfo.valid_from = validityFrom.setTimeZone("Europe/Prague").toISOString();
41
+ tariffCommonInfo.valid_to = validityTo.setTimeZone("Europe/Prague").toISOString();
42
+ const periodsOfTime = this.getTariffPeriods(tg, td, item.maxPriceHoliday !== null);
43
+ if (validityTo > (0, helpers_1.dateTime)(this.transformationDate)) {
44
+ if (!!td.minPriceItem) {
45
+ const chargeInfoMinimum = this.getChargeMinimums(td.minPriceItem, periodsOfTime, tariffCommonInfo);
46
+ result.push(...chargeInfoMinimum);
47
+ }
48
+ const charges = this.getChargeOther(td, item.maxHour, periodsOfTime, tariffCommonInfo);
49
+ result.push(...charges);
50
+ if (!!td.maxPriceItem) {
51
+ const chargeInfoMaximum = this.getChargeMaximums(td.maxPriceItem, periodsOfTime, tariffCommonInfo);
52
+ result.push(...chargeInfoMaximum);
53
+ }
54
+ }
55
+ }
56
+ }
57
+ return result;
58
+ };
59
+ this.getChargeOther = (definition, maxHour, periods, tariffCommonInfo) => periods.map((period) => (Object.assign(Object.assign(Object.assign(Object.assign({}, tariffCommonInfo), { charge_order_index: this.orderIdx++, charge: definition.pricePerHour / 60, charge_type: "other", charge_interval: 60, max_iterations_of_charge: definition.minuteTo - definition.minuteFrom, min_iterations_of_charge: 1 }), (maxHour && { maximum_duration_seconds: maxHour * 3600 })), { periods_of_time: period })));
60
+ this.getChargeMinimums = (price, periods, tariffCommonInfo) => periods.map((period) => (Object.assign(Object.assign({}, tariffCommonInfo), { charge_order_index: this.orderIdx++, charge: price, charge_type: "minimum", periods_of_time: period })));
61
+ this.getChargeMaximums = (price, periods, tariffCommonInfo) => periods.map((period) => (Object.assign(Object.assign({}, tariffCommonInfo), { charge_order_index: this.orderIdx++, charge: price, charge_type: "maximum", periods_of_time: period })));
62
+ this.getTariffPeriods = (group, definition, hasHolidayTariff) => {
63
+ const result = [];
64
+ for (const day of Object.keys(DaysInWeekEnum)) {
65
+ if (group[day]) {
66
+ result.push({
67
+ day_in_week: DaysInWeekEnum[day],
68
+ start: definition.timeFrom,
69
+ end: helpers_1.DateTime.fromFormat(definition.timeTo, "HH:mm:ss", { timeZone: "Europe/Prague" })
70
+ .subtract(1, "minutes")
71
+ .format("HH:mm:ss"),
72
+ ph: "PH_off",
73
+ });
74
+ }
75
+ }
76
+ if (hasHolidayTariff) {
77
+ return [result, result.map((el) => (Object.assign(Object.assign({}, el), { ph: "PH_only" })))];
78
+ }
79
+ return [result];
80
+ };
81
+ }
82
+ }
83
+ exports.TskParkingZonesTariffsTransformation = TskParkingZonesTariffsTransformation;
84
+ //# sourceMappingURL=TskParkingZonesTariffsTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TskParkingZonesTariffsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingZonesTariffsTransformation.ts"],"names":[],"mappings":";;;AAAA,6GAA0G;AAO1G,wDAAgE;AAGhE,IAAK,cAQJ;AARD,WAAK,cAAc;IACf,+BAAe,CAAA;IACf,gCAAgB,CAAA;IAChB,kCAAkB,CAAA;IAClB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,+BAAe,CAAA;AACnB,CAAC,EARI,cAAc,KAAd,cAAc,QAQlB;AAmBD,MAAa,oCAAqC,SAAQ,+CAA+D;IAIrH,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAHrC,SAAI,GAAW,sCAAsC,CAAC;QACtD,aAAQ,GAAW,CAAC,CAAC;QAM5B,sBAAiB,GAAG,CAAC,IAA2B,EAAoB,EAAE;YAClE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAClB,MAAM,MAAM,GAAqB,EAAE,CAAC;YAEpC,MAAM,gBAAgB,GAAsB;gBACxC,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,MAAM,EAAE,QAAQ;gBAChB,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;gBACnD,YAAY,EAAE,UAAU;gBACxB,cAAc,EAAE,KAAK;gBACrB,gBAAgB,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACjC,sBAAsB,EAAE,IAAI;gBAC5B,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,KAAK;aACzB,CAAC;YAEF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;gBACtC,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,iBAAiB,IAAI,EAAE,EAAE;oBACzC,MAAM,YAAY,GAAG,kBAAQ,CAAC,GAAG,CAC7B,kBAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,EAC5E,kBAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,EAC5E,kBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,CACjF,CAAC;oBACF,MAAM,UAAU,GAAG,kBAAQ,CAAC,GAAG,CAC3B,kBAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,EAC1E,kBAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,EAC1E,kBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,CAC/E,CAAC;oBAEF,gBAAgB,CAAC,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;oBACtF,gBAAgB,CAAC,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;oBAElF,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;oBAEnF,IAAI,UAAU,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;wBAChD,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE;4BACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;4BACnG,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;yBACrC;wBAED,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;wBACvF,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;wBAExB,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE;4BACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;4BACnG,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;yBACrC;qBACJ;iBACJ;aACJ;YAED,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QAEM,mBAAc,GAAG,CACrB,UAA2C,EAC3C,OAAsB,EACtB,OAAiC,EACjC,gBAAmC,EACnB,EAAE,CAClB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,6DACjB,gBAAgB,KACnB,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,EACnC,MAAM,EAAE,UAAU,CAAC,YAAY,GAAG,EAAE,EACpC,WAAW,EAAE,OAAO,EACpB,eAAe,EAAE,EAAE,EACnB,wBAAwB,EAAE,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,UAAU,EACrE,wBAAwB,EAAE,CAAC,KACxB,CAAC,OAAO,IAAI,EAAE,wBAAwB,EAAE,OAAO,GAAG,IAAI,EAAE,CAAC,KAC5D,eAAe,EAAE,MAAM,IACzB,CAAC,CAAC;QAEA,sBAAiB,GAAG,CACxB,KAAa,EACb,OAAiC,EACjC,gBAAmC,EACnB,EAAE,CAClB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iCACjB,gBAAgB,KACnB,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,EACnC,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,MAAM,IACzB,CAAC,CAAC;QAEA,sBAAiB,GAAG,CACxB,KAAa,EACb,OAAiC,EACjC,gBAAmC,EACnB,EAAE,CAClB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iCACjB,gBAAgB,KACnB,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,EACnC,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,MAAM,IACzB,CAAC,CAAC;QAEA,qBAAgB,GAAG,CACvB,KAAiC,EACjC,UAA2C,EAC3C,gBAAyB,EACD,EAAE;YAC1B,MAAM,MAAM,GAA2B,EAAE,CAAC;YAE1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;gBAC3C,IAAI,KAAK,CAAC,GAAY,CAAC,EAAE;oBACrB,MAAM,CAAC,IAAI,CAAC;wBACR,WAAW,EAAE,cAAc,CAAC,GAAY,CAAC;wBACzC,KAAK,EAAE,UAAU,CAAC,QAAQ;wBAC1B,GAAG,EAAE,kBAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;6BACjF,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC;6BACtB,MAAM,CAAC,UAAU,CAAC;wBACvB,EAAE,EAAE,QAAQ;qBACf,CAAC,CAAC;iBACN;aACJ;YAED,IAAI,gBAAgB,EAAE;gBAClB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iCAAM,EAAE,KAAE,EAAE,EAAE,SAAS,IAAG,CAAC,CAAC,CAAC;aACnE;YAED,OAAO,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC;IA7HF,CAAC;CA8HJ;AApID,oFAoIC"}
@@ -0,0 +1,5 @@
1
+ import { AbstractWorker } from "@golemio/core/dist/integration-engine";
2
+ export declare class ParkingSourcesWorker extends AbstractWorker {
3
+ protected readonly name: string;
4
+ constructor();
5
+ }