@golemio/parkings 1.6.1 → 1.6.2-dev.1078568315

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 (272) 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/example/05_mr_parkit.sql +9 -0
  4. package/db/migrations/postgresql/20230918124250-tsk-v-2-parking-sources.js +53 -0
  5. package/db/migrations/postgresql/20230918124259-tsk-v-2-parking-machines.js +53 -0
  6. package/db/migrations/postgresql/20230925090241-tsk-tariffs.js +53 -0
  7. package/db/migrations/postgresql/20231003115645-tsk-v-2-parking-special-access.js +53 -0
  8. package/db/migrations/postgresql/20231108130727-ipt-api-v3-allowed.js +53 -0
  9. package/db/migrations/postgresql/20231113114829-mr-parkit.js +53 -0
  10. package/db/migrations/postgresql/sqls/20230918124250-tsk-v-2-parking-sources-down.sql +1 -0
  11. package/db/migrations/postgresql/sqls/20230918124250-tsk-v-2-parking-sources-up.sql +18 -0
  12. package/db/migrations/postgresql/sqls/20230918124259-tsk-v-2-parking-machines-down.sql +1 -0
  13. package/db/migrations/postgresql/sqls/20230918124259-tsk-v-2-parking-machines-up.sql +15 -0
  14. package/db/migrations/postgresql/sqls/20230925090241-tsk-tariffs-down.sql +4 -0
  15. package/db/migrations/postgresql/sqls/20230925090241-tsk-tariffs-up.sql +4 -0
  16. package/db/migrations/postgresql/sqls/20231003115645-tsk-v-2-parking-special-access-down.sql +1 -0
  17. package/db/migrations/postgresql/sqls/20231003115645-tsk-v-2-parking-special-access-up.sql +1 -0
  18. package/db/migrations/postgresql/sqls/20231108130727-ipt-api-v3-allowed-down.sql +2 -0
  19. package/db/migrations/postgresql/sqls/20231108130727-ipt-api-v3-allowed-up.sql +2 -0
  20. package/db/migrations/postgresql/sqls/20231113114829-mr-parkit-down.sql +1 -0
  21. package/db/migrations/postgresql/sqls/20231113114829-mr-parkit-up.sql +9 -0
  22. package/dist/helpers/const.d.ts +0 -0
  23. package/dist/helpers/const.js +2 -0
  24. package/dist/helpers/const.js.map +1 -0
  25. package/dist/helpers/data-access/CachedParkingSourcesRepository.d.ts +12 -0
  26. package/dist/helpers/data-access/CachedParkingSourcesRepository.js +40 -0
  27. package/dist/helpers/data-access/CachedParkingSourcesRepository.js.map +1 -0
  28. package/dist/helpers/interfaces/IParkingSource.d.ts +8 -0
  29. package/dist/helpers/interfaces/IParkingSource.js +3 -0
  30. package/dist/helpers/interfaces/IParkingSource.js.map +1 -0
  31. package/dist/input-gateway/controllers/ParkingSourcesController.d.ts +9 -0
  32. package/dist/input-gateway/controllers/ParkingSourcesController.js +40 -0
  33. package/dist/input-gateway/controllers/ParkingSourcesController.js.map +1 -0
  34. package/dist/input-gateway/index.d.ts +2 -0
  35. package/dist/input-gateway/index.js +5 -0
  36. package/dist/input-gateway/index.js.map +1 -1
  37. package/dist/input-gateway/routers/ParkingSourcesRouter.d.ts +12 -0
  38. package/dist/input-gateway/routers/ParkingSourcesRouter.js +39 -0
  39. package/dist/input-gateway/routers/ParkingSourcesRouter.js.map +1 -0
  40. package/dist/integration-engine/ParkingInterface.d.ts +6 -0
  41. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.d.ts +9 -0
  42. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js +34 -0
  43. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js.map +1 -0
  44. package/dist/integration-engine/datasources/TskParkingDataSourceFactory.d.ts +8 -0
  45. package/dist/integration-engine/datasources/TskParkingDataSourceFactory.js +51 -0
  46. package/dist/integration-engine/datasources/TskParkingDataSourceFactory.js.map +1 -0
  47. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.d.ts +3 -0
  48. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js +8 -0
  49. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js.map +1 -0
  50. package/dist/integration-engine/datasources/interfaces/IDataSourceProvider.d.ts +4 -0
  51. package/dist/integration-engine/datasources/interfaces/IDataSourceProvider.js +3 -0
  52. package/dist/integration-engine/datasources/interfaces/IDataSourceProvider.js.map +1 -0
  53. package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.d.ts +10 -0
  54. package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.js +4 -0
  55. package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.js.map +1 -0
  56. package/dist/integration-engine/datasources/mr-parkit/MrParkitDataSourceProvider.d.ts +13 -0
  57. package/dist/integration-engine/datasources/mr-parkit/MrParkitDataSourceProvider.js +51 -0
  58. package/dist/integration-engine/datasources/mr-parkit/MrParkitDataSourceProvider.js.map +1 -0
  59. package/dist/integration-engine/index.d.ts +5 -1
  60. package/dist/integration-engine/index.js +5 -1
  61. package/dist/integration-engine/index.js.map +1 -1
  62. package/dist/integration-engine/ioc/Di.js +35 -1
  63. package/dist/integration-engine/ioc/Di.js.map +1 -1
  64. package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +12 -0
  65. package/dist/integration-engine/ioc/ModuleContainerToken.js +14 -0
  66. package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
  67. package/dist/integration-engine/repositories/ParkingMachinesRepository.d.ts +4 -0
  68. package/dist/integration-engine/repositories/ParkingMachinesRepository.js +35 -0
  69. package/dist/integration-engine/repositories/ParkingMachinesRepository.js.map +1 -0
  70. package/dist/integration-engine/repositories/ParkingSourcesRepository.d.ts +4 -0
  71. package/dist/integration-engine/repositories/ParkingSourcesRepository.js +23 -0
  72. package/dist/integration-engine/repositories/ParkingSourcesRepository.js.map +1 -0
  73. package/dist/integration-engine/transformations/MrParkitGarageTransformation.d.ts +14 -0
  74. package/dist/integration-engine/transformations/MrParkitGarageTransformation.js +61 -0
  75. package/dist/integration-engine/transformations/MrParkitGarageTransformation.js.map +1 -0
  76. package/dist/integration-engine/transformations/TskParkingMachinesTransformation.d.ts +7 -0
  77. package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js +24 -0
  78. package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js.map +1 -0
  79. package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.d.ts +9 -0
  80. package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.js +42 -0
  81. package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.js.map +1 -0
  82. package/dist/integration-engine/transformations/TskParkingSectionTransformation.d.ts +10 -0
  83. package/dist/integration-engine/transformations/TskParkingSectionTransformation.js +66 -0
  84. package/dist/integration-engine/transformations/TskParkingSectionTransformation.js.map +1 -0
  85. package/dist/integration-engine/transformations/TskParkingZonesTariffsTransformation.d.ts +14 -0
  86. package/dist/integration-engine/transformations/TskParkingZonesTariffsTransformation.js +84 -0
  87. package/dist/integration-engine/transformations/TskParkingZonesTariffsTransformation.js.map +1 -0
  88. package/dist/integration-engine/transformations/interfaces/IMrParkitGarageTransformation.d.ts +10 -0
  89. package/dist/integration-engine/transformations/interfaces/IMrParkitGarageTransformation.js +3 -0
  90. package/dist/integration-engine/transformations/interfaces/IMrParkitGarageTransformation.js.map +1 -0
  91. package/dist/integration-engine/workers/NewParkingsWorker.d.ts +3 -2
  92. package/dist/integration-engine/workers/NewParkingsWorker.js +10 -1
  93. package/dist/integration-engine/workers/NewParkingsWorker.js.map +1 -1
  94. package/dist/integration-engine/workers/ParkingSourcesWorker.d.ts +5 -0
  95. package/dist/integration-engine/workers/ParkingSourcesWorker.js +18 -0
  96. package/dist/integration-engine/workers/ParkingSourcesWorker.js.map +1 -0
  97. package/dist/integration-engine/workers/TskParkingWorker.d.ts +5 -0
  98. package/dist/integration-engine/workers/TskParkingWorker.js +31 -0
  99. package/dist/integration-engine/workers/TskParkingWorker.js.map +1 -0
  100. package/dist/integration-engine/workers/constants.d.ts +1 -0
  101. package/dist/integration-engine/workers/constants.js +5 -0
  102. package/dist/integration-engine/workers/constants.js.map +1 -0
  103. package/dist/integration-engine/workers/schemas/ParkingSourceSchema.d.ts +9 -0
  104. package/dist/integration-engine/workers/schemas/ParkingSourceSchema.js +44 -0
  105. package/dist/integration-engine/workers/schemas/ParkingSourceSchema.js.map +1 -0
  106. package/dist/integration-engine/workers/tasks/SaveMrParkitDataTask.d.ts +14 -0
  107. package/dist/integration-engine/workers/tasks/SaveMrParkitDataTask.js +115 -0
  108. package/dist/integration-engine/workers/tasks/SaveMrParkitDataTask.js.map +1 -0
  109. package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.d.ts +13 -0
  110. package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.js +31 -0
  111. package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.js.map +1 -0
  112. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.d.ts +15 -0
  113. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.js +40 -0
  114. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.js.map +1 -0
  115. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.d.ts +13 -0
  116. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.js +41 -0
  117. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.js.map +1 -0
  118. package/dist/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.d.ts +11 -0
  119. package/dist/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.js +33 -0
  120. package/dist/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.js.map +1 -0
  121. package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.d.ts +14 -0
  122. package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.js +36 -0
  123. package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.js.map +1 -0
  124. package/dist/output-gateway/controllers/v3/V3ParkingController.d.ts +9 -0
  125. package/dist/output-gateway/controllers/v3/V3ParkingController.js +79 -0
  126. package/dist/output-gateway/controllers/v3/V3ParkingController.js.map +1 -0
  127. package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.d.ts +9 -0
  128. package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.js +78 -0
  129. package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.js.map +1 -0
  130. package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.d.ts +9 -0
  131. package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.js +70 -0
  132. package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.js.map +1 -0
  133. package/dist/output-gateway/data-access/ParkingMachinesRepository.d.ts +10 -0
  134. package/dist/output-gateway/data-access/ParkingMachinesRepository.js +101 -0
  135. package/dist/output-gateway/data-access/ParkingMachinesRepository.js.map +1 -0
  136. package/dist/output-gateway/data-access/ParkingRepository.d.ts +14 -0
  137. package/dist/output-gateway/data-access/ParkingRepository.js +141 -0
  138. package/dist/output-gateway/data-access/ParkingRepository.js.map +1 -0
  139. package/dist/output-gateway/data-access/TariffRepository.d.ts +10 -0
  140. package/dist/output-gateway/data-access/TariffRepository.js +99 -0
  141. package/dist/output-gateway/data-access/TariffRepository.js.map +1 -0
  142. package/dist/output-gateway/helpers/params/IPaginationParams.d.ts +4 -0
  143. package/dist/output-gateway/helpers/params/IPaginationParams.js +3 -0
  144. package/dist/output-gateway/helpers/params/IPaginationParams.js.map +1 -0
  145. package/dist/output-gateway/helpers/params/IParkingMachinesParams.d.ts +9 -0
  146. package/dist/output-gateway/helpers/params/IParkingMachinesParams.js +3 -0
  147. package/dist/output-gateway/helpers/params/IParkingMachinesParams.js.map +1 -0
  148. package/dist/output-gateway/helpers/params/IParkingParams.d.ts +10 -0
  149. package/dist/output-gateway/helpers/params/IParkingParams.js +3 -0
  150. package/dist/output-gateway/helpers/params/IParkingParams.js.map +1 -0
  151. package/dist/output-gateway/helpers/params/IParkingTariffsParams.d.ts +7 -0
  152. package/dist/output-gateway/helpers/params/IParkingTariffsParams.js +3 -0
  153. package/dist/output-gateway/helpers/params/IParkingTariffsParams.js.map +1 -0
  154. package/dist/output-gateway/index.js +9 -1
  155. package/dist/output-gateway/index.js.map +1 -1
  156. package/dist/output-gateway/ioc/Di.d.ts +3 -0
  157. package/dist/output-gateway/ioc/Di.js +30 -0
  158. package/dist/output-gateway/ioc/Di.js.map +1 -0
  159. package/dist/output-gateway/ioc/ModuleContainerToken.d.ts +9 -0
  160. package/dist/output-gateway/ioc/ModuleContainerToken.js +13 -0
  161. package/dist/output-gateway/ioc/ModuleContainerToken.js.map +1 -0
  162. package/dist/output-gateway/models/ParkingsLocationModel.d.ts +1 -1
  163. package/dist/output-gateway/models/ParkingsLocationModel.js +19 -5
  164. package/dist/output-gateway/models/ParkingsLocationModel.js.map +1 -1
  165. package/dist/output-gateway/models/ParkingsModel.d.ts +6 -4
  166. package/dist/output-gateway/models/ParkingsModel.js +46 -10
  167. package/dist/output-gateway/models/ParkingsModel.js.map +1 -1
  168. package/dist/output-gateway/models/ParkingsTariffsModel.d.ts +5 -1
  169. package/dist/output-gateway/models/ParkingsTariffsModel.js +17 -2
  170. package/dist/output-gateway/models/ParkingsTariffsModel.js.map +1 -1
  171. package/dist/output-gateway/models/index.js +4 -2
  172. package/dist/output-gateway/models/index.js.map +1 -1
  173. package/dist/output-gateway/routers/constants.d.ts +2 -1
  174. package/dist/output-gateway/routers/constants.js +1 -0
  175. package/dist/output-gateway/routers/constants.js.map +1 -1
  176. package/dist/output-gateway/routers/index.d.ts +3 -0
  177. package/dist/output-gateway/routers/index.js +3 -0
  178. package/dist/output-gateway/routers/index.js.map +1 -1
  179. package/dist/output-gateway/routers/v2/V2ParkingRouter.js +25 -4
  180. package/dist/output-gateway/routers/v2/V2ParkingRouter.js.map +1 -1
  181. package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.d.ts +3 -0
  182. package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js +43 -0
  183. package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js.map +1 -0
  184. package/dist/output-gateway/routers/v3/V3ParkingRouter.d.ts +3 -0
  185. package/dist/output-gateway/routers/v3/V3ParkingRouter.js +57 -0
  186. package/dist/output-gateway/routers/v3/V3ParkingRouter.js.map +1 -0
  187. package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.d.ts +3 -0
  188. package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.js +31 -0
  189. package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.js.map +1 -0
  190. package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.d.ts +8 -0
  191. package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.js +56 -0
  192. package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.js.map +1 -0
  193. package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.d.ts +27 -0
  194. package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.js +3 -0
  195. package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.js.map +1 -0
  196. package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.d.ts +9 -0
  197. package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js +68 -0
  198. package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js.map +1 -0
  199. package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.d.ts +8 -0
  200. package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js +35 -0
  201. package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js.map +1 -0
  202. package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.d.ts +11 -0
  203. package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.js +88 -0
  204. package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.js.map +1 -0
  205. package/dist/schema-definitions/datasources/InputParkingSourceSchema.d.ts +3 -0
  206. package/dist/schema-definitions/datasources/InputParkingSourceSchema.js +17 -0
  207. package/dist/schema-definitions/datasources/InputParkingSourceSchema.js.map +1 -0
  208. package/dist/schema-definitions/datasources/MrParkitJsonSchema.d.ts +3 -0
  209. package/dist/schema-definitions/datasources/MrParkitJsonSchema.js +31 -0
  210. package/dist/schema-definitions/datasources/MrParkitJsonSchema.js.map +1 -0
  211. package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.d.ts +111 -3
  212. package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.js +16 -0
  213. package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.js.map +1 -1
  214. package/dist/schema-definitions/datasources/TskParkingMachinesSchema.d.ts +3 -0
  215. package/dist/schema-definitions/datasources/TskParkingMachinesSchema.js +23 -0
  216. package/dist/schema-definitions/datasources/TskParkingMachinesSchema.js.map +1 -0
  217. package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.d.ts +3 -0
  218. package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.js +25 -0
  219. package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.js.map +1 -0
  220. package/dist/schema-definitions/datasources/TskParkingSectionSchema.d.ts +3 -0
  221. package/dist/schema-definitions/datasources/TskParkingSectionSchema.js +23 -0
  222. package/dist/schema-definitions/datasources/TskParkingSectionSchema.js.map +1 -0
  223. package/dist/schema-definitions/datasources/TskParkingZoneTariffSchema.d.ts +3 -0
  224. package/dist/schema-definitions/datasources/TskParkingZoneTariffSchema.js +105 -0
  225. package/dist/schema-definitions/datasources/TskParkingZoneTariffSchema.js.map +1 -0
  226. package/dist/schema-definitions/datasources/interfaces/IMrParkitGarage.d.ts +8 -0
  227. package/dist/schema-definitions/datasources/interfaces/IMrParkitGarage.js +3 -0
  228. package/dist/schema-definitions/datasources/interfaces/IMrParkitGarage.js.map +1 -0
  229. package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.d.ts +9 -0
  230. package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.js +3 -0
  231. package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.js.map +1 -0
  232. package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.d.ts +9 -0
  233. package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.js +3 -0
  234. package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.js.map +1 -0
  235. package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.d.ts +11 -0
  236. package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.js +3 -0
  237. package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.js.map +1 -0
  238. package/dist/schema-definitions/datasources/interfaces/ITskParkingZoneTariff.d.ts +57 -0
  239. package/dist/schema-definitions/datasources/interfaces/ITskParkingZoneTariff.js +3 -0
  240. package/dist/schema-definitions/datasources/interfaces/ITskParkingZoneTariff.js.map +1 -0
  241. package/dist/schema-definitions/index.d.ts +3 -0
  242. package/dist/schema-definitions/index.js +9 -2
  243. package/dist/schema-definitions/index.js.map +1 -1
  244. package/dist/schema-definitions/models/ParkingMachinesModel.d.ts +14 -0
  245. package/dist/schema-definitions/models/ParkingMachinesModel.js +21 -0
  246. package/dist/schema-definitions/models/ParkingMachinesModel.js.map +1 -0
  247. package/dist/schema-definitions/models/ParkingSourcesModel.d.ts +12 -0
  248. package/dist/schema-definitions/models/ParkingSourcesModel.js +20 -0
  249. package/dist/schema-definitions/models/ParkingSourcesModel.js.map +1 -0
  250. package/dist/schema-definitions/models/interfaces/IAddress.d.ts +8 -0
  251. package/dist/schema-definitions/models/interfaces/IAddress.js +3 -0
  252. package/dist/schema-definitions/models/interfaces/IAddress.js.map +1 -0
  253. package/dist/schema-definitions/models/interfaces/IParking.d.ts +28 -0
  254. package/dist/schema-definitions/models/interfaces/IParking.js +3 -0
  255. package/dist/schema-definitions/models/interfaces/IParking.js.map +1 -0
  256. package/dist/schema-definitions/models/interfaces/IParkingLocation.d.ts +13 -0
  257. package/dist/schema-definitions/models/interfaces/IParkingLocation.js +3 -0
  258. package/dist/schema-definitions/models/interfaces/IParkingLocation.js.map +1 -0
  259. package/dist/schema-definitions/models/interfaces/IParkingMachine.d.ts +10 -0
  260. package/dist/schema-definitions/models/interfaces/IParkingMachine.js +3 -0
  261. package/dist/schema-definitions/models/interfaces/IParkingMachine.js.map +1 -0
  262. package/dist/schema-definitions/{datasources → models}/interfaces/IParkingTariffDto.d.ts +8 -2
  263. package/dist/schema-definitions/models/interfaces/IParkingTariffDto.js.map +1 -0
  264. package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.d.ts +6 -0
  265. package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.js +3 -0
  266. package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.js.map +1 -0
  267. package/docs/implementation-documentation.md +150 -13
  268. package/docs/openapi-admin-input.yaml +90 -0
  269. package/docs/openapi-output.yaml +891 -58
  270. package/package.json +5 -3
  271. package/dist/schema-definitions/datasources/interfaces/IParkingTariffDto.js.map +0 -1
  272. /package/dist/schema-definitions/{datasources → models}/interfaces/IParkingTariffDto.js +0 -0
