@golemio/energetics 1.5.3-dev.2115789253 → 1.5.3-dev.2177936068

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 (253) hide show
  1. package/db/migrations/postgresql/20251110125059-eno-integration.js +53 -0
  2. package/db/migrations/postgresql/20251119123216-eno-stavby-geometrie.js +53 -0
  3. package/db/migrations/postgresql/sqls/20251110125059-eno-integration-down.sql +10 -0
  4. package/db/migrations/postgresql/sqls/20251110125059-eno-integration-up.sql +170 -0
  5. package/db/migrations/postgresql/sqls/20251119123216-eno-stavby-geometrie-down.sql +2 -0
  6. package/db/migrations/postgresql/sqls/20251119123216-eno-stavby-geometrie-up.sql +37 -0
  7. package/dist/integration-engine/enapo/constants.d.ts +1 -0
  8. package/dist/integration-engine/enapo/constants.js +2 -1
  9. package/dist/integration-engine/enapo/constants.js.map +1 -1
  10. package/dist/integration-engine/enapo/datasources/eno/EnoDatasource.d.ts +10 -0
  11. package/dist/integration-engine/enapo/datasources/eno/EnoDatasource.js +92 -0
  12. package/dist/integration-engine/enapo/datasources/eno/EnoDatasource.js.map +1 -0
  13. package/dist/integration-engine/enapo/datasources/eno/EnoDatasourceFactory.d.ts +15 -0
  14. package/dist/integration-engine/enapo/datasources/eno/EnoDatasourceFactory.js +47 -0
  15. package/dist/integration-engine/enapo/datasources/eno/EnoDatasourceFactory.js.map +1 -0
  16. package/dist/integration-engine/enapo/datasources/eno/EnoOperationEnum.d.ts +17 -0
  17. package/dist/integration-engine/enapo/datasources/eno/EnoOperationEnum.js +24 -0
  18. package/dist/integration-engine/enapo/datasources/eno/EnoOperationEnum.js.map +1 -0
  19. package/dist/integration-engine/enapo/helpers/Chunker.d.ts +3 -0
  20. package/dist/integration-engine/enapo/helpers/Chunker.js +14 -0
  21. package/dist/integration-engine/enapo/helpers/Chunker.js.map +1 -0
  22. package/dist/integration-engine/enapo/interfaces/eno/IEnoBuildingInfo.d.ts +10 -0
  23. package/dist/integration-engine/enapo/interfaces/eno/IEnoBuildingInfo.js +3 -0
  24. package/dist/integration-engine/enapo/interfaces/eno/IEnoBuildingInfo.js.map +1 -0
  25. package/dist/integration-engine/enapo/interfaces/eno/IEnoStructureInfo.d.ts +10 -0
  26. package/dist/integration-engine/enapo/interfaces/eno/IEnoStructureInfo.js +3 -0
  27. package/dist/integration-engine/enapo/interfaces/eno/IEnoStructureInfo.js.map +1 -0
  28. package/dist/integration-engine/enapo/interfaces/eno/IGeometryInputWithIndex.d.ts +4 -0
  29. package/dist/integration-engine/enapo/interfaces/eno/IGeometryInputWithIndex.js +3 -0
  30. package/dist/integration-engine/enapo/interfaces/eno/IGeometryInputWithIndex.js.map +1 -0
  31. package/dist/integration-engine/enapo/ioc/Di.js +43 -2
  32. package/dist/integration-engine/enapo/ioc/Di.js.map +1 -1
  33. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.d.ts +20 -0
  34. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js +22 -0
  35. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js.map +1 -1
  36. package/dist/integration-engine/enapo/repositories/eno/EnoAddressRepository.d.ts +5 -0
  37. package/dist/integration-engine/enapo/repositories/eno/EnoAddressRepository.js +32 -0
  38. package/dist/integration-engine/enapo/repositories/eno/EnoAddressRepository.js.map +1 -0
  39. package/dist/integration-engine/enapo/repositories/eno/EnoBuildingRepository.d.ts +5 -0
  40. package/dist/integration-engine/enapo/repositories/eno/EnoBuildingRepository.js +32 -0
  41. package/dist/integration-engine/enapo/repositories/eno/EnoBuildingRepository.js.map +1 -0
  42. package/dist/integration-engine/enapo/repositories/eno/EnoEJRepository.d.ts +5 -0
  43. package/dist/integration-engine/enapo/repositories/eno/EnoEJRepository.js +32 -0
  44. package/dist/integration-engine/enapo/repositories/eno/EnoEJRepository.js.map +1 -0
  45. package/dist/integration-engine/enapo/repositories/eno/EnoGeometryRepository.d.ts +5 -0
  46. package/dist/integration-engine/enapo/repositories/eno/EnoGeometryRepository.js +32 -0
  47. package/dist/integration-engine/enapo/repositories/eno/EnoGeometryRepository.js.map +1 -0
  48. package/dist/integration-engine/enapo/repositories/eno/EnoLocationRepository.d.ts +5 -0
  49. package/dist/integration-engine/enapo/repositories/eno/EnoLocationRepository.js +32 -0
  50. package/dist/integration-engine/enapo/repositories/eno/EnoLocationRepository.js.map +1 -0
  51. package/dist/integration-engine/enapo/repositories/eno/EnoManagerRepository.d.ts +5 -0
  52. package/dist/integration-engine/enapo/repositories/eno/EnoManagerRepository.js +32 -0
  53. package/dist/integration-engine/enapo/repositories/eno/EnoManagerRepository.js.map +1 -0
  54. package/dist/integration-engine/enapo/repositories/eno/EnoOrganizationRepository.d.ts +5 -0
  55. package/dist/integration-engine/enapo/repositories/eno/EnoOrganizationRepository.js +32 -0
  56. package/dist/integration-engine/enapo/repositories/eno/EnoOrganizationRepository.js.map +1 -0
  57. package/dist/integration-engine/enapo/repositories/eno/EnoPropertyRepository.d.ts +5 -0
  58. package/dist/integration-engine/enapo/repositories/eno/EnoPropertyRepository.js +32 -0
  59. package/dist/integration-engine/enapo/repositories/eno/EnoPropertyRepository.js.map +1 -0
  60. package/dist/integration-engine/enapo/repositories/eno/EnoRemovedGIDRepository.d.ts +5 -0
  61. package/dist/integration-engine/enapo/repositories/eno/EnoRemovedGIDRepository.js +32 -0
  62. package/dist/integration-engine/enapo/repositories/eno/EnoRemovedGIDRepository.js.map +1 -0
  63. package/dist/integration-engine/enapo/repositories/eno/EnoStructureRepository.d.ts +5 -0
  64. package/dist/integration-engine/enapo/repositories/eno/EnoStructureRepository.js +32 -0
  65. package/dist/integration-engine/enapo/repositories/eno/EnoStructureRepository.js.map +1 -0
  66. package/dist/integration-engine/enapo/repositories/eno/EnoStructureTypeRepository.d.ts +5 -0
  67. package/dist/integration-engine/enapo/repositories/eno/EnoStructureTypeRepository.js +32 -0
  68. package/dist/integration-engine/enapo/repositories/eno/EnoStructureTypeRepository.js.map +1 -0
  69. package/dist/integration-engine/enapo/transformations/eno/EnoBuildingTransformation.d.ts +13 -0
  70. package/dist/integration-engine/enapo/transformations/eno/EnoBuildingTransformation.js +101 -0
  71. package/dist/integration-engine/enapo/transformations/eno/EnoBuildingTransformation.js.map +1 -0
  72. package/dist/integration-engine/enapo/transformations/eno/EnoEJTransformation.d.ts +7 -0
  73. package/dist/integration-engine/enapo/transformations/eno/EnoEJTransformation.js +42 -0
  74. package/dist/integration-engine/enapo/transformations/eno/EnoEJTransformation.js.map +1 -0
  75. package/dist/integration-engine/enapo/transformations/eno/EnoGeometryTransformation.d.ts +11 -0
  76. package/dist/integration-engine/enapo/transformations/eno/EnoGeometryTransformation.js +34 -0
  77. package/dist/integration-engine/enapo/transformations/eno/EnoGeometryTransformation.js.map +1 -0
  78. package/dist/integration-engine/enapo/transformations/eno/EnoManagerTransformation.d.ts +7 -0
  79. package/dist/integration-engine/enapo/transformations/eno/EnoManagerTransformation.js +50 -0
  80. package/dist/integration-engine/enapo/transformations/eno/EnoManagerTransformation.js.map +1 -0
  81. package/dist/integration-engine/enapo/transformations/eno/EnoOrganizationTransformation.d.ts +7 -0
  82. package/dist/integration-engine/enapo/transformations/eno/EnoOrganizationTransformation.js +31 -0
  83. package/dist/integration-engine/enapo/transformations/eno/EnoOrganizationTransformation.js.map +1 -0
  84. package/dist/integration-engine/enapo/transformations/eno/EnoStructureTransformation.d.ts +13 -0
  85. package/dist/integration-engine/enapo/transformations/eno/EnoStructureTransformation.js +92 -0
  86. package/dist/integration-engine/enapo/transformations/eno/EnoStructureTransformation.js.map +1 -0
  87. package/dist/integration-engine/enapo/transformations/eno/EnoStructureTypeTransformation.d.ts +7 -0
  88. package/dist/integration-engine/enapo/transformations/eno/EnoStructureTypeTransformation.js +32 -0
  89. package/dist/integration-engine/enapo/transformations/eno/EnoStructureTypeTransformation.js.map +1 -0
  90. package/dist/integration-engine/enapo/workers/EnapoWorker.js +4 -0
  91. package/dist/integration-engine/enapo/workers/EnapoWorker.js.map +1 -1
  92. package/dist/integration-engine/enapo/workers/interfaces/IEnoDataTaskInput.d.ts +9 -0
  93. package/dist/integration-engine/enapo/workers/interfaces/IEnoDataTaskInput.js +9 -0
  94. package/dist/integration-engine/enapo/workers/interfaces/IEnoDataTaskInput.js.map +1 -0
  95. package/dist/integration-engine/enapo/workers/interfaces/IEnoGeometryTaskInput.d.ts +4 -0
  96. package/dist/integration-engine/enapo/workers/interfaces/IEnoGeometryTaskInput.js +3 -0
  97. package/dist/integration-engine/enapo/workers/interfaces/IEnoGeometryTaskInput.js.map +1 -0
  98. package/dist/integration-engine/enapo/workers/interfaces/IEnoLookupTaskInput.d.ts +3 -0
  99. package/dist/integration-engine/enapo/workers/interfaces/IEnoLookupTaskInput.js +3 -0
  100. package/dist/integration-engine/enapo/workers/interfaces/IEnoLookupTaskInput.js.map +1 -0
  101. package/dist/integration-engine/enapo/workers/schema/EnoDataTaskInputSchema.d.ts +6 -0
  102. package/dist/integration-engine/enapo/workers/schema/EnoDataTaskInputSchema.js +31 -0
  103. package/dist/integration-engine/enapo/workers/schema/EnoDataTaskInputSchema.js.map +1 -0
  104. package/dist/integration-engine/enapo/workers/schema/EnoGeometryTaskInputSchema.d.ts +5 -0
  105. package/dist/integration-engine/enapo/workers/schema/EnoGeometryTaskInputSchema.js +27 -0
  106. package/dist/integration-engine/enapo/workers/schema/EnoGeometryTaskInputSchema.js.map +1 -0
  107. package/dist/integration-engine/enapo/workers/schema/EnoLookupTaskInputSchema.d.ts +4 -0
  108. package/dist/integration-engine/enapo/workers/schema/EnoLookupTaskInputSchema.js +22 -0
  109. package/dist/integration-engine/enapo/workers/schema/EnoLookupTaskInputSchema.js.map +1 -0
  110. package/dist/integration-engine/enapo/workers/task/EnoBuildingTask.d.ts +32 -0
  111. package/dist/integration-engine/enapo/workers/task/EnoBuildingTask.js +144 -0
  112. package/dist/integration-engine/enapo/workers/task/EnoBuildingTask.js.map +1 -0
  113. package/dist/integration-engine/enapo/workers/task/EnoGeometryTask.d.ts +15 -0
  114. package/dist/integration-engine/enapo/workers/task/EnoGeometryTask.js +69 -0
  115. package/dist/integration-engine/enapo/workers/task/EnoGeometryTask.js.map +1 -0
  116. package/dist/integration-engine/enapo/workers/task/EnoLookupTask.d.ts +34 -0
  117. package/dist/integration-engine/enapo/workers/task/EnoLookupTask.js +125 -0
  118. package/dist/integration-engine/enapo/workers/task/EnoLookupTask.js.map +1 -0
  119. package/dist/integration-engine/enapo/workers/task/EnoStructureTask.d.ts +33 -0
  120. package/dist/integration-engine/enapo/workers/task/EnoStructureTask.js +150 -0
  121. package/dist/integration-engine/enapo/workers/task/EnoStructureTask.js.map +1 -0
  122. package/dist/schema-definitions/datasources/eno/EnoBuldingInfoJsonSchema.d.ts +5 -0
  123. package/dist/schema-definitions/datasources/eno/EnoBuldingInfoJsonSchema.js +108 -0
  124. package/dist/schema-definitions/datasources/eno/EnoBuldingInfoJsonSchema.js.map +1 -0
  125. package/dist/schema-definitions/datasources/eno/EnoEJInputJsonSchema.d.ts +5 -0
  126. package/dist/schema-definitions/datasources/eno/EnoEJInputJsonSchema.js +45 -0
  127. package/dist/schema-definitions/datasources/eno/EnoEJInputJsonSchema.js.map +1 -0
  128. package/dist/schema-definitions/datasources/eno/EnoGIDListInputJsonSchema.d.ts +4 -0
  129. package/dist/schema-definitions/datasources/eno/EnoGIDListInputJsonSchema.js +16 -0
  130. package/dist/schema-definitions/datasources/eno/EnoGIDListInputJsonSchema.js.map +1 -0
  131. package/dist/schema-definitions/datasources/eno/EnoGeometryJsonSchema.d.ts +5 -0
  132. package/dist/schema-definitions/datasources/eno/EnoGeometryJsonSchema.js +24 -0
  133. package/dist/schema-definitions/datasources/eno/EnoGeometryJsonSchema.js.map +1 -0
  134. package/dist/schema-definitions/datasources/eno/EnoManagerInputJsonSchema.d.ts +5 -0
  135. package/dist/schema-definitions/datasources/eno/EnoManagerInputJsonSchema.js +50 -0
  136. package/dist/schema-definitions/datasources/eno/EnoManagerInputJsonSchema.js.map +1 -0
  137. package/dist/schema-definitions/datasources/eno/EnoOrganizationInputJsonSchema.d.ts +5 -0
  138. package/dist/schema-definitions/datasources/eno/EnoOrganizationInputJsonSchema.js +28 -0
  139. package/dist/schema-definitions/datasources/eno/EnoOrganizationInputJsonSchema.js.map +1 -0
  140. package/dist/schema-definitions/datasources/eno/EnoStructureInfoJsonSchema.d.ts +5 -0
  141. package/dist/schema-definitions/datasources/eno/EnoStructureInfoJsonSchema.js +102 -0
  142. package/dist/schema-definitions/datasources/eno/EnoStructureInfoJsonSchema.js.map +1 -0
  143. package/dist/schema-definitions/datasources/eno/EnoStructureTypeInputJsonSchema.d.ts +5 -0
  144. package/dist/schema-definitions/datasources/eno/EnoStructureTypeInputJsonSchema.js +29 -0
  145. package/dist/schema-definitions/datasources/eno/EnoStructureTypeInputJsonSchema.js.map +1 -0
  146. package/dist/schema-definitions/datasources/eno/interfaces/IAddressInput.d.ts +5 -0
  147. package/dist/schema-definitions/datasources/eno/interfaces/IAddressInput.js +3 -0
  148. package/dist/schema-definitions/datasources/eno/interfaces/IAddressInput.js.map +1 -0
  149. package/dist/schema-definitions/datasources/eno/interfaces/IBuildingInfoInput.d.ts +10 -0
  150. package/dist/schema-definitions/datasources/eno/interfaces/IBuildingInfoInput.js +3 -0
  151. package/dist/schema-definitions/datasources/eno/interfaces/IBuildingInfoInput.js.map +1 -0
  152. package/dist/schema-definitions/datasources/eno/interfaces/IBuildingInput.d.ts +29 -0
  153. package/dist/schema-definitions/datasources/eno/interfaces/IBuildingInput.js +3 -0
  154. package/dist/schema-definitions/datasources/eno/interfaces/IBuildingInput.js.map +1 -0
  155. package/dist/schema-definitions/datasources/eno/interfaces/IEJInput.d.ts +19 -0
  156. package/dist/schema-definitions/datasources/eno/interfaces/IEJInput.js +3 -0
  157. package/dist/schema-definitions/datasources/eno/interfaces/IEJInput.js.map +1 -0
  158. package/dist/schema-definitions/datasources/eno/interfaces/IGeometryInput.d.ts +7 -0
  159. package/dist/schema-definitions/datasources/eno/interfaces/IGeometryInput.js +3 -0
  160. package/dist/schema-definitions/datasources/eno/interfaces/IGeometryInput.js.map +1 -0
  161. package/dist/schema-definitions/datasources/eno/interfaces/ILocationInput.d.ts +5 -0
  162. package/dist/schema-definitions/datasources/eno/interfaces/ILocationInput.js +3 -0
  163. package/dist/schema-definitions/datasources/eno/interfaces/ILocationInput.js.map +1 -0
  164. package/dist/schema-definitions/datasources/eno/interfaces/IManagerInput.d.ts +27 -0
  165. package/dist/schema-definitions/datasources/eno/interfaces/IManagerInput.js +3 -0
  166. package/dist/schema-definitions/datasources/eno/interfaces/IManagerInput.js.map +1 -0
  167. package/dist/schema-definitions/datasources/eno/interfaces/IOrganizationInput.d.ts +8 -0
  168. package/dist/schema-definitions/datasources/eno/interfaces/IOrganizationInput.js +3 -0
  169. package/dist/schema-definitions/datasources/eno/interfaces/IOrganizationInput.js.map +1 -0
  170. package/dist/schema-definitions/datasources/eno/interfaces/IPropertyInput.d.ts +16 -0
  171. package/dist/schema-definitions/datasources/eno/interfaces/IPropertyInput.js +3 -0
  172. package/dist/schema-definitions/datasources/eno/interfaces/IPropertyInput.js.map +1 -0
  173. package/dist/schema-definitions/datasources/eno/interfaces/IStructureInfoInput.d.ts +10 -0
  174. package/dist/schema-definitions/datasources/eno/interfaces/IStructureInfoInput.js +3 -0
  175. package/dist/schema-definitions/datasources/eno/interfaces/IStructureInfoInput.js.map +1 -0
  176. package/dist/schema-definitions/datasources/eno/interfaces/IStructureInput.d.ts +20 -0
  177. package/dist/schema-definitions/datasources/eno/interfaces/IStructureInput.js +3 -0
  178. package/dist/schema-definitions/datasources/eno/interfaces/IStructureInput.js.map +1 -0
  179. package/dist/schema-definitions/datasources/eno/interfaces/IStructureTypeInput.d.ts +9 -0
  180. package/dist/schema-definitions/datasources/eno/interfaces/IStructureTypeInput.js +3 -0
  181. package/dist/schema-definitions/datasources/eno/interfaces/IStructureTypeInput.js.map +1 -0
  182. package/dist/schema-definitions/models/eno/AddressModel.d.ts +15 -0
  183. package/dist/schema-definitions/models/eno/AddressModel.js +48 -0
  184. package/dist/schema-definitions/models/eno/AddressModel.js.map +1 -0
  185. package/dist/schema-definitions/models/eno/BuildingModel.d.ts +36 -0
  186. package/dist/schema-definitions/models/eno/BuildingModel.js +90 -0
  187. package/dist/schema-definitions/models/eno/BuildingModel.js.map +1 -0
  188. package/dist/schema-definitions/models/eno/EJLookupModel.d.ts +25 -0
  189. package/dist/schema-definitions/models/eno/EJLookupModel.js +81 -0
  190. package/dist/schema-definitions/models/eno/EJLookupModel.js.map +1 -0
  191. package/dist/schema-definitions/models/eno/GeometryModel.d.ts +15 -0
  192. package/dist/schema-definitions/models/eno/GeometryModel.js +43 -0
  193. package/dist/schema-definitions/models/eno/GeometryModel.js.map +1 -0
  194. package/dist/schema-definitions/models/eno/LocationModel.d.ts +15 -0
  195. package/dist/schema-definitions/models/eno/LocationModel.js +48 -0
  196. package/dist/schema-definitions/models/eno/LocationModel.js.map +1 -0
  197. package/dist/schema-definitions/models/eno/ManagerLookupModel.d.ts +33 -0
  198. package/dist/schema-definitions/models/eno/ManagerLookupModel.js +89 -0
  199. package/dist/schema-definitions/models/eno/ManagerLookupModel.js.map +1 -0
  200. package/dist/schema-definitions/models/eno/OrganizationLookupModel.d.ts +14 -0
  201. package/dist/schema-definitions/models/eno/OrganizationLookupModel.js +40 -0
  202. package/dist/schema-definitions/models/eno/OrganizationLookupModel.js.map +1 -0
  203. package/dist/schema-definitions/models/eno/PropertyModel.d.ts +25 -0
  204. package/dist/schema-definitions/models/eno/PropertyModel.js +87 -0
  205. package/dist/schema-definitions/models/eno/PropertyModel.js.map +1 -0
  206. package/dist/schema-definitions/models/eno/RemovedGIDModel.d.ts +11 -0
  207. package/dist/schema-definitions/models/eno/RemovedGIDModel.js +35 -0
  208. package/dist/schema-definitions/models/eno/RemovedGIDModel.js.map +1 -0
  209. package/dist/schema-definitions/models/eno/StructureModel.d.ts +27 -0
  210. package/dist/schema-definitions/models/eno/StructureModel.js +80 -0
  211. package/dist/schema-definitions/models/eno/StructureModel.js.map +1 -0
  212. package/dist/schema-definitions/models/eno/StructureTypeModel.d.ts +15 -0
  213. package/dist/schema-definitions/models/eno/StructureTypeModel.js +42 -0
  214. package/dist/schema-definitions/models/eno/StructureTypeModel.js.map +1 -0
  215. package/dist/schema-definitions/models/eno/helpers/EnumGIDTypes.d.ts +4 -0
  216. package/dist/schema-definitions/models/eno/helpers/EnumGIDTypes.js +9 -0
  217. package/dist/schema-definitions/models/eno/helpers/EnumGIDTypes.js.map +1 -0
  218. package/dist/schema-definitions/models/eno/interfaces/IAddress.d.ts +9 -0
  219. package/dist/schema-definitions/models/eno/interfaces/IAddress.js +3 -0
  220. package/dist/schema-definitions/models/eno/interfaces/IAddress.js.map +1 -0
  221. package/dist/schema-definitions/models/eno/interfaces/IBuilding.d.ts +30 -0
  222. package/dist/schema-definitions/models/eno/interfaces/IBuilding.js +3 -0
  223. package/dist/schema-definitions/models/eno/interfaces/IBuilding.js.map +1 -0
  224. package/dist/schema-definitions/models/eno/interfaces/IEJLookup.d.ts +19 -0
  225. package/dist/schema-definitions/models/eno/interfaces/IEJLookup.js +3 -0
  226. package/dist/schema-definitions/models/eno/interfaces/IEJLookup.js.map +1 -0
  227. package/dist/schema-definitions/models/eno/interfaces/IGeometry.d.ts +9 -0
  228. package/dist/schema-definitions/models/eno/interfaces/IGeometry.js +3 -0
  229. package/dist/schema-definitions/models/eno/interfaces/IGeometry.js.map +1 -0
  230. package/dist/schema-definitions/models/eno/interfaces/ILocation.d.ts +9 -0
  231. package/dist/schema-definitions/models/eno/interfaces/ILocation.js +3 -0
  232. package/dist/schema-definitions/models/eno/interfaces/ILocation.js.map +1 -0
  233. package/dist/schema-definitions/models/eno/interfaces/IManagerLookup.d.ts +27 -0
  234. package/dist/schema-definitions/models/eno/interfaces/IManagerLookup.js +3 -0
  235. package/dist/schema-definitions/models/eno/interfaces/IManagerLookup.js.map +1 -0
  236. package/dist/schema-definitions/models/eno/interfaces/IOrganizationLookup.d.ts +8 -0
  237. package/dist/schema-definitions/models/eno/interfaces/IOrganizationLookup.js +3 -0
  238. package/dist/schema-definitions/models/eno/interfaces/IOrganizationLookup.js.map +1 -0
  239. package/dist/schema-definitions/models/eno/interfaces/IProperty.d.ts +19 -0
  240. package/dist/schema-definitions/models/eno/interfaces/IProperty.js +3 -0
  241. package/dist/schema-definitions/models/eno/interfaces/IProperty.js.map +1 -0
  242. package/dist/schema-definitions/models/eno/interfaces/IRemovedGID.d.ts +5 -0
  243. package/dist/schema-definitions/models/eno/interfaces/IRemovedGID.js +3 -0
  244. package/dist/schema-definitions/models/eno/interfaces/IRemovedGID.js.map +1 -0
  245. package/dist/schema-definitions/models/eno/interfaces/IStructure.d.ts +21 -0
  246. package/dist/schema-definitions/models/eno/interfaces/IStructure.js +3 -0
  247. package/dist/schema-definitions/models/eno/interfaces/IStructure.js.map +1 -0
  248. package/dist/schema-definitions/models/eno/interfaces/IStructureTypeLookup.d.ts +9 -0
  249. package/dist/schema-definitions/models/eno/interfaces/IStructureTypeLookup.js +3 -0
  250. package/dist/schema-definitions/models/eno/interfaces/IStructureTypeLookup.js.map +1 -0
  251. package/docs/asyncapi.yaml +142 -0
  252. package/docs/implementation_documentation.md +172 -3
  253. package/package.json +3 -2
