@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
@@ -5,3 +5,6 @@ DELETE FROM parkings_location;
5
5
  DELETE FROM parkings;
6
6
  DELETE FROM common.citydistricts where district_name_slug = 'praha-10';
7
7
  truncate table parkings_business_errors;
8
+
9
+ truncate table parking_sources;
10
+ truncate table parking_machines;
@@ -0,0 +1,21 @@
1
+ INSERT INTO parking_sources ("source",open_data,api_v3_allowed, legacy_api_allowed,payment_url,contact) VALUES
2
+ ('tsk_v2',false,true,false,'test','{"email": "parking@tsk-praha.cz", "phone": "+420 257 015 257", "web_url": "https://parking.praha.eu/", "term_of_use_url": "https://parking.praha.eu/cs/moznosti-parkovani-v-praze/parkovani-v-zonach/"}'),
3
+ ('tsk',false,false,true,'test','{"email": "parking@tsk-praha.cz", "phone": "+420 257 015 257", "web_url": "https://parking.praha.eu/", "term_of_use_url": "https://parking.praha.eu/cs/moznosti-parkovani-v-praze/parkovani-v-zonach/"}'),
4
+ ('korid',false,false,true,'https://parking.liberec.cz/','{"email": "pomoc@parking.liberec.cz", "phone": "+420604295403", "web_url": "https://parking.liberec.cz/", "term_of_use_url": "https://www.liberec.cz/cz/prakticke-informace/doprava-udrzba-komunikaci/parkovaci-mista/parkovaci-mista.html"}'),
5
+ ('ipr',false,false,true,null,null);
6
+
7
+ INSERT INTO "parking_machines" (id,"source",code,"type","location",valid_from,tariff_id) VALUES
8
+ ('4521afac-66db-4680-abc5-0006837d977a','tsk_v2','10000088','info_box','SRID=4326;POINT (14.509560372775391 50.08336146182989)','2023-03-27 16:22:55.370','bdd68c37-2462-4825-befa-1eeab518dfbd');
9
+
10
+ INSERT INTO parkings (id,"source",source_id,data_provider,"name",category,date_modified,address,"location",area_served,web_app_payment_url,total_spot_number,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by,tariff_id,valid_from,valid_to,parking_type,zone_type,centroid,android_app_payment_url,ios_app_payment_url) VALUES
11
+ ('tsk2-P1-0586','tsk_v2','c66bb668-eab6-49da-bc84-002263e1dce0','www.tsk-praha.cz','P1-0586','blue','2023-10-13 06:47:17.196','{"address_country":"Česko","address_formatted":"Na Poříčí, 11000 Praha Nové Město, Česko","address_locality":"Praha","address_region":"Nové Město","postal_code":"11000","street_address":"Na Poříčí"}','SRID=4326;MULTIPOLYGON (((14.435146686704691 50.09031935764648, 14.435158778421304 50.090037674196914, 14.436496591004804 50.090271939573704, 14.436891101497103 50.09057582442722, 14.436584596966501 50.090700574765144, 14.436361060659229 50.09071081877421, 14.435146686704691 50.09031935764648)), ((14.432518050883488 50.08963880488788, 14.432849963583294 50.08974602637074, 14.433520760939317 50.08983654654372, 14.434026273297146 50.08989232808531, 14.433980344589223 50.0900468365997, 14.433568068617168 50.09014494638063, 14.4326828562706 50.08990536564012, 14.432518050883488 50.08963880488788)), ((14.43054520416443 50.089075595822536, 14.431267236152568 50.08895539557057, 14.431701029418882 50.089166218961886, 14.432130432442564 50.089421387255, 14.432518050883488 50.08963880488788, 14.43220935744498 50.089735597324186, 14.432069970660601 50.08973394311176, 14.431747143504648 50.08969881144357, 14.4308507378023 50.08944361428869, 14.43054520416443 50.089075595822536)))',NULL,NULL,42,NULL,'2023-10-04 22:05:34.589',NULL,NULL,'2023-10-13 06:47:28.150',NULL,'0639c53f-c555-49ac-b5e0-bb3d50acf588','2023-06-12 02:03:43.000',NULL,'on_street','zone','SRID=4326;POINT (14.433520760939317 50.08983654654372)',NULL,NULL);
12
+
13
+ INSERT INTO parkings_location (id,"source",source_id,data_provider,"location",centroid,address,total_spot_number,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by,special_access) VALUES
14
+ ('tsk2-P1-0586','tsk_v2','c66bb668-eab6-49da-bc84-002263e1dce0','www.tsk-praha.cz','SRID=4326;POLYGON ((14.430752009766316 50.08911821177594, 14.430769229998441 50.08910172868469, 14.430963092041813 50.089173302203854, 14.431121142940848 50.089229729083705, 14.431288241809778 50.089282708701234, 14.431380867359115 50.089311873860034, 14.4314096437366 50.08932032789265, 14.431440597404489 50.089328628720935, 14.431480187766274 50.0893393542484, 14.431531156892785 50.08935234952796, 14.432034928912303 50.08948101755296, 14.432024626323633 50.08950011783093, 14.431408883289269 50.08933960160983, 14.431288556785107 50.08930381070842, 14.43119927473038 50.089275437868416, 14.430947745128789 50.08918874462976, 14.430752009766316 50.08911821177594))','SRID=4326;POINT (14.431380867359115 50.089311873860034)','{"address_country":"Česko","address_formatted":"Na Poříčí, 11000 Praha Nové Město, Česko","address_locality":"Praha","address_region":"Nové Město","postal_code":"11000","street_address":"Na Poříčí"}',16,NULL,'2023-10-04 09:38:30.821',NULL,NULL,'2023-10-04 09:38:30.821',NULL,'disabled');
15
+
16
+ INSERT INTO parkings_location (id,"source",source_id,data_provider,"location",centroid,address,total_spot_number,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by,special_access) VALUES
17
+ ('tsk2-P1-0587','tsk_v2','c66bb668-eab6-49da-bc84-002263e1dce0','www.tsk-praha.cz','SRID=4326;POLYGON ((14.430752009766316 50.08911821177594, 14.430769229998441 50.08910172868469, 14.430963092041813 50.089173302203854, 14.431121142940848 50.089229729083705, 14.431288241809778 50.089282708701234, 14.431380867359115 50.089311873860034, 14.4314096437366 50.08932032789265, 14.431440597404489 50.089328628720935, 14.431480187766274 50.0893393542484, 14.431531156892785 50.08935234952796, 14.432034928912303 50.08948101755296, 14.432024626323633 50.08950011783093, 14.431408883289269 50.08933960160983, 14.431288556785107 50.08930381070842, 14.43119927473038 50.089275437868416, 14.430947745128789 50.08918874462976, 14.430752009766316 50.08911821177594))','SRID=4326;POINT (14.431380867359115 50.089311873860034)','{"address_country":"Česko","address_formatted":"Na Poříčí, 11000 Praha Nové Město, Česko","address_locality":"Praha","address_region":"Nové Město","postal_code":"11000","street_address":"Na Poříčí"}',17,NULL,'2023-10-04 09:38:30.821',NULL,NULL,'2023-10-04 09:38:30.821',NULL,NULL);
18
+
19
+ INSERT INTO parkings_tariffs (tariff_id,"source",last_updated,payment_mode,payment_additional_description,free_of_charge,url_link_address,charge_band_name,accepts_payment_card,accepts_cash,accepts_mobile_payment,charge_currency,charge,charge_type,charge_order_index,charge_interval,max_iterations_of_charge,min_iterations_of_charge,start_time_of_period,end_time_of_period,allowed_vehicle_type,allowed_fuel_type,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by,accepts_litacka,valid_from,valid_to,maximum_duration_seconds,periods_of_time) VALUES
20
+ ('0639c53f-c555-49ac-b5e0-bb3d50acf588','tsk_v2','2023-10-04 22:09:18.720','pre_paid',NULL,false,NULL,'PO-NE 00-06+08-24',NULL,NULL,true,'czk',1.3333333333333333,'other',0,60,1440,1,NULL,NULL,NULL,NULL,NULL,'2023-10-04 22:09:19.749',NULL,NULL,'2023-10-04 22:09:19.749',NULL,true,'2022-06-21 10:11:00.000','2999-12-31 00:00:00.000',3600,'[{"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Mo"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Tu"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "We"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Th"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Fr"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Sa"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Su"}]'),
21
+ ('0639c53f-c555-49ac-b5e0-bb3d50acf588','tsk_v2','2023-10-04 22:09:18.720','pre_paid',NULL,false,NULL,'PO-NE 00-06+08-24',NULL,NULL,true,'czk',1.3333333333333333,'other',1,60,1440,1,NULL,NULL,NULL,NULL,NULL,'2023-10-04 22:09:19.750',NULL,NULL,'2023-10-04 22:09:19.750',NULL,true,'2022-06-21 10:11:15.000','2999-12-31 00:00:00.000',3600,'[{"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Mo"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Tu"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "We"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Th"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Fr"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Sa"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Su"}]');
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20230918124250-tsk-v-2-parking-sources-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20230918124250-tsk-v-2-parking-sources-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20230918124259-tsk-v-2-parking-machines-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20230918124259-tsk-v-2-parking-machines-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20230925090241-tsk-tariffs-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20230925090241-tsk-tariffs-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20231003115645-tsk-v-2-parking-special-access-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20231003115645-tsk-v-2-parking-special-access-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20231108130727-ipt-api-v3-allowed-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20231108130727-ipt-api-v3-allowed-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1 @@
1
+ drop table IF EXISTS parking_sources;
@@ -0,0 +1,18 @@
1
+ create table parking_sources (
2
+ "source" varchar(255) NOT NULL,
3
+ open_data bool NOT NULL,
4
+ ipt_allowed bool NOT NULL,
5
+ payment_url varchar(255) NULL,
6
+ contact jsonb NULL,
7
+ CONSTRAINT parking_sources_pkey PRIMARY KEY (source)
8
+ );
9
+
10
+ insert into parking_sources(source, open_data, ipt_allowed, payment_url, contact) VALUES
11
+ ('tsk_v2', false, true,
12
+ 'https://ke-utc.appspot.com/static/onstreet.html?shortname={shortNameValue})',
13
+ '{
14
+ "email": "parking@tsk-praha.cz",
15
+ "phone": "+420 257 015 257",
16
+ "web_url": "https://parking.praha.eu/",
17
+ "term_of_use_url": "https://parking.praha.eu/cs/moznosti-parkovani-v-praze/parkovani-v-zonach/"
18
+ }');
@@ -0,0 +1 @@
1
+ drop table IF EXISTS parking_machines;
@@ -0,0 +1,15 @@
1
+ create table parking_machines (
2
+ id varchar(255) NOT NULL,
3
+ "source" varchar(255) NOT NULL,
4
+ code varchar(255) NULL,
5
+ type varchar(255) NULL,
6
+ location geometry NULL,
7
+ valid_from timestamptz NULL,
8
+ tariff_id varchar(255) NULL,
9
+ created_at timestamptz NULL,
10
+ created_by varchar(150) NULL,
11
+ updated_at timestamptz NULL,
12
+ updated_by varchar(150) NULL,
13
+
14
+ CONSTRAINT parking_machines_pk PRIMARY KEY (id)
15
+ );
@@ -0,0 +1,4 @@
1
+ ALTER TABLE parkings_tariffs DROP COLUMN valid_from;
2
+ ALTER TABLE parkings_tariffs DROP COLUMN valid_to;
3
+ ALTER TABLE parkings_tariffs DROP COLUMN maximum_duration_seconds;
4
+ ALTER TABLE parkings_tariffs DROP COLUMN periods_of_time;
@@ -0,0 +1,4 @@
1
+ ALTER TABLE parkings_tariffs ADD COLUMN valid_from timestamptz;
2
+ ALTER TABLE parkings_tariffs ADD COLUMN valid_to timestamptz;
3
+ ALTER TABLE parkings_tariffs ADD COLUMN maximum_duration_seconds int NULL;
4
+ ALTER TABLE parkings_tariffs ADD COLUMN periods_of_time jsonb;
@@ -0,0 +1 @@
1
+ ALTER TABLE parkings_location DROP COLUMN special_access;
@@ -0,0 +1 @@
1
+ ALTER TABLE parkings_location ADD COLUMN special_access varchar(255) NULL;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE parking_sources RENAME COLUMN "api_v3_allowed" TO "ipt_allowed";
2
+ ALTER TABLE parking_sources DROP COLUMN "legacy_api_allowed";
@@ -0,0 +1,2 @@
1
+ ALTER TABLE parking_sources RENAME COLUMN "ipt_allowed" TO "api_v3_allowed";
2
+ ALTER TABLE parking_sources ADD COLUMN "legacy_api_allowed" bool NOT NULL DEFAULT true;
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/helpers/const.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { IParkingSource } from "../interfaces/IParkingSource";
2
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
3
+ import { AbstractCachedRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractCachedRepository";
4
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
5
+ export declare class CachedParkingSourcesRepository extends AbstractCachedRepository<IParkingSource> {
6
+ schema: string;
7
+ tableName: string;
8
+ constructor(connnector: IDatabaseConnector, log: ILogger, cacheTTLInSeconds?: number);
9
+ protected getAllInternal(): Promise<IParkingSource[]>;
10
+ getV3Sources(): Promise<string[]>;
11
+ getLegacySources(): Promise<string[]>;
12
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CachedParkingSourcesRepository = void 0;
13
+ const _sch_1 = require("../../schema-definitions");
14
+ const AbstractCachedRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractCachedRepository");
15
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
16
+ class CachedParkingSourcesRepository extends AbstractCachedRepository_1.AbstractCachedRepository {
17
+ constructor(connnector, log, cacheTTLInSeconds = 60 * 5) {
18
+ super(connnector, log, cacheTTLInSeconds);
19
+ this.schema = _sch_1.Parkings.pgSchema;
20
+ this.tableName = "parking_sources";
21
+ }
22
+ getAllInternal() {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return yield this.connector.getConnection().query(`SELECT source, open_data, api_v3_allowed, legacy_api_allowed, payment_url, contact
25
+ FROM ${this.schema}.${this.tableName}`, { type: sequelize_1.QueryTypes.SELECT, raw: true });
26
+ });
27
+ }
28
+ getV3Sources() {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ return (yield this.getAll()).filter((element) => element.api_v3_allowed).map((element) => element.source);
31
+ });
32
+ }
33
+ getLegacySources() {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ return (yield this.getAll()).filter((element) => element.legacy_api_allowed).map((element) => element.source);
36
+ });
37
+ }
38
+ }
39
+ exports.CachedParkingSourcesRepository = CachedParkingSourcesRepository;
40
+ //# sourceMappingURL=CachedParkingSourcesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CachedParkingSourcesRepository.js","sourceRoot":"","sources":["../../../src/helpers/data-access/CachedParkingSourcesRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mDAAgC;AAEhC,oIAAiI;AAEjI,mEAAiE;AAEjE,MAAa,8BAA+B,SAAQ,mDAAwC;IAIxF,YAAY,UAA8B,EAAE,GAAY,EAAE,oBAA4B,EAAE,GAAG,CAAC;QACxF,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAJvC,WAAM,GAAW,eAAQ,CAAC,QAAQ,CAAC;QACnC,cAAS,GAAW,iBAAiB,CAAC;IAI7C,CAAC;IAEe,cAAc;;YAC1B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAC7C;oBACQ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,EACvC,EAAE,IAAI,EAAE,sBAAU,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CACzC,CAAC;QACN,CAAC;KAAA;IAEY,YAAY;;YACrB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9G,CAAC;KAAA;IAEY,gBAAgB;;YACzB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClH,CAAC;KAAA;CACJ;AAvBD,wEAuBC"}
@@ -0,0 +1,8 @@
1
+ export interface IParkingSource {
2
+ source: string;
3
+ open_data: boolean;
4
+ api_v3_allowed: boolean;
5
+ legacy_api_allowed: boolean;
6
+ payment_url: string | null;
7
+ contact: object | null;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IParkingSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IParkingSource.js","sourceRoot":"","sources":["../../../src/helpers/interfaces/IParkingSource.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { BaseController } from "@golemio/core/dist/input-gateway/controllers";
2
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
3
+ export declare class ParkingSourcesController extends BaseController {
4
+ name: string;
5
+ protected validator: JSONSchemaValidator;
6
+ protected queuePrefix: string;
7
+ constructor();
8
+ processData: (inputData: any) => Promise<void>;
9
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ParkingSourcesController = void 0;
13
+ const controllers_1 = require("@golemio/core/dist/input-gateway/controllers");
14
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
15
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
16
+ const InputParkingSourceSchema_1 = require("../../schema-definitions/datasources/InputParkingSourceSchema");
17
+ class ParkingSourcesController extends controllers_1.BaseController {
18
+ constructor() {
19
+ super("ParkingSources", new golemio_validator_1.JSONSchemaValidator("ParkingSource", InputParkingSourceSchema_1.InputParkingSourceSchema));
20
+ this.processData = (inputData) => __awaiter(this, void 0, void 0, function* () {
21
+ try {
22
+ yield this.validator.Validate(inputData);
23
+ const queue = "input." + this.queuePrefix + ".updateParkingSource";
24
+ yield this.sendMessageToExchange(queue, JSON.stringify(inputData), {
25
+ persistent: true,
26
+ });
27
+ }
28
+ catch (err) {
29
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
30
+ throw err;
31
+ }
32
+ else {
33
+ throw new golemio_errors_1.GeneralError("Error while validating input data.", this.name, err, 422);
34
+ }
35
+ }
36
+ });
37
+ }
38
+ }
39
+ exports.ParkingSourcesController = ParkingSourcesController;
40
+ //# sourceMappingURL=ParkingSourcesController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkingSourcesController.js","sourceRoot":"","sources":["../../../src/input-gateway/controllers/ParkingSourcesController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA8E;AAC9E,6EAA8F;AAC9F,mFAAkF;AAClF,4GAAqF;AAErF,MAAa,wBAAyB,SAAQ,4BAAc;IAKxD;QACI,KAAK,CAAC,gBAAgB,EAAE,IAAI,uCAAmB,CAAC,eAAe,EAAE,mDAAwB,CAAC,CAAC,CAAC;QAGhG,gBAAW,GAAG,CAAO,SAAc,EAAiB,EAAE;YAClD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC;gBAEnE,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;oBAC/D,UAAU,EAAE,IAAI;iBACnB,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAA,CAAC;IAjBF,CAAC;CAkBJ;AAzBD,4DAyBC"}
@@ -1 +1,3 @@
1
1
  export * as KoridParkings from "./korid-parkings";
2
+ export * from "./routers/ParkingSourcesRouter";
3
+ export * from "./controllers/ParkingSourcesController";
@@ -22,7 +22,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  exports.KoridParkings = void 0;
27
30
  exports.KoridParkings = __importStar(require("./korid-parkings"));
31
+ __exportStar(require("./routers/ParkingSourcesRouter"), exports);
32
+ __exportStar(require("./controllers/ParkingSourcesController"), exports);
28
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/input-gateway/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAkD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/input-gateway/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAkD;AAClD,iEAA+C;AAC/C,yEAAuD"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="express" />
2
+ import { Router } from "@golemio/core/dist/shared/express";
3
+ import { ParkingSourcesController } from "../controllers/ParkingSourcesController";
4
+ export declare class ParkingSourcesRouter {
5
+ private sourcesController;
6
+ router: Router;
7
+ constructor(sourcesController: ParkingSourcesController);
8
+ private initRoutes;
9
+ private postParkingSource;
10
+ }
11
+ declare const parkingSourcesRouter: Router;
12
+ export { parkingSourcesRouter };
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.parkingSourcesRouter = exports.ParkingSourcesRouter = void 0;
13
+ const express_1 = require("@golemio/core/dist/shared/express");
14
+ const helpers_1 = require("@golemio/core/dist/input-gateway/helpers");
15
+ const ParkingSourcesController_1 = require("../controllers/ParkingSourcesController");
16
+ class ParkingSourcesRouter {
17
+ constructor(sourcesController) {
18
+ this.sourcesController = sourcesController;
19
+ this.initRoutes = () => {
20
+ this.router.post("/source", (0, helpers_1.checkContentTypeMiddleware)(["application/json"]), this.postParkingSource);
21
+ };
22
+ this.postParkingSource = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
23
+ try {
24
+ yield this.sourcesController.processData(req.body);
25
+ res.sendStatus(204);
26
+ }
27
+ catch (err) {
28
+ next(err);
29
+ }
30
+ });
31
+ this.router = (0, express_1.Router)();
32
+ this.initRoutes();
33
+ }
34
+ }
35
+ exports.ParkingSourcesRouter = ParkingSourcesRouter;
36
+ const controller = new ParkingSourcesController_1.ParkingSourcesController();
37
+ const parkingSourcesRouter = new ParkingSourcesRouter(controller).router;
38
+ exports.parkingSourcesRouter = parkingSourcesRouter;
39
+ //# sourceMappingURL=ParkingSourcesRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkingSourcesRouter.js","sourceRoot":"","sources":["../../../src/input-gateway/routers/ParkingSourcesRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA4F;AAC5F,sEAAsF;AACtF,sFAAoF;AAEpF,MAAa,oBAAoB;IAG7B,YAAoB,iBAA2C;QAA3C,sBAAiB,GAAjB,iBAAiB,CAA0B;QAKvD,eAAU,GAAG,GAAS,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAA,oCAA0B,EAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1G,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YACjG,IAAI;gBACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QAfE,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CAcJ;AApBD,oDAoBC;AAED,MAAM,UAAU,GAAG,IAAI,mDAAwB,EAAE,CAAC;AAElD,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;AAChE,oDAAoB"}
@@ -1,5 +1,6 @@
1
1
  import { TGeoCoordinates, IGeoCoordinatesPoint } from "@golemio/core/dist/output-gateway/Geo";
2
2
  import { IPostalAddress } from "@golemio/core/dist/integration-engine";
3
+ import { IParkingTariffPeriod } from "../schema-definitions/models/interfaces/tariff/IParkingTariffPeriod";
3
4
  export interface IParking {
4
5
  id: string;
5
6
  source: string;
@@ -30,6 +31,7 @@ export interface IParkingLocation {
30
31
  total_spot_number: number;
31
32
  source: string;
32
33
  source_id: string;
34
+ special_access?: string;
33
35
  }
34
36
  export interface IParkingMeasurements {
35
37
  source: string;
@@ -73,5 +75,9 @@ interface IParkingTariffChargeBand extends IParkingTariffMeansOfPayment {
73
75
  export interface IParkingTariff extends IParkingTariffDescription, IParkingTariffChargeBand, IParkingTariffCharge {
74
76
  allowed_vehicle_type?: string;
75
77
  allowed_fuel_type?: string;
78
+ valid_from?: string;
79
+ valid_to?: string;
80
+ maximum_duration_seconds?: number;
81
+ periods_of_time?: IParkingTariffPeriod[];
76
82
  }
77
83
  export {};