@@ -0,0 +1,14 @@
1
+ import { Point } from "@golemio/core/dist/shared/geojson";
2
+ import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
3
+ import { IParkingMachine } from "./interfaces/IParkingMachine";
4
+ export declare class ParkingMachinesModel extends Model<IParkingMachine> implements IParkingMachine {
5
+ static tableName: string;
6
+ id: string;
7
+ source: string;
8
+ code: string;
9
+ type: string;
10
+ location: Point;
11
+ validFrom: Date;
12
+ tariffId: string;
13
+ static attributeModel: ModelAttributes<ParkingMachinesModel>;
14
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParkingMachinesModel = void 0;
4
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
5
+ class ParkingMachinesModel extends sequelize_1.Model {
6
+ }
7
+ exports.ParkingMachinesModel = ParkingMachinesModel;
8
+ ParkingMachinesModel.tableName = "parking_machines";
9
+ ParkingMachinesModel.attributeModel = {
10
+ id: {
11
+ primaryKey: true,
12
+ type: sequelize_1.DataTypes.STRING,
13
+ },
14
+ source: sequelize_1.DataTypes.STRING,
15
+ code: sequelize_1.DataTypes.STRING,
16
+ type: sequelize_1.DataTypes.STRING,
17
+ location: sequelize_1.DataTypes.GEOMETRY,
18
+ validFrom: sequelize_1.DataTypes.DATE,
19
+ tariffId: sequelize_1.DataTypes.STRING,
20
+ };
21
+ //# sourceMappingURL=ParkingMachinesModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkingMachinesModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/ParkingMachinesModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAGxF,MAAa,oBAAqB,SAAQ,iBAAsB;;AAAhE,oDAuBC;AAtBiB,8BAAS,GAAG,kBAAkB,CAAC;AAU/B,mCAAc,GAA0C;IAClE,EAAE,EAAE;QACA,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,MAAM,EAAE,qBAAS,CAAC,MAAM;IACxB,IAAI,EAAE,qBAAS,CAAC,MAAM;IACtB,IAAI,EAAE,qBAAS,CAAC,MAAM;IACtB,QAAQ,EAAE,qBAAS,CAAC,QAAQ;IAC5B,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,QAAQ,EAAE,qBAAS,CAAC,MAAM;CAC7B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
2
+ import { IParkingSource } from "../../helpers/interfaces/IParkingSource";
3
+ export declare class ParkingSourcesModel extends Model<IParkingSource> implements IParkingSource {
4
+ static tableName: string;
5
+ source: string;
6
+ open_data: boolean;
7
+ api_v3_allowed: boolean;
8
+ legacy_api_allowed: boolean;
9
+ payment_url: string | null;
10
+ contact: object | null;
11
+ static attributeModel: ModelAttributes<ParkingSourcesModel>;
12
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParkingSourcesModel = void 0;
4
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
5
+ class ParkingSourcesModel extends sequelize_1.Model {
6
+ }
7
+ exports.ParkingSourcesModel = ParkingSourcesModel;
8
+ ParkingSourcesModel.tableName = "parking_sources";
9
+ ParkingSourcesModel.attributeModel = {
10
+ source: {
11
+ primaryKey: true,
12
+ type: sequelize_1.DataTypes.STRING,
13
+ },
14
+ open_data: sequelize_1.DataTypes.BOOLEAN,
15
+ api_v3_allowed: sequelize_1.DataTypes.BOOLEAN,
16
+ legacy_api_allowed: sequelize_1.DataTypes.BOOLEAN,
17
+ payment_url: sequelize_1.DataTypes.STRING,
18
+ contact: sequelize_1.DataTypes.JSON,
19
+ };
20
+ //# sourceMappingURL=ParkingSourcesModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkingSourcesModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/ParkingSourcesModel.ts"],"names":[],"mappings":";;;AAAA,mEAAwF;AAGxF,MAAa,mBAAoB,SAAQ,iBAAqB;;AAA9D,kDAqBC;AApBiB,6BAAS,GAAG,iBAAiB,CAAC;AAS9B,kCAAc,GAAyC;IACjE,MAAM,EAAE;QACJ,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,SAAS,EAAE,qBAAS,CAAC,OAAO;IAC5B,cAAc,EAAE,qBAAS,CAAC,OAAO;IACjC,kBAAkB,EAAE,qBAAS,CAAC,OAAO;IACrC,WAAW,EAAE,qBAAS,CAAC,MAAM;IAC7B,OAAO,EAAE,qBAAS,CAAC,IAAI;CAC1B,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface IAddress {
2
+ address_formatted: string;
3
+ street_address?: string;
4
+ postal_code?: string;
5
+ address_locality?: string;
6
+ address_region?: string;
7
+ address_country: string;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAddress.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IAddress.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import { IGeoCoordinatesPoint, TGeoCoordinates } from "@golemio/core/dist/output-gateway/Geo";
2
+ import { IAddress } from "./IAddress";
3
+ import { IParkingLocation } from "./IParkingLocation";
4
+ export interface IParkingWithLocation extends IParking {
5
+ parking_locations: IParkingLocation[];
6
+ }
7
+ export interface IParking {
8
+ id: string;
9
+ source: string;
10
+ source_id: string;
11
+ data_provider: string;
12
+ date_modified: Date;
13
+ location: TGeoCoordinates;
14
+ address?: IAddress;
15
+ name: string;
16
+ web_app_payment_url?: string;
17
+ android_app_payment_url?: string;
18
+ ios_app_payment_url?: string;
19
+ total_spot_number: number;
20
+ category?: string;
21
+ tariff_id?: string;
22
+ valid_from?: Date;
23
+ valid_to?: Date;
24
+ parking_type: string;
25
+ zone_type?: string | null;
26
+ centroid?: IGeoCoordinatesPoint;
27
+ updated_at?: Date;
28
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IParking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IParking.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IParking.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { IGeoCoordinatesPoint, TGeoCoordinates } from "@golemio/core/dist/output-gateway/Geo";
2
+ import { IAddress } from "./IAddress";
3
+ export interface IParkingLocation {
4
+ id: string;
5
+ data_provider: string;
6
+ location: TGeoCoordinates;
7
+ address?: IAddress;
8
+ centroid?: IGeoCoordinatesPoint;
9
+ total_spot_number: number;
10
+ source: string;
11
+ source_id: string;
12
+ special_access?: string;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IParkingLocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IParkingLocation.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IParkingLocation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { Geometry } from "@golemio/core/dist/shared/geojson";
2
+ export interface IParkingMachine {
3
+ id: string;
4
+ source: string;
5
+ code: string;
6
+ type: string;
7
+ location: Geometry;
8
+ validFrom: Date;
9
+ tariffId: string;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IParkingMachine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IParkingMachine.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IParkingMachine.ts"],"names":[],"mappings":""}
@@ -1,7 +1,8 @@
1
+ import { IParkingTariffPeriod } from "./tariff/IParkingTariffPeriod";
1
2
  export interface IParkingTariffDto {
2
3
  tariff_id: string;
3
4
  source: string;
4
- last_updated: string;
5
+ last_updated: Date;
5
6
  payment_mode: string;
6
7
  payment_additional_description: string;
7
8
  free_of_charge: boolean;
@@ -12,7 +13,7 @@ export interface IParkingTariffDto {
12
13
  accepts_mobile_payment: boolean;
13
14
  accepts_litacka: boolean;
14
15
  charge_currency: string;
15
- charge: number;
16
+ charge: string;
16
17
  charge_type: string;
17
18
  charge_order_index: number;
18
19
  charge_interval: number;
@@ -22,4 +23,9 @@ export interface IParkingTariffDto {
22
23
  end_time_of_period: string;
23
24
  allowed_vehicle_type: string;
24
25
  allowed_fuel_type: string;
26
+ valid_from: Date;
27
+ valid_to: Date;
28
+ maximum_duration_seconds: number;
29
+ periods_of_time: IParkingTariffPeriod[];
30
+ updated_at?: Date;
25
31
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IParkingTariffDto.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IParkingTariffDto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface IParkingTariffPeriod {
2
+ day_in_week: string;
3
+ start: string;
4
+ end: string;
5
+ ph: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IParkingTariffPeriod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IParkingTariffPeriod.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.ts"],"names":[],"mappings":""}
@@ -10,6 +10,7 @@ Modul slouží k ukládání a poskytování informací o parkování.
10
10
  - TSK (Praha)
11
11
  - IPR (Praha)
12
12
  - IPT/OICT
13
+ - TSK (Praha) API v2
13
14
 
14
15
  ## Vstupní data
15
16
 
@@ -22,9 +23,13 @@ Modul slouží k ukládání a poskytování informací o parkování.
22
23
 
23
24
  - na FTP, dodavatel TSK (parkovací zóny)
24
25
 
26
+ - Data poskytovatelů přes /source
27
+ - slouží pro administraci a update statických hodnot k poskytovatelům parkovišť
28
+ - POST (/source) => RabbitMq send Message `saveParkingSourceToDB` ([Data example](../test/input-gateway/data/parkingSourceInput.json))
29
+
25
30
  ### Data aktivně stahujeme
26
31
 
27
- Data stahujeme pravidelně od IPR, TSK.
32
+ Data stahujeme pravidelně od IPR, TSK a z nového API TSK (značené jako v2).
28
33
 
29
34
  Pro ZTP parkoviště se z API se stahuje JSON z https://opendata.iprpraha.cz/CUR/DOP/DOP_TSK_Stani_ZTP_b/WGS_84/DOP_TSK_Stani_ZTP_b.json
30
35
 
@@ -35,6 +40,7 @@ Pro statické (ručně vytvořené) polygony placených parkovišť se stahuje G
35
40
  #### Zóny placeného stání
36
41
 
37
42
  Zóny placeného stání používají 2 datové zdroje - TSK a Opendata IPR, které mají přesnější geometrii.
43
+ Další datový zdroj zón je API TSK (CIS VHD CD API) značené jako v2
38
44
 
39
45
  - zdroj dat (**TSK**):
40
46
 
@@ -93,6 +99,54 @@ Zóny placeného stání používají 2 datové zdroje - TSK a Opendata IPR, kte
93
99
  - název rabbitmq fronty
94
100
  - dataplatform.parkings.saveParkingZonesPrague
95
101
 
102
+ - zdroj dat (**TSK v2**):
103
+
104
+ config HTTPProtocolStrategy:
105
+
106
+ ```
107
+ headers: {
108
+ Authorization: `Basic jmeno:heslo`,
109
+ },
110
+ method: "GET",
111
+ url: this.config.datasources.parking.TskApiBaseUrl + this.config.datasources.parking.TskApiEndpoints[endpoint],
112
+ ```
113
+
114
+ - formát dat (**TSK v2**)
115
+
116
+ - zdroj používá 4 datové zdroje: sections, sectionList level 251 (zóny plac. stání) a level 253 (ZTP), tariffs
117
+ - protokol: http
118
+ - datový typ: json
119
+ - validační schéma sections: https://gitlab.com/operator-ict/golemio/code/modules/parkings/-/blob/development/src/schema-definitions/datasources/TskParkingSectionSchema.ts
120
+ - validační schéma sections level (251 i 253): https://gitlab.com/operator-ict/golemio/code/modules/parkings/-/blob/development/src/schema-definitions/datasources/TskParkingSectionLevelSchema.ts
121
+ - validační schéma tarify: https://gitlab.com/operator-ict/golemio/code/modules/parkings/-/blob/development/src/schema-definitions/datasources/TskParkingZoneTariffSchema.ts
122
+
123
+ - transformace a ukládání:
124
+ - sections => parkings
125
+ - section levels => parkings_location
126
+ - tariffs => parkings_tariffs
127
+
128
+ - frekvence stahování
129
+
130
+ - cron definice:
131
+ - cron.dataplatform.parkings.saveParkingZonesPrague (`0 0 4 * * *`)
132
+
133
+ #### Parkovací automaty TSK
134
+
135
+ - zdroj dat (**TSK v2**) je stejný, jako pro zóny, liší se jen konec URL: "ParkMachine/list"
136
+
137
+ - formát dat (**TSK v2**)
138
+
139
+ - protokol: http
140
+ - datový typ: json
141
+ - validační schéma: https://gitlab.com/operator-ict/golemio/code/modules/parkings/-/blob/development/src/schema-definitions/datasources/TskParkingMachinesSchema.ts
142
+
143
+ - frekvence stahování
144
+
145
+ - cron definice:
146
+ - cron.dataplatform.parkings.saveParkingZonesPrague (`0 0 4 * * *`)
147
+
148
+ - cílová tabulka: `parking_machines`
149
+
96
150
  #### Placené parkoviště
97
151
 
98
152
  - zdroj dat (**TSK**):
@@ -128,6 +182,26 @@ Parkoviště, která nemají tarif (je null), mohou dostat tarif ze statického
128
182
 
129
183
  Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje IPT (výměna bodu za multipolygon). Původní bod je uložen do centroidu.
130
184
 
185
+ #### _MR.PARKIT Garages_
186
+
187
+ - zdroj dat
188
+ - url: config.datasources.parkings.mrParkit.datasource.url
189
+ - parametry dotazu:
190
+ - apiVersion: config.datasources.parkings.mrParkit.datasource.apiVersion
191
+ - apiKey: config.datasources.parkings.mrParkit.datasource.apiKey
192
+ - formát dat
193
+ - protokol: http
194
+ - datový typ: json
195
+ - validační schéma: [mrParkitJsonSchema](../src/schema-definitions/datasources/MrParkitJsonSchema.ts)
196
+ - příklad vstupnich dat: [InputDataFixture](../test/integration-engine/data/MrParkitInputDataFixture.ts)
197
+ - frekvence stahování
198
+ - cron definice:
199
+ - cron.dataplatform.parkings.saveMrParkitData
200
+ - rabin `0 */15 * * * *`
201
+ - prod `0 */15 * * * *`
202
+ - názvy rabbitmq front
203
+ - dataplatform.parkings.saveMrParkitData
204
+
131
205
  ## Zpracování dat / transformace
132
206
 
133
207
  Při transformaci dat lokací data obohacujeme o adresu parkoviště, která vychází z centroidu geometrie daného parkoviště a získává se z Photon API metodou `GeocodeApi.getAddressByLatLngFromPhoton` v modulu Core.
@@ -161,6 +235,20 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
161
235
  - Další zpracování TariffTSK
162
236
  - před uložením jsou ceníky zkontrolovány podle pravidel: `ZeroMaxParkingTime`, `MaxChargeIterationsRule`, `MaxPriceRule`. Pokud jedno z pravidel není splněno tak se všechny položky se stejným cTariff přeskočí a tudíž neuloží do databáze. Záznam o tom, které položky neprošly kontrolou se uloží do tabulky `parkings_business_errors`
163
237
 
238
+ #### Task _SaveMrParkitData_
239
+
240
+ - vstupní rabbitmq fronta
241
+ - název: `dataplatform.parkings.saveMrParkitData`
242
+ - bez parametrů
243
+ - datové zdroje
244
+ - dataSourceMrParkit (http)
245
+ - transformace
246
+ - [MrParkitGarageTransformation](../src/integration-engine/workers/tasks/SaveMrParkitDataTask.ts) - transformace parkovišť, lokací i measurementů (pro každou garáž nálezí vždy jeden business objekt od každého)
247
+ - data modely
248
+ - parkingsModel -> (schéma parkings) `parkings`
249
+ - parkingsLocationModel -> (schéma parkings) `parkings_location`
250
+ - parkingsMeasurementsModel -> (schéma parkings) `parkings_measurements`
251
+
164
252
  ### Worker *ParkingsWorker*
165
253
 
166
254
  #### *saveParkingLotsPrague*
@@ -253,6 +341,12 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
253
341
  - parkingsModel -> (schéma public) `parkings`
254
342
  - parkingTariffsmodel -> (schéma public) `parkings_tariffs`
255
343
 
344
+ ### Worker ParkingSourcesWorker
345
+
346
+ - ukládá data z queue `saveParkingSourceToDB` do db
347
+ - zdroj je IG přes `ParkingSourcesRouter`
348
+ - transformace není
349
+
256
350
  ## Uložení dat
257
351
 
258
352
  - typ databáze
@@ -273,12 +367,11 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
273
367
  - [OpenAPI](./openapi.yaml)
274
368
  - veřejné / neveřejné endpointy
275
369
  - částečně veřejná na úrovni filtrování podle poskytovatele dat
276
- - postman kolekce
277
- - TBD
370
+ - verze 3 neveřejná
278
371
 
279
- #### _/parking_
372
+ #### _/v2/parking_
280
373
 
281
- #### _/parking/:id_
374
+ #### _/v2/parking/:id_
282
375
 
283
376
  - zdrojové tabulky
284
377
  - parkings
@@ -287,23 +380,23 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
287
380
  - `reservation_url` - přidáno volitelný atribut, který použijeme v datech od MPLA
288
381
  - Nový číselník `payment_methods`. Example: `{ payment_methods: ["card_online", "cash"] }`
289
382
 
290
- #### _/parking/detail_
383
+ #### _/v2/parking/detail_
291
384
 
292
- #### _/parking/detail/:id_
385
+ #### _/v2/parking/detail/:id_
293
386
 
294
387
  - zdrojové tabulky
295
388
  - parkings
296
389
  - parkings_location
297
390
  - detailnejší geometrie, vychází z OpenData IPR a doplňuje parametry z TSK (ftp)
298
391
 
299
- #### _/parking/tariffs/_
392
+ #### _/v2/parking/tariffs/_
300
393
 
301
- #### _/parking/tariffs/:tariffId_
394
+ #### _/v2/parking/tariffs/:tariffId_
302
395
 
303
396
  - zdrojové tabulky
304
397
  - parkings_tariffs
305
398
 
306
- #### _/parking/measurements_
399
+ #### _/v2/parking/measurements_
307
400
 
308
401
  - zdrojové tabulky
309
402
  - parkings_measurements_part
@@ -311,9 +404,9 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
311
404
  - response header (`Link`) obsahuje metadata k předchozí a následující stránce
312
405
  - implementována možnost dotazování pomocí parametrů `limit` a `offset`
313
406
 
314
- #### _/parkings_
407
+ #### _/v1/parkings_
315
408
 
316
- #### _/parkings/:id_
409
+ #### _/v1/parkings/:id_
317
410
 
318
411
  _:warning: Deprecated, vyžijte /parking nebo /parking/detail_
319
412
 
@@ -330,7 +423,7 @@ _:warning: Deprecated, vyžijte /parking nebo /parking/detail_
330
423
  - navrácí pouze `tsk` data
331
424
  - používá sloupec centroid pro geolokaci, je nutné, aby vracel pouze body, ale parkoviště může být i multipolygon
332
425
 
333
- #### _/parkings/history_
426
+ #### _/v1/parkings/history_
334
427
 
335
428
  _:warning: Deprecated, využijte /parking/measurements_
336
429
 
@@ -339,3 +432,47 @@ _:warning: Deprecated, využijte /parking/measurements_
339
432
  - implementováno dodatečně
340
433
  - zpětně kompatibilní s Mongo GeoJSON history routerem
341
434
  - navrácí pouze `tsk` data
435
+
436
+ #### _/v3/parking_
437
+
438
+ - zdrojové tabulky
439
+ - parkings
440
+ - parkings_location
441
+ - added `special_access` column with possible values: `for_all, disabled, charging, parent, delivery, customer, resident, bus, designated, truck,motorcycle, RV`
442
+ - zatím vytvořeno pro nové API od TSK další budou následovat
443
+ - nový formát výstupu viz open api dokumentace
444
+
445
+ #### _/v3/parking/:id_
446
+
447
+ - zdrojové tabulky
448
+ - parkings
449
+ - parkings_location
450
+
451
+ #### _/v3/parking-tariff_
452
+
453
+ - zdrojové tabulky
454
+ - parkings_tariffs
455
+ - na výstupu děleno do charge bands a charges
456
+ - pod jedním tariffem může být více charge bands ~ každý řádek se stejným `tariff_id` je jeden charge band
457
+ - `valid_from` a `valid_to` se vztahují k charge band se vypočítá jako min a maximum z `valid_from` a `valid_to` ze všech chargů
458
+ - pod jedním charge band může být více charges pozná se podle `charge_band_name`
459
+
460
+
461
+ #### _/v3/parking-tariff/:id_
462
+
463
+ - zdrojové tabulky
464
+ - parkings_tariffs
465
+ - zobrazí konkrétní tariff, data stejná jako v `_/v3/parking-tariff_`
466
+
467
+ #### _/v3/parking-machines_
468
+
469
+ - zdrojové tabulky
470
+ - parkings_machines
471
+ - seznam parkovacích automatů s geometrií
472
+ - `type` nabývá hodnot: `payment_machine, info_box
473
+
474
+ #### _/v3/parking-machines/:id_
475
+
476
+ - zdrojové tabulky
477
+ - parkings_machines
478
+ - zobrazí konkrétní parkovací automat, data stejná jako v `_/v3/parking-machines_`
@@ -0,0 +1,90 @@
1
+ openapi: 3.0.3
2
+ info:
3
+ title: 🅿️ Parking Input Gateway
4
+ description: >-
5
+ <p>API gateway pro správu poskytovatelů parkovišť.</p>
6
+ version: 1.0.0
7
+ contact:
8
+ name: Golemio Prague Data Plaform
9
+ email: golemio@operatorict.cz
10
+ url: https://golemio.cz
11
+ servers:
12
+ - url: https://api.golemio.cz/
13
+ description: Main (production) server
14
+ - url: https://rabin.golemio.cz/
15
+ description: Test (development) server
16
+ tags:
17
+ - name: 🅿 ️Parking sources
18
+ description: ""
19
+ paths:
20
+ /parkings/source:
21
+ post:
22
+ summary: edit parking source
23
+ description: Pokud existuje poskytovatel s uvedeným source, tak se aktualizuje. Pokud ne, založí se nový.
24
+ tags:
25
+ - 🅿 ️Parking sources
26
+ requestBody:
27
+ required: true
28
+ content:
29
+ application/json:
30
+ schema:
31
+ $ref: "#/components/schemas/ParkingSource"
32
+ responses:
33
+ 204:
34
+ description: OK
35
+ 401:
36
+ $ref: "#/components/responses/UnauthorizedError"
37
+ 404:
38
+ description: Not found
39
+ 422:
40
+ description: Error while validating input data
41
+ 500:
42
+ description: Database error
43
+
44
+ components:
45
+ responses:
46
+ UnauthorizedError:
47
+ description: API key is missing or invalid
48
+ headers:
49
+ x-access-token:
50
+ schema:
51
+ type: string
52
+ schemas:
53
+ ParkingSource:
54
+ title: Parking Source
55
+ type: object
56
+ properties:
57
+ source:
58
+ type: string
59
+ example: "korid"
60
+ description: "unikátní identifikátor poskytovatele"
61
+ open_data:
62
+ type: boolean
63
+ description: "Jsou data poskytovatele open-data?"
64
+ api_v3_allowed:
65
+ type: boolean
66
+ description: "povolit výstup na API v3"
67
+ legacy_api_allowed:
68
+ type: boolean
69
+ description: "povolit výstup na starší api (v1, v2)."
70
+ payment_url:
71
+ type: string
72
+ nullable: true
73
+ example: "https://parking.liberec.cz/"
74
+ description: "URL, kde lze zaplatit parkovné"
75
+ contact:
76
+ type: object
77
+ nullable: true
78
+ properties:
79
+ email:
80
+ type: string
81
+ example: "pomoc@parking.liberec.cz"
82
+ phone:
83
+ type: string
84
+ example: "+420604295403"
85
+ web_url:
86
+ type: string
87
+ example: "https://parking.liberec.cz/"
88
+ term_of_use_url:
89
+ type: string
90
+ example: "https://www.liberec.cz/cz/prakticke-informace/doprava-udrzba-komunikaci/parkovaci-mista/parkovaci-mista.html"