@@ -0,0 +1,3 @@
1
+ export interface IEnoLookupTaskInput {
2
+ type: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IEnoLookupTaskInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEnoLookupTaskInput.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/interfaces/IEnoLookupTaskInput.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { IEnoDataTaskInput } from "../interfaces/IEnoDataTaskInput";
2
+ export declare class EnoDataTaskInputSchema implements IEnoDataTaskInput {
3
+ type: string;
4
+ source: string;
5
+ daysBack?: number;
6
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EnoDataTaskInputSchema = void 0;
13
+ const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
14
+ const IEnoDataTaskInput_1 = require("../interfaces/IEnoDataTaskInput");
15
+ class EnoDataTaskInputSchema {
16
+ }
17
+ exports.EnoDataTaskInputSchema = EnoDataTaskInputSchema;
18
+ __decorate([
19
+ (0, class_validator_1.IsEnum)(IEnoDataTaskInput_1.EnumEnoDataType),
20
+ __metadata("design:type", String)
21
+ ], EnoDataTaskInputSchema.prototype, "type", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsString)(),
24
+ __metadata("design:type", String)
25
+ ], EnoDataTaskInputSchema.prototype, "source", void 0);
26
+ __decorate([
27
+ (0, class_validator_1.IsOptional)(),
28
+ (0, class_validator_1.IsNumber)(),
29
+ __metadata("design:type", Number)
30
+ ], EnoDataTaskInputSchema.prototype, "daysBack", void 0);
31
+ //# sourceMappingURL=EnoDataTaskInputSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnoDataTaskInputSchema.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/schema/EnoDataTaskInputSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAmG;AACnG,uEAAqF;AAErF,MAAa,sBAAsB;CAUlC;AAVD,wDAUC;AARG;IADC,IAAA,wBAAM,EAAC,mCAAe,CAAC;;oDACV;AAGd;IADC,IAAA,0BAAQ,GAAE;;sDACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wDACO"}
@@ -0,0 +1,5 @@
1
+ import { IEnoGeometryTaskInput } from "../interfaces/IEnoGeometryTaskInput";
2
+ export declare class EnoGeometryTaskInputSchema implements IEnoGeometryTaskInput {
3
+ source: string;
4
+ listGid: string[];
5
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EnoGeometryTaskInputSchema = void 0;
13
+ const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
14
+ class EnoGeometryTaskInputSchema {
15
+ }
16
+ exports.EnoGeometryTaskInputSchema = EnoGeometryTaskInputSchema;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ __metadata("design:type", String)
20
+ ], EnoGeometryTaskInputSchema.prototype, "source", void 0);
21
+ __decorate([
22
+ (0, class_validator_1.IsNotEmpty)(),
23
+ (0, class_validator_1.IsArray)(),
24
+ (0, class_validator_1.IsString)({ each: true }),
25
+ __metadata("design:type", Array)
26
+ ], EnoGeometryTaskInputSchema.prototype, "listGid", void 0);
27
+ //# sourceMappingURL=EnoGeometryTaskInputSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnoGeometryTaskInputSchema.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/schema/EnoGeometryTaskInputSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAA0F;AAG1F,MAAa,0BAA0B;CAQtC;AARD,gEAQC;AANG;IADC,IAAA,0BAAQ,GAAE;;0DACK;AAKhB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;2DACN"}
@@ -0,0 +1,4 @@
1
+ import { IEnoLookupTaskInput } from "../interfaces/IEnoLookupTaskInput";
2
+ export declare class EnoLookupTaskInputSchema implements IEnoLookupTaskInput {
3
+ type: string;
4
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EnoLookupTaskInputSchema = void 0;
13
+ const EnoOperationEnum_1 = require("../../datasources/eno/EnoOperationEnum");
14
+ const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
15
+ class EnoLookupTaskInputSchema {
16
+ }
17
+ exports.EnoLookupTaskInputSchema = EnoLookupTaskInputSchema;
18
+ __decorate([
19
+ (0, class_validator_1.IsEnum)(EnoOperationEnum_1.EnoOperationLookupEnum),
20
+ __metadata("design:type", String)
21
+ ], EnoLookupTaskInputSchema.prototype, "type", void 0);
22
+ //# sourceMappingURL=EnoLookupTaskInputSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnoLookupTaskInputSchema.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/schema/EnoLookupTaskInputSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6EAAoF;AACpF,+EAAmE;AAGnE,MAAa,wBAAwB;CAGpC;AAHD,4DAGC;AADG;IADC,IAAA,wBAAM,EAAC,yCAAsB,CAAC;;sDACjB"}
@@ -0,0 +1,32 @@
1
+ import { EnoDatasourceFactory } from "../../datasources/eno/EnoDatasourceFactory";
2
+ import { EnoAddressRepository } from "../../repositories/eno/EnoAddressRepository";
3
+ import { EnoBuildingRepository } from "../../repositories/eno/EnoBuildingRepository";
4
+ import { EnoLocationRepository } from "../../repositories/eno/EnoLocationRepository";
5
+ import { EnoPropertyRepository } from "../../repositories/eno/EnoPropertyRepository";
6
+ import { EnoRemovedGIDRepository } from "../../repositories/eno/EnoRemovedGIDRepository";
7
+ import { ILogger } from "@golemio/core/dist/helpers";
8
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
9
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
10
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers/AbstractTask";
11
+ import { IEnoDataTaskInput } from "../interfaces/IEnoDataTaskInput";
12
+ import { EnoDataTaskInputSchema } from "../schema/EnoDataTaskInputSchema";
13
+ export declare class EnoBuildingTask extends AbstractTask<IEnoDataTaskInput> {
14
+ private enoDatasourceFactory;
15
+ private enoBuildingRepository;
16
+ private enoPropertyRepository;
17
+ private enoLocationRepository;
18
+ private enoAddressRepository;
19
+ private enoRemovedGIDRepository;
20
+ private logger;
21
+ protected dbConnector: IDatabaseConnector;
22
+ private simpleConfig;
23
+ protected schema: typeof EnoDataTaskInputSchema;
24
+ queueName: string;
25
+ queueTtl: number;
26
+ private removedBuldingsStartDate;
27
+ constructor(enoDatasourceFactory: EnoDatasourceFactory, enoBuildingRepository: EnoBuildingRepository, enoPropertyRepository: EnoPropertyRepository, enoLocationRepository: EnoLocationRepository, enoAddressRepository: EnoAddressRepository, enoRemovedGIDRepository: EnoRemovedGIDRepository, logger: ILogger, dbConnector: IDatabaseConnector, simpleConfig: ISimpleConfig);
28
+ execute(data: IEnoDataTaskInput): Promise<void>;
29
+ private saveData;
30
+ private getCurrentBuildingList;
31
+ private getRemovedBuildingList;
32
+ }
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.EnoBuildingTask = void 0;
16
+ const constants_1 = require("../../constants");
17
+ const EnoDatasourceFactory_1 = require("../../datasources/eno/EnoDatasourceFactory");
18
+ const EnoOperationEnum_1 = require("../../datasources/eno/EnoOperationEnum");
19
+ const EnapoWorkerContainerToken_1 = require("../../ioc/EnapoWorkerContainerToken");
20
+ const EnoAddressRepository_1 = require("../../repositories/eno/EnoAddressRepository");
21
+ const EnoBuildingRepository_1 = require("../../repositories/eno/EnoBuildingRepository");
22
+ const EnoLocationRepository_1 = require("../../repositories/eno/EnoLocationRepository");
23
+ const EnoPropertyRepository_1 = require("../../repositories/eno/EnoPropertyRepository");
24
+ const EnoRemovedGIDRepository_1 = require("../../repositories/eno/EnoRemovedGIDRepository");
25
+ const EnoBuildingTransformation_1 = require("../../transformations/eno/EnoBuildingTransformation");
26
+ const EnumGIDTypes_1 = require("../../../../schema-definitions/models/eno/helpers/EnumGIDTypes");
27
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
28
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
29
+ const AbstractTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractTask");
30
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
31
+ const luxon_1 = require("@golemio/core/dist/shared/luxon");
32
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
33
+ const IEnoDataTaskInput_1 = require("../interfaces/IEnoDataTaskInput");
34
+ const EnoDataTaskInputSchema_1 = require("../schema/EnoDataTaskInputSchema");
35
+ let EnoBuildingTask = exports.EnoBuildingTask = class EnoBuildingTask extends AbstractTask_1.AbstractTask {
36
+ constructor(enoDatasourceFactory, enoBuildingRepository, enoPropertyRepository, enoLocationRepository, enoAddressRepository, enoRemovedGIDRepository, logger, dbConnector, simpleConfig) {
37
+ super(constants_1.ENAPO_WORKER_NAME);
38
+ this.enoDatasourceFactory = enoDatasourceFactory;
39
+ this.enoBuildingRepository = enoBuildingRepository;
40
+ this.enoPropertyRepository = enoPropertyRepository;
41
+ this.enoLocationRepository = enoLocationRepository;
42
+ this.enoAddressRepository = enoAddressRepository;
43
+ this.enoRemovedGIDRepository = enoRemovedGIDRepository;
44
+ this.logger = logger;
45
+ this.dbConnector = dbConnector;
46
+ this.simpleConfig = simpleConfig;
47
+ this.schema = EnoDataTaskInputSchema_1.EnoDataTaskInputSchema;
48
+ this.queueName = "processEnoBuildings";
49
+ this.queueTtl = 60 * 60 * 1000;
50
+ this.removedBuldingsStartDate = this.simpleConfig.getValue("module.energetics.eno.removedBuldingsStartDate", "2025-01-01T00:00:00+01:00");
51
+ }
52
+ async execute(data) {
53
+ try {
54
+ const datasource = this.enoDatasourceFactory.getDatasource(EnoDatasourceFactory_1.ENO_ENDPOINT.BUILDINGS, data.source);
55
+ const listGID = data.type === IEnoDataTaskInput_1.EnumEnoDataType.CURRENT
56
+ ? await this.getCurrentBuildingList(datasource, data)
57
+ : await this.getRemovedBuildingList(datasource, data);
58
+ if (!listGID || (Array.isArray(listGID.return) && listGID.return.length === 0)) {
59
+ this.logger.info(`No buildings found for source: ${data.source} type: ${data.type} ${data.daysBack ? data.daysBack + " days back incremenetal synchronization" : "full synchronization"}`);
60
+ return;
61
+ }
62
+ const buildingDetails = await datasource.getData(EnoOperationEnum_1.EnoOperationBuildingEnum.DETAIL, "", {
63
+ idOrganizace: 1,
64
+ seznamGID: listGID.return,
65
+ });
66
+ if (buildingDetails) {
67
+ const transformation = new EnoBuildingTransformation_1.EnoBuildingTransformation(data.source);
68
+ const transformedData = transformation.transformArray(buildingDetails.return);
69
+ await this.saveData(transformedData);
70
+ integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "processEnoGeometry", {
71
+ source: data.source,
72
+ listGid: listGID.return,
73
+ });
74
+ }
75
+ }
76
+ catch (err) {
77
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
78
+ throw err;
79
+ }
80
+ throw new golemio_errors_1.GeneralError("Failed to save ENO building data", this.constructor.name, err);
81
+ }
82
+ }
83
+ async saveData(transformedData) {
84
+ const buildings = transformedData.map((el) => el.bulding);
85
+ const property = transformedData.map((el) => el.property);
86
+ const address = transformedData.flatMap((el) => el.address);
87
+ const location = transformedData.flatMap((el) => el.location);
88
+ const transaction = await this.dbConnector.getConnection().transaction();
89
+ try {
90
+ await this.enoBuildingRepository.bulkSave(buildings, undefined, undefined, undefined, transaction);
91
+ await this.enoAddressRepository.bulkSave(address, undefined, undefined, undefined, transaction);
92
+ await this.enoPropertyRepository.bulkSave(property, undefined, undefined, undefined, transaction);
93
+ await this.enoLocationRepository.bulkSave(location, undefined, undefined, undefined, transaction);
94
+ await transaction.commit();
95
+ }
96
+ catch (err) {
97
+ await transaction.rollback();
98
+ throw err;
99
+ }
100
+ }
101
+ async getCurrentBuildingList(datasource, data) {
102
+ const listGID = await datasource.getData(EnoOperationEnum_1.EnoOperationBuildingEnum.LIST_BY_ORG, "", {
103
+ idOrganizace: constants_1.ENO_DEFAULT_ORGANIZATION_ID,
104
+ ...(data.daysBack ? { datum: luxon_1.DateTime.now().minus({ days: data.daysBack }).toISO() } : {}),
105
+ });
106
+ return listGID;
107
+ }
108
+ async getRemovedBuildingList(datasource, data) {
109
+ const listRemovedBuildingGID = await datasource.getData(EnoOperationEnum_1.EnoOperationBuildingEnum.REMOVED_LIST, "", {
110
+ idOrganizace: constants_1.ENO_DEFAULT_ORGANIZATION_ID,
111
+ datum: data.daysBack ? luxon_1.DateTime.now().minus({ days: data.daysBack }).toISO() : this.removedBuldingsStartDate,
112
+ });
113
+ if (listRemovedBuildingGID) {
114
+ const removedGids = listRemovedBuildingGID.return.map((gid) => {
115
+ return {
116
+ gid: gid,
117
+ gid_typ: EnumGIDTypes_1.EnumGidTypes.BUILDING,
118
+ zdroj: data.source,
119
+ };
120
+ });
121
+ await this.enoRemovedGIDRepository.bulkSave(removedGids);
122
+ }
123
+ return listRemovedBuildingGID;
124
+ }
125
+ };
126
+ exports.EnoBuildingTask = EnoBuildingTask = __decorate([
127
+ (0, tsyringe_1.injectable)(),
128
+ __param(0, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoDatasourceFactory)),
129
+ __param(1, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoBuildingRepository)),
130
+ __param(2, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoPropertyRepository)),
131
+ __param(3, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoLocationRepository)),
132
+ __param(4, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoAddressRepository)),
133
+ __param(5, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoRemovedGIDRepository)),
134
+ __param(6, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
135
+ __param(7, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
136
+ __param(8, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
137
+ __metadata("design:paramtypes", [EnoDatasourceFactory_1.EnoDatasourceFactory,
138
+ EnoBuildingRepository_1.EnoBuildingRepository,
139
+ EnoPropertyRepository_1.EnoPropertyRepository,
140
+ EnoLocationRepository_1.EnoLocationRepository,
141
+ EnoAddressRepository_1.EnoAddressRepository,
142
+ EnoRemovedGIDRepository_1.EnoRemovedGIDRepository, Object, Object, Object])
143
+ ], EnoBuildingTask);
144
+ //# sourceMappingURL=EnoBuildingTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnoBuildingTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/task/EnoBuildingTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { EnoDatasourceFactory } from "../../datasources/eno/EnoDatasourceFactory";
2
+ import { EnoGeometryRepository } from "../../repositories/eno/EnoGeometryRepository";
3
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers/AbstractTask";
4
+ import { IEnoGeometryTaskInput } from "../interfaces/IEnoGeometryTaskInput";
5
+ import { EnoGeometryTaskInputSchema } from "../schema/EnoGeometryTaskInputSchema";
6
+ export declare class EnoGeometryTask extends AbstractTask<IEnoGeometryTaskInput> {
7
+ private enoDatasourceFactory;
8
+ private enoGeometryRepository;
9
+ queueName: string;
10
+ queueTtl: number;
11
+ schema: typeof EnoGeometryTaskInputSchema;
12
+ private static readonly BATCH_SIZE;
13
+ constructor(enoDatasourceFactory: EnoDatasourceFactory, enoGeometryRepository: EnoGeometryRepository);
14
+ execute(data: IEnoGeometryTaskInput): Promise<void>;
15
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var EnoGeometryTask_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.EnoGeometryTask = void 0;
17
+ const constants_1 = require("../../constants");
18
+ const EnoDatasourceFactory_1 = require("../../datasources/eno/EnoDatasourceFactory");
19
+ const EnoOperationEnum_1 = require("../../datasources/eno/EnoOperationEnum");
20
+ const EnapoWorkerContainerToken_1 = require("../../ioc/EnapoWorkerContainerToken");
21
+ const EnoGeometryRepository_1 = require("../../repositories/eno/EnoGeometryRepository");
22
+ const EnoGeometryTransformation_1 = require("../../transformations/eno/EnoGeometryTransformation");
23
+ const AbstractTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractTask");
24
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
25
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
26
+ const EnoGeometryTaskInputSchema_1 = require("../schema/EnoGeometryTaskInputSchema");
27
+ const Chunker_1 = require("../../helpers/Chunker");
28
+ let EnoGeometryTask = exports.EnoGeometryTask = EnoGeometryTask_1 = class EnoGeometryTask extends AbstractTask_1.AbstractTask {
29
+ constructor(enoDatasourceFactory, enoGeometryRepository) {
30
+ super(constants_1.ENAPO_WORKER_NAME);
31
+ this.enoDatasourceFactory = enoDatasourceFactory;
32
+ this.enoGeometryRepository = enoGeometryRepository;
33
+ this.queueName = "processEnoGeometry";
34
+ this.queueTtl = 60 * 60 * 1000;
35
+ this.schema = EnoGeometryTaskInputSchema_1.EnoGeometryTaskInputSchema;
36
+ }
37
+ async execute(data) {
38
+ try {
39
+ const datasource = this.enoDatasourceFactory.getDatasource(EnoDatasourceFactory_1.ENO_ENDPOINT.GEOMETRY, data.source);
40
+ const transformation = new EnoGeometryTransformation_1.EnoGeometryTransformation(data.source);
41
+ const batches = Chunker_1.Slicer.chunkArray(data.listGid, EnoGeometryTask_1.BATCH_SIZE);
42
+ for (const batch of batches) {
43
+ const result = await datasource.getData(EnoOperationEnum_1.ENO_GEOMETRY_OPERATION, "", {
44
+ gidList: batch,
45
+ idOrganizace: constants_1.ENO_DEFAULT_ORGANIZATION_ID,
46
+ });
47
+ if (result) {
48
+ const transformedData = transformation.transformArray(result.return);
49
+ await this.enoGeometryRepository.bulkSave(transformedData);
50
+ }
51
+ }
52
+ }
53
+ catch (err) {
54
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
55
+ throw err;
56
+ }
57
+ throw new golemio_errors_1.GeneralError("Failed to save ENO geometry data", this.constructor.name, err);
58
+ }
59
+ }
60
+ };
61
+ EnoGeometryTask.BATCH_SIZE = 1000;
62
+ exports.EnoGeometryTask = EnoGeometryTask = EnoGeometryTask_1 = __decorate([
63
+ (0, tsyringe_1.injectable)(),
64
+ __param(0, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoDatasourceFactory)),
65
+ __param(1, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoGeometryRepository)),
66
+ __metadata("design:paramtypes", [EnoDatasourceFactory_1.EnoDatasourceFactory,
67
+ EnoGeometryRepository_1.EnoGeometryRepository])
68
+ ], EnoGeometryTask);
69
+ //# sourceMappingURL=EnoGeometryTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnoGeometryTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/task/EnoGeometryTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAAqF;AACrF,qFAAoG;AACpG,6EAAoF;AACpF,mFAAoF;AACpF,wFAAyF;AACzF,mGAAoG;AACpG,6FAA0F;AAC1F,6EAA8F;AAC9F,iEAAwE;AAExE,qFAAkF;AAClF,mDAAmD;AAG5C,IAAM,eAAe,iDAArB,MAAM,eAAgB,SAAQ,2BAAmC;IAMpE,YAC4D,oBAAkD,EACjD,qBAAoD;QAE7G,KAAK,CAAC,6BAAiB,CAAC,CAAC;QAHuC,yBAAoB,GAApB,oBAAoB,CAAsB;QACzC,0BAAqB,GAArB,qBAAqB,CAAuB;QAP1G,cAAS,GAAG,oBAAoB,CAAC;QACjC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,WAAM,GAAG,uDAA0B,CAAC;IAQ3C,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAA2B;QAC5C,IAAI;YACA,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,mCAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/F,MAAM,cAAc,GAAG,IAAI,qDAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,gBAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAe,CAAC,UAAU,CAAC,CAAC;YAE5E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;gBACzB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,yCAAsB,EAAE,EAAE,EAAE;oBAChE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,uCAA2B;iBAC5C,CAAC,CAAC;gBACH,IAAI,MAAM,EAAE;oBACR,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACrE,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;iBAC9D;aACJ;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;gBACrC,MAAM,GAAG,CAAC;aACb;YAED,MAAM,IAAI,6BAAY,CAAC,kCAAkC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SAC1F;IACL,CAAC;;AAhCuB,0BAAU,GAAG,IAAI,AAAP,CAAQ;0BAJjC,eAAe;IAD3B,IAAA,qBAAU,GAAE;IAQJ,WAAA,IAAA,iBAAM,EAAC,qDAAyB,CAAC,oBAAoB,CAAC,CAAA;IACtD,WAAA,IAAA,iBAAM,EAAC,qDAAyB,CAAC,qBAAqB,CAAC,CAAA;qCAD8B,2CAAoB;QAClB,6CAAqB;GARxG,eAAe,CAqC3B"}
@@ -0,0 +1,34 @@
1
+ import { EnoDatasourceFactory } from "../../datasources/eno/EnoDatasourceFactory";
2
+ import { EnoEJRepository } from "../../repositories/eno/EnoEJRepository";
3
+ import { EnoManagerRepository } from "../../repositories/eno/EnoManagerRepository";
4
+ import { EnoOrganizationRepository } from "../../repositories/eno/EnoOrganizationRepository";
5
+ import { EnoStructureTypeRepository } from "../../repositories/eno/EnoStructureTypeRepository";
6
+ import { EnoEJTransformation } from "../../transformations/eno/EnoEJTransformation";
7
+ import { EnoManagerTransformation } from "../../transformations/eno/EnoManagerTransformation";
8
+ import { EnoOrganizationTransformation } from "../../transformations/eno/EnoOrganizationTransformation";
9
+ import { EnoStructureTypeTransformation } from "../../transformations/eno/EnoStructureTypeTransformation";
10
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers/AbstractTask";
11
+ import { IEnoLookupTaskInput } from "../interfaces/IEnoLookupTaskInput";
12
+ import { EnoLookupTaskInputSchema } from "../schema/EnoLookupTaskInputSchema";
13
+ export declare class EnoLookupTask extends AbstractTask<IEnoLookupTaskInput> {
14
+ private enoDatasourceFactory;
15
+ private enoStructureTypeTransformation;
16
+ private enoOrganizationTransformation;
17
+ private enoManagerTransformation;
18
+ private enoEJTransformation;
19
+ private enoStructureTypeRepository;
20
+ private enoOrganizationRepository;
21
+ private enoManagerRepository;
22
+ private enoEJRepository;
23
+ queueName: string;
24
+ queueTtl: number;
25
+ schema: typeof EnoLookupTaskInputSchema;
26
+ private enoDatasource;
27
+ constructor(enoDatasourceFactory: EnoDatasourceFactory, enoStructureTypeTransformation: EnoStructureTypeTransformation, enoOrganizationTransformation: EnoOrganizationTransformation, enoManagerTransformation: EnoManagerTransformation, enoEJTransformation: EnoEJTransformation, enoStructureTypeRepository: EnoStructureTypeRepository, enoOrganizationRepository: EnoOrganizationRepository, enoManagerRepository: EnoManagerRepository, enoEJRepository: EnoEJRepository);
28
+ execute(data: IEnoLookupTaskInput): Promise<void>;
29
+ private updateStructureType;
30
+ private updateOrganization;
31
+ private updateManager;
32
+ private updateEJ;
33
+ private getUpdateMethodDelegate;
34
+ }
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.EnoLookupTask = void 0;
16
+ const constants_1 = require("../../constants");
17
+ const EnoDatasourceFactory_1 = require("../../datasources/eno/EnoDatasourceFactory");
18
+ const EnoOperationEnum_1 = require("../../datasources/eno/EnoOperationEnum");
19
+ const EnapoWorkerContainerToken_1 = require("../../ioc/EnapoWorkerContainerToken");
20
+ const EnoEJRepository_1 = require("../../repositories/eno/EnoEJRepository");
21
+ const EnoManagerRepository_1 = require("../../repositories/eno/EnoManagerRepository");
22
+ const EnoOrganizationRepository_1 = require("../../repositories/eno/EnoOrganizationRepository");
23
+ const EnoStructureTypeRepository_1 = require("../../repositories/eno/EnoStructureTypeRepository");
24
+ const EnoEJTransformation_1 = require("../../transformations/eno/EnoEJTransformation");
25
+ const EnoManagerTransformation_1 = require("../../transformations/eno/EnoManagerTransformation");
26
+ const EnoOrganizationTransformation_1 = require("../../transformations/eno/EnoOrganizationTransformation");
27
+ const EnoStructureTypeTransformation_1 = require("../../transformations/eno/EnoStructureTypeTransformation");
28
+ const AbstractTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractTask");
29
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
30
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
31
+ const EnoLookupTaskInputSchema_1 = require("../schema/EnoLookupTaskInputSchema");
32
+ let EnoLookupTask = exports.EnoLookupTask = class EnoLookupTask extends AbstractTask_1.AbstractTask {
33
+ constructor(enoDatasourceFactory, enoStructureTypeTransformation, enoOrganizationTransformation, enoManagerTransformation, enoEJTransformation, enoStructureTypeRepository, enoOrganizationRepository, enoManagerRepository, enoEJRepository) {
34
+ super(constants_1.ENAPO_WORKER_NAME);
35
+ this.enoDatasourceFactory = enoDatasourceFactory;
36
+ this.enoStructureTypeTransformation = enoStructureTypeTransformation;
37
+ this.enoOrganizationTransformation = enoOrganizationTransformation;
38
+ this.enoManagerTransformation = enoManagerTransformation;
39
+ this.enoEJTransformation = enoEJTransformation;
40
+ this.enoStructureTypeRepository = enoStructureTypeRepository;
41
+ this.enoOrganizationRepository = enoOrganizationRepository;
42
+ this.enoManagerRepository = enoManagerRepository;
43
+ this.enoEJRepository = enoEJRepository;
44
+ this.queueName = "processEnoLookup";
45
+ this.queueTtl = 60 * 60 * 1000;
46
+ this.schema = EnoLookupTaskInputSchema_1.EnoLookupTaskInputSchema;
47
+ this.updateStructureType = async () => {
48
+ const result = await this.enoDatasource.getData(EnoOperationEnum_1.EnoOperationLookupEnum.STRUCTURE_TYPE);
49
+ if (result) {
50
+ const transformed = this.enoStructureTypeTransformation.transformArray(result.return);
51
+ await this.enoStructureTypeRepository.bulkSave(transformed);
52
+ }
53
+ };
54
+ this.updateOrganization = async () => {
55
+ const result = await this.enoDatasource.getData(EnoOperationEnum_1.EnoOperationLookupEnum.ORGANIZATION);
56
+ if (result) {
57
+ const transformed = this.enoOrganizationTransformation.transformArray(result.return);
58
+ await this.enoOrganizationRepository.bulkSave(transformed);
59
+ }
60
+ };
61
+ this.updateManager = async () => {
62
+ const result = await this.enoDatasource.getData(EnoOperationEnum_1.EnoOperationLookupEnum.MANAGER);
63
+ if (result) {
64
+ const transformed = this.enoManagerTransformation.transformArray(result.return);
65
+ await this.enoManagerRepository.bulkSave(transformed);
66
+ }
67
+ };
68
+ this.updateEJ = async () => {
69
+ const result = await this.enoDatasource.getData(EnoOperationEnum_1.EnoOperationLookupEnum.EJ);
70
+ if (result) {
71
+ const transformed = this.enoEJTransformation.transformArray(result.return);
72
+ await this.enoEJRepository.bulkSave(transformed);
73
+ }
74
+ };
75
+ this.enoDatasource = enoDatasourceFactory.getDatasource(EnoDatasourceFactory_1.ENO_ENDPOINT.LOOKUPS, "mhmp");
76
+ }
77
+ async execute(data) {
78
+ try {
79
+ const updateMethod = this.getUpdateMethodDelegate(data.type);
80
+ await updateMethod();
81
+ }
82
+ catch (err) {
83
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
84
+ throw err;
85
+ }
86
+ throw new golemio_errors_1.GeneralError("Failed to save ENO lookup data", this.constructor.name, err);
87
+ }
88
+ }
89
+ getUpdateMethodDelegate(type) {
90
+ switch (type) {
91
+ case EnoOperationEnum_1.EnoOperationLookupEnum.STRUCTURE_TYPE:
92
+ return this.updateStructureType;
93
+ case EnoOperationEnum_1.EnoOperationLookupEnum.ORGANIZATION:
94
+ return this.updateOrganization;
95
+ case EnoOperationEnum_1.EnoOperationLookupEnum.MANAGER:
96
+ return this.updateManager;
97
+ case EnoOperationEnum_1.EnoOperationLookupEnum.EJ:
98
+ return this.updateEJ;
99
+ default:
100
+ throw new golemio_errors_1.GeneralError(`Eno unknown lookup type ${type}`, this.constructor.name);
101
+ }
102
+ }
103
+ };
104
+ exports.EnoLookupTask = EnoLookupTask = __decorate([
105
+ (0, tsyringe_1.injectable)(),
106
+ __param(0, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoDatasourceFactory)),
107
+ __param(1, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoStructureTypeTransformation)),
108
+ __param(2, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoOrganizationTransformation)),
109
+ __param(3, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoManagerTransformation)),
110
+ __param(4, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoEJTransformation)),
111
+ __param(5, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoStructureTypeRepository)),
112
+ __param(6, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoOrganizationRepository)),
113
+ __param(7, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoManagerRepository)),
114
+ __param(8, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoEJRepository)),
115
+ __metadata("design:paramtypes", [EnoDatasourceFactory_1.EnoDatasourceFactory,
116
+ EnoStructureTypeTransformation_1.EnoStructureTypeTransformation,
117
+ EnoOrganizationTransformation_1.EnoOrganizationTransformation,
118
+ EnoManagerTransformation_1.EnoManagerTransformation,
119
+ EnoEJTransformation_1.EnoEJTransformation,
120
+ EnoStructureTypeRepository_1.EnoStructureTypeRepository,
121
+ EnoOrganizationRepository_1.EnoOrganizationRepository,
122
+ EnoManagerRepository_1.EnoManagerRepository,
123
+ EnoEJRepository_1.EnoEJRepository])
124
+ ], EnoLookupTask);
125
+ //# sourceMappingURL=EnoLookupTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnoLookupTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/task/EnoLookupTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { EnoDatasourceFactory } from "../../datasources/eno/EnoDatasourceFactory";
2
+ import { EnoAddressRepository } from "../../repositories/eno/EnoAddressRepository";
3
+ import { EnoLocationRepository } from "../../repositories/eno/EnoLocationRepository";
4
+ import { EnoPropertyRepository } from "../../repositories/eno/EnoPropertyRepository";
5
+ import { EnoRemovedGIDRepository } from "../../repositories/eno/EnoRemovedGIDRepository";
6
+ import { EnoStructureRepository } from "../../repositories/eno/EnoStructureRepository";
7
+ import { ILogger } from "@golemio/core/dist/helpers";
8
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
9
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
10
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers/AbstractTask";
11
+ import { IEnoDataTaskInput } from "../interfaces/IEnoDataTaskInput";
12
+ import { EnoDataTaskInputSchema } from "../schema/EnoDataTaskInputSchema";
13
+ export declare class EnoStructureTask extends AbstractTask<IEnoDataTaskInput> {
14
+ private enoDatasourceFactory;
15
+ private enoStructureRepository;
16
+ private enoPropertyRepository;
17
+ private enoLocationRepository;
18
+ private enoAddressRepository;
19
+ private enoRemovedGIDRepository;
20
+ private logger;
21
+ protected dbConnector: IDatabaseConnector;
22
+ private simpleConfig;
23
+ protected schema: typeof EnoDataTaskInputSchema;
24
+ queueName: string;
25
+ queueTtl: number;
26
+ private removedBuldingsStartDate;
27
+ private static readonly BATCH_SIZE;
28
+ constructor(enoDatasourceFactory: EnoDatasourceFactory, enoStructureRepository: EnoStructureRepository, enoPropertyRepository: EnoPropertyRepository, enoLocationRepository: EnoLocationRepository, enoAddressRepository: EnoAddressRepository, enoRemovedGIDRepository: EnoRemovedGIDRepository, logger: ILogger, dbConnector: IDatabaseConnector, simpleConfig: ISimpleConfig);
29
+ execute(data: IEnoDataTaskInput): Promise<void>;
30
+ private saveData;
31
+ private getCurrentStructureList;
32
+ private getRemovedStructureList;
33
+ }