@machinemetrics/mm-erp-sdk 0.2.0-beta.0 → 0.2.0-beta.2

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 (361) hide show
  1. package/README.md +0 -5
  2. package/dist/config-CvA-mFWF.js +418 -0
  3. package/dist/config-CvA-mFWF.js.map +1 -0
  4. package/dist/connector-factory-BPm2GVVF.js +30 -0
  5. package/dist/connector-factory-BPm2GVVF.js.map +1 -0
  6. package/dist/hashed-cache-manager-B15NN8hK.js +322 -0
  7. package/dist/hashed-cache-manager-B15NN8hK.js.map +1 -0
  8. package/dist/index-D8qO1NyK.js +192 -0
  9. package/dist/index-D8qO1NyK.js.map +1 -0
  10. package/dist/index.d.ts +43 -42
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/knexfile-Bng2Ru9c.js +20 -0
  13. package/dist/knexfile-Bng2Ru9c.js.map +1 -0
  14. package/dist/knexfile.d.ts.map +1 -1
  15. package/dist/logger-BWw0_z9q.js +17557 -0
  16. package/dist/logger-BWw0_z9q.js.map +1 -0
  17. package/dist/migrations/20241015162631_create_cache_table.js +15 -11
  18. package/dist/migrations/20241015162631_create_cache_table.js.map +1 -1
  19. package/dist/migrations/20241015162632_create_sdk_cache_table.js +15 -11
  20. package/dist/migrations/20241015162632_create_sdk_cache_table.js.map +1 -1
  21. package/dist/migrations/20250103162631_create_record_tracking_table.js +15 -14
  22. package/dist/migrations/20250103162631_create_record_tracking_table.js.map +1 -1
  23. package/dist/mm-erp-sdk.js +4978 -0
  24. package/dist/mm-erp-sdk.js.map +1 -0
  25. package/dist/services/caching-service/batch-cache-manager.d.ts +1 -1
  26. package/dist/services/caching-service/batch-cache-manager.d.ts.map +1 -1
  27. package/dist/services/caching-service/hashed-cache-manager.d.ts +2 -2
  28. package/dist/services/caching-service/hashed-cache-manager.d.ts.map +1 -1
  29. package/dist/services/caching-service/index.d.ts +1 -1
  30. package/dist/services/caching-service/index.d.ts.map +1 -1
  31. package/dist/services/caching-service/record-tracking-manager.d.ts +1 -1
  32. package/dist/services/caching-service/record-tracking-manager.d.ts.map +1 -1
  33. package/dist/services/data-sync-service/configuration-manager.d.ts +1 -1
  34. package/dist/services/data-sync-service/configuration-manager.d.ts.map +1 -1
  35. package/dist/services/data-sync-service/data-sync-service.d.ts.map +1 -1
  36. package/dist/services/data-sync-service/index.d.ts +3 -3
  37. package/dist/services/data-sync-service/index.d.ts.map +1 -1
  38. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.d.ts.map +1 -1
  39. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js +40 -42
  40. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js.map +1 -1
  41. package/dist/services/data-sync-service/jobs/from-erp.d.ts.map +1 -1
  42. package/dist/services/data-sync-service/jobs/from-erp.js +37 -50
  43. package/dist/services/data-sync-service/jobs/from-erp.js.map +1 -1
  44. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.d.ts.map +1 -1
  45. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js +36 -38
  46. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js.map +1 -1
  47. package/dist/services/data-sync-service/jobs/run-migrations.d.ts.map +1 -1
  48. package/dist/services/data-sync-service/jobs/run-migrations.js +22 -24
  49. package/dist/services/data-sync-service/jobs/run-migrations.js.map +1 -1
  50. package/dist/services/data-sync-service/jobs/to-erp.d.ts.map +1 -1
  51. package/dist/services/data-sync-service/jobs/to-erp.js +49 -49
  52. package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
  53. package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts +30 -0
  54. package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts.map +1 -0
  55. package/dist/services/erp-api-services/errors.d.ts +1 -1
  56. package/dist/services/erp-api-services/errors.d.ts.map +1 -1
  57. package/dist/services/erp-api-services/graphql/graphql-service.d.ts +2 -2
  58. package/dist/services/erp-api-services/graphql/graphql-service.d.ts.map +1 -1
  59. package/dist/services/erp-api-services/index.d.ts +8 -8
  60. package/dist/services/erp-api-services/index.d.ts.map +1 -1
  61. package/dist/services/erp-api-services/rest/rest-api-service.d.ts +2 -2
  62. package/dist/services/erp-api-services/rest/rest-api-service.d.ts.map +1 -1
  63. package/dist/services/erp-api-services/types.d.ts +2 -2
  64. package/dist/services/erp-api-services/types.d.ts.map +1 -1
  65. package/dist/services/mm-api-service/company-info.d.ts +13 -0
  66. package/dist/services/mm-api-service/company-info.d.ts.map +1 -0
  67. package/dist/services/mm-api-service/index.d.ts +13 -6
  68. package/dist/services/mm-api-service/index.d.ts.map +1 -1
  69. package/dist/services/mm-api-service/mm-api-service.d.ts +13 -7
  70. package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
  71. package/dist/services/mm-api-service/types/entity-transformer.d.ts +2 -2
  72. package/dist/services/mm-api-service/types/entity-transformer.d.ts.map +1 -1
  73. package/dist/services/mm-api-service/types/receive-types.d.ts +3 -0
  74. package/dist/services/mm-api-service/types/receive-types.d.ts.map +1 -1
  75. package/dist/services/nats-service/nats-service.d.ts +114 -0
  76. package/dist/services/nats-service/nats-service.d.ts.map +1 -0
  77. package/dist/services/nats-service/test-nats-subscriber.d.ts +6 -0
  78. package/dist/services/nats-service/test-nats-subscriber.d.ts.map +1 -0
  79. package/dist/services/psql-erp-service/index.d.ts +3 -3
  80. package/dist/services/psql-erp-service/index.d.ts.map +1 -1
  81. package/dist/services/psql-erp-service/psql-service.d.ts +2 -2
  82. package/dist/services/psql-erp-service/psql-service.d.ts.map +1 -1
  83. package/dist/services/reporting-service/index.d.ts +1 -1
  84. package/dist/services/reporting-service/index.d.ts.map +1 -1
  85. package/dist/services/reporting-service/logger.d.ts.map +1 -1
  86. package/dist/services/sql-server-erp-service/index.d.ts +3 -3
  87. package/dist/services/sql-server-erp-service/index.d.ts.map +1 -1
  88. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts +2 -2
  89. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts.map +1 -1
  90. package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts +3 -3
  91. package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts.map +1 -1
  92. package/dist/services/sql-server-erp-service/sql-server-service.d.ts +2 -2
  93. package/dist/services/sql-server-erp-service/sql-server-service.d.ts.map +1 -1
  94. package/dist/services/sqlite-service/index.d.ts +1 -1
  95. package/dist/services/sqlite-service/index.d.ts.map +1 -1
  96. package/dist/types/erp-connector.d.ts +2 -9
  97. package/dist/types/erp-connector.d.ts.map +1 -1
  98. package/dist/types/index.d.ts +2 -3
  99. package/dist/types/index.d.ts.map +1 -1
  100. package/dist/utils/connector-factory.d.ts +1 -1
  101. package/dist/utils/connector-factory.d.ts.map +1 -1
  102. package/dist/utils/connector-log/log-deduper.d.ts +1 -1
  103. package/dist/utils/connector-log/log-deduper.d.ts.map +1 -1
  104. package/dist/utils/connector-log/mm-connector-logger-example.d.ts +0 -1
  105. package/dist/utils/connector-log/mm-connector-logger.d.ts +1 -1
  106. package/dist/utils/connector-log/mm-connector-logger.d.ts.map +1 -1
  107. package/dist/utils/erp-type-from-entity.d.ts +1 -1
  108. package/dist/utils/erp-type-from-entity.d.ts.map +1 -1
  109. package/dist/utils/error-formatter.d.ts +19 -0
  110. package/dist/utils/error-formatter.d.ts.map +1 -0
  111. package/dist/utils/index.d.ts +38 -34
  112. package/dist/utils/index.d.ts.map +1 -1
  113. package/dist/utils/local-data-store/jobs-shared-data.d.ts +0 -2
  114. package/dist/utils/local-data-store/jobs-shared-data.d.ts.map +1 -1
  115. package/dist/utils/mm-labor-ticket-helpers.d.ts +5 -4
  116. package/dist/utils/mm-labor-ticket-helpers.d.ts.map +1 -1
  117. package/dist/utils/removeExtraneousFields.d.ts +1 -1
  118. package/dist/utils/removeExtraneousFields.d.ts.map +1 -1
  119. package/dist/utils/removeIdFieldFromPayload.d.ts +1 -1
  120. package/dist/utils/removeIdFieldFromPayload.d.ts.map +1 -1
  121. package/dist/utils/resource-group.d.ts +1 -1
  122. package/dist/utils/resource-group.d.ts.map +1 -1
  123. package/dist/utils/standard-process-drivers/error-processor.d.ts +3 -3
  124. package/dist/utils/standard-process-drivers/error-processor.d.ts.map +1 -1
  125. package/dist/utils/standard-process-drivers/index.d.ts +3 -3
  126. package/dist/utils/standard-process-drivers/index.d.ts.map +1 -1
  127. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts +1 -1
  128. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -1
  129. package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts +5 -11
  130. package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts.map +1 -1
  131. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +6 -12
  132. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
  133. package/dist/utils/time-utils.d.ts.map +1 -1
  134. package/package.json +10 -8
  135. package/src/index.ts +45 -42
  136. package/src/knexfile.ts +0 -1
  137. package/src/services/caching-service/batch-cache-manager.ts +2 -2
  138. package/src/services/caching-service/hashed-cache-manager.ts +5 -5
  139. package/src/services/caching-service/index.ts +1 -1
  140. package/src/services/caching-service/record-tracking-manager.ts +2 -2
  141. package/src/services/data-sync-service/configuration-manager.ts +39 -52
  142. package/src/services/data-sync-service/data-sync-service.ts +19 -10
  143. package/src/services/data-sync-service/index.ts +3 -3
  144. package/src/services/data-sync-service/jobs/clean-up-expired-cache.ts +4 -5
  145. package/src/services/data-sync-service/jobs/from-erp.ts +6 -12
  146. package/src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts +3 -4
  147. package/src/services/data-sync-service/jobs/run-migrations.ts +3 -4
  148. package/src/services/data-sync-service/jobs/to-erp.ts +14 -5
  149. package/src/services/data-sync-service/nats-labor-ticket-listener.ts +341 -0
  150. package/src/services/erp-api-services/errors.ts +3 -3
  151. package/src/services/erp-api-services/graphql/graphql-service.ts +5 -5
  152. package/src/services/erp-api-services/index.ts +8 -8
  153. package/src/services/erp-api-services/rest/rest-api-service.ts +4 -4
  154. package/src/services/erp-api-services/types.ts +2 -2
  155. package/src/services/mm-api-service/company-info.ts +87 -0
  156. package/src/services/mm-api-service/index.ts +14 -6
  157. package/src/services/mm-api-service/mm-api-service.ts +30 -13
  158. package/src/services/mm-api-service/token-mgr.ts +4 -4
  159. package/src/services/mm-api-service/types/entity-transformer.ts +3 -3
  160. package/src/services/mm-api-service/types/receive-types.ts +1 -0
  161. package/src/services/nats-service/nats-service.ts +351 -0
  162. package/src/services/nats-service/test-nats-subscriber.ts +96 -0
  163. package/src/services/psql-erp-service/index.ts +3 -3
  164. package/src/services/psql-erp-service/psql-service.ts +4 -4
  165. package/src/services/reporting-service/index.ts +1 -1
  166. package/src/services/reporting-service/logger.ts +81 -116
  167. package/src/services/sql-server-erp-service/index.ts +3 -3
  168. package/src/services/sql-server-erp-service/internal/sql-labor-ticket-operations.ts +2 -2
  169. package/src/services/sql-server-erp-service/internal/sql-transaction-manager.ts +1 -1
  170. package/src/services/sql-server-erp-service/sql-server-helpers.ts +6 -6
  171. package/src/services/sql-server-erp-service/sql-server-service.ts +4 -4
  172. package/src/services/sqlite-service/index.ts +1 -1
  173. package/src/services/sqlite-service/sqlite-coordinator.ts +2 -2
  174. package/src/types/erp-connector.ts +2 -9
  175. package/src/types/index.ts +2 -10
  176. package/src/utils/application-initializer.ts +5 -5
  177. package/src/utils/connector-factory.ts +2 -2
  178. package/src/utils/connector-log/log-deduper.ts +2 -2
  179. package/src/utils/connector-log/mm-connector-logger.ts +3 -3
  180. package/src/utils/erp-type-from-entity.ts +1 -1
  181. package/src/utils/error-formatter.ts +205 -0
  182. package/src/utils/http-client.ts +3 -2
  183. package/src/utils/index.ts +39 -38
  184. package/src/utils/local-data-store/database-lock.ts +1 -1
  185. package/src/utils/local-data-store/jobs-shared-data.ts +0 -2
  186. package/src/utils/mm-labor-ticket-helpers.ts +9 -12
  187. package/src/utils/removeExtraneousFields.ts +1 -1
  188. package/src/utils/removeIdFieldFromPayload.ts +1 -1
  189. package/src/utils/resource-group.ts +2 -2
  190. package/src/utils/standard-process-drivers/error-processor.ts +5 -5
  191. package/src/utils/standard-process-drivers/index.ts +3 -3
  192. package/src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts +12 -16
  193. package/src/utils/standard-process-drivers/mm-entity-processor.ts +8 -14
  194. package/src/utils/standard-process-drivers/standard-process-drivers.ts +25 -39
  195. package/src/utils/time-utils.ts +3 -14
  196. package/src/utils/timezone.ts +2 -2
  197. package/dist/index.js +0 -48
  198. package/dist/index.js.map +0 -1
  199. package/dist/knexfile.js +0 -19
  200. package/dist/knexfile.js.map +0 -1
  201. package/dist/migrations/20241015162631_create_cache_table.d.ts +0 -4
  202. package/dist/migrations/20241015162631_create_cache_table.d.ts.map +0 -1
  203. package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts +0 -4
  204. package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts.map +0 -1
  205. package/dist/migrations/20250103162631_create_record_tracking_table.d.ts +0 -4
  206. package/dist/migrations/20250103162631_create_record_tracking_table.d.ts.map +0 -1
  207. package/dist/services/caching-service/batch-cache-manager.js +0 -84
  208. package/dist/services/caching-service/batch-cache-manager.js.map +0 -1
  209. package/dist/services/caching-service/hashed-cache-manager.js +0 -223
  210. package/dist/services/caching-service/hashed-cache-manager.js.map +0 -1
  211. package/dist/services/caching-service/index.js +0 -2
  212. package/dist/services/caching-service/index.js.map +0 -1
  213. package/dist/services/caching-service/record-tracking-manager.js +0 -28
  214. package/dist/services/caching-service/record-tracking-manager.js.map +0 -1
  215. package/dist/services/data-sync-service/configuration-manager.js +0 -163
  216. package/dist/services/data-sync-service/configuration-manager.js.map +0 -1
  217. package/dist/services/data-sync-service/data-sync-service.js +0 -95
  218. package/dist/services/data-sync-service/data-sync-service.js.map +0 -1
  219. package/dist/services/data-sync-service/index.js +0 -10
  220. package/dist/services/data-sync-service/index.js.map +0 -1
  221. package/dist/services/erp-api-services/errors.js +0 -83
  222. package/dist/services/erp-api-services/errors.js.map +0 -1
  223. package/dist/services/erp-api-services/graphql/graphql-service.js +0 -102
  224. package/dist/services/erp-api-services/graphql/graphql-service.js.map +0 -1
  225. package/dist/services/erp-api-services/graphql/types.js +0 -6
  226. package/dist/services/erp-api-services/graphql/types.js.map +0 -1
  227. package/dist/services/erp-api-services/index.js +0 -13
  228. package/dist/services/erp-api-services/index.js.map +0 -1
  229. package/dist/services/erp-api-services/oauth-client.js +0 -41
  230. package/dist/services/erp-api-services/oauth-client.js.map +0 -1
  231. package/dist/services/erp-api-services/rest/get-query-params.js +0 -23
  232. package/dist/services/erp-api-services/rest/get-query-params.js.map +0 -1
  233. package/dist/services/erp-api-services/rest/rest-api-service.js +0 -163
  234. package/dist/services/erp-api-services/rest/rest-api-service.js.map +0 -1
  235. package/dist/services/erp-api-services/types.js +0 -2
  236. package/dist/services/erp-api-services/types.js.map +0 -1
  237. package/dist/services/mm-api-service/index.js +0 -15
  238. package/dist/services/mm-api-service/index.js.map +0 -1
  239. package/dist/services/mm-api-service/mm-api-service.js +0 -519
  240. package/dist/services/mm-api-service/mm-api-service.js.map +0 -1
  241. package/dist/services/mm-api-service/token-mgr.js +0 -113
  242. package/dist/services/mm-api-service/token-mgr.js.map +0 -1
  243. package/dist/services/mm-api-service/types/checkpoint.js +0 -2
  244. package/dist/services/mm-api-service/types/checkpoint.js.map +0 -1
  245. package/dist/services/mm-api-service/types/entity-transformer.js +0 -186
  246. package/dist/services/mm-api-service/types/entity-transformer.js.map +0 -1
  247. package/dist/services/mm-api-service/types/mm-response-interfaces.js +0 -34
  248. package/dist/services/mm-api-service/types/mm-response-interfaces.js.map +0 -1
  249. package/dist/services/mm-api-service/types/receive-types.js +0 -55
  250. package/dist/services/mm-api-service/types/receive-types.js.map +0 -1
  251. package/dist/services/mm-api-service/types/send-types.js +0 -337
  252. package/dist/services/mm-api-service/types/send-types.js.map +0 -1
  253. package/dist/services/psql-erp-service/configuration.js +0 -2
  254. package/dist/services/psql-erp-service/configuration.js.map +0 -1
  255. package/dist/services/psql-erp-service/index.js +0 -10
  256. package/dist/services/psql-erp-service/index.js.map +0 -1
  257. package/dist/services/psql-erp-service/internal/types/psql-types.js +0 -5
  258. package/dist/services/psql-erp-service/internal/types/psql-types.js.map +0 -1
  259. package/dist/services/psql-erp-service/psql-helpers.js +0 -99
  260. package/dist/services/psql-erp-service/psql-helpers.js.map +0 -1
  261. package/dist/services/psql-erp-service/psql-service.js +0 -187
  262. package/dist/services/psql-erp-service/psql-service.js.map +0 -1
  263. package/dist/services/reporting-service/index.js +0 -5
  264. package/dist/services/reporting-service/index.js.map +0 -1
  265. package/dist/services/reporting-service/logger.js +0 -221
  266. package/dist/services/reporting-service/logger.js.map +0 -1
  267. package/dist/services/sql-server-erp-service/configuration.js +0 -2
  268. package/dist/services/sql-server-erp-service/configuration.js.map +0 -1
  269. package/dist/services/sql-server-erp-service/index.js +0 -11
  270. package/dist/services/sql-server-erp-service/index.js.map +0 -1
  271. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js +0 -50
  272. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js.map +0 -1
  273. package/dist/services/sql-server-erp-service/internal/sql-server-config.js +0 -40
  274. package/dist/services/sql-server-erp-service/internal/sql-server-config.js.map +0 -1
  275. package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js +0 -36
  276. package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js.map +0 -1
  277. package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js +0 -2
  278. package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js.map +0 -1
  279. package/dist/services/sql-server-erp-service/sql-server-helpers.js +0 -66
  280. package/dist/services/sql-server-erp-service/sql-server-helpers.js.map +0 -1
  281. package/dist/services/sql-server-erp-service/sql-server-service.js +0 -154
  282. package/dist/services/sql-server-erp-service/sql-server-service.js.map +0 -1
  283. package/dist/services/sql-server-erp-service/types/sql-input-param.js +0 -2
  284. package/dist/services/sql-server-erp-service/types/sql-input-param.js.map +0 -1
  285. package/dist/services/sqlite-service/index.js +0 -2
  286. package/dist/services/sqlite-service/index.js.map +0 -1
  287. package/dist/services/sqlite-service/sqlite-coordinator.js +0 -60
  288. package/dist/services/sqlite-service/sqlite-coordinator.js.map +0 -1
  289. package/dist/types/erp-connector.js +0 -2
  290. package/dist/types/erp-connector.js.map +0 -1
  291. package/dist/types/erp-types.js +0 -13
  292. package/dist/types/erp-types.js.map +0 -1
  293. package/dist/types/flattened-work-order.d.ts +0 -99
  294. package/dist/types/flattened-work-order.d.ts.map +0 -1
  295. package/dist/types/flattened-work-order.js +0 -2
  296. package/dist/types/flattened-work-order.js.map +0 -1
  297. package/dist/types/index.js +0 -6
  298. package/dist/types/index.js.map +0 -1
  299. package/dist/utils/application-initializer.js +0 -55
  300. package/dist/utils/application-initializer.js.map +0 -1
  301. package/dist/utils/cleanup-numbers.js +0 -6
  302. package/dist/utils/cleanup-numbers.js.map +0 -1
  303. package/dist/utils/connector-factory.js +0 -34
  304. package/dist/utils/connector-factory.js.map +0 -1
  305. package/dist/utils/connector-log/log-deduper.js +0 -240
  306. package/dist/utils/connector-log/log-deduper.js.map +0 -1
  307. package/dist/utils/connector-log/mm-connector-logger-example.js +0 -88
  308. package/dist/utils/connector-log/mm-connector-logger-example.js.map +0 -1
  309. package/dist/utils/connector-log/mm-connector-logger.js +0 -151
  310. package/dist/utils/connector-log/mm-connector-logger.js.map +0 -1
  311. package/dist/utils/data-transformation.js +0 -38
  312. package/dist/utils/data-transformation.js.map +0 -1
  313. package/dist/utils/env.d.ts +0 -8
  314. package/dist/utils/env.d.ts.map +0 -1
  315. package/dist/utils/env.js +0 -58
  316. package/dist/utils/env.js.map +0 -1
  317. package/dist/utils/erp-timezone-utils.d.ts +0 -20
  318. package/dist/utils/erp-timezone-utils.d.ts.map +0 -1
  319. package/dist/utils/erp-timezone-utils.js +0 -75
  320. package/dist/utils/erp-timezone-utils.js.map +0 -1
  321. package/dist/utils/erp-type-from-entity.js +0 -6
  322. package/dist/utils/erp-type-from-entity.js.map +0 -1
  323. package/dist/utils/error-utils.js +0 -21
  324. package/dist/utils/error-utils.js.map +0 -1
  325. package/dist/utils/http-client.js +0 -186
  326. package/dist/utils/http-client.js.map +0 -1
  327. package/dist/utils/index.js +0 -66
  328. package/dist/utils/index.js.map +0 -1
  329. package/dist/utils/local-data-store/database-lock.js +0 -68
  330. package/dist/utils/local-data-store/database-lock.js.map +0 -1
  331. package/dist/utils/local-data-store/jobs-shared-data.js +0 -118
  332. package/dist/utils/local-data-store/jobs-shared-data.js.map +0 -1
  333. package/dist/utils/mm-labor-ticket-helpers.js +0 -28
  334. package/dist/utils/mm-labor-ticket-helpers.js.map +0 -1
  335. package/dist/utils/removeExtraneousFields.js +0 -16
  336. package/dist/utils/removeExtraneousFields.js.map +0 -1
  337. package/dist/utils/removeIdFieldFromPayload.js +0 -16
  338. package/dist/utils/removeIdFieldFromPayload.js.map +0 -1
  339. package/dist/utils/resource-group.js +0 -59
  340. package/dist/utils/resource-group.js.map +0 -1
  341. package/dist/utils/standard-process-drivers/error-processor.js +0 -262
  342. package/dist/utils/standard-process-drivers/error-processor.js.map +0 -1
  343. package/dist/utils/standard-process-drivers/index.js +0 -4
  344. package/dist/utils/standard-process-drivers/index.js.map +0 -1
  345. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js +0 -173
  346. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js.map +0 -1
  347. package/dist/utils/standard-process-drivers/mm-entity-processor.js +0 -174
  348. package/dist/utils/standard-process-drivers/mm-entity-processor.js.map +0 -1
  349. package/dist/utils/standard-process-drivers/standard-process-drivers.js +0 -333
  350. package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +0 -1
  351. package/dist/utils/time-utils.js +0 -103
  352. package/dist/utils/time-utils.js.map +0 -1
  353. package/dist/utils/timezone.js +0 -105
  354. package/dist/utils/timezone.js.map +0 -1
  355. package/dist/utils/trimObjectValues.js +0 -11
  356. package/dist/utils/trimObjectValues.js.map +0 -1
  357. package/dist/utils/uniqueRows.js +0 -35
  358. package/dist/utils/uniqueRows.js.map +0 -1
  359. package/src/types/flattened-work-order.ts +0 -108
  360. package/src/utils/env.ts +0 -75
  361. package/src/utils/erp-timezone-utils.ts +0 -99
@@ -1 +0,0 @@
1
- {"version":3,"file":"20241015162631_create_cache_table.d.ts","sourceRoot":"","sources":["../../src/migrations/20241015162631_create_cache_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAQlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD"}
@@ -1,4 +0,0 @@
1
- import { Knex } from "knex";
2
- export declare function up(knex: Knex): Promise<void>;
3
- export declare function down(knex: Knex): Promise<void>;
4
- //# sourceMappingURL=20241015162632_create_sdk_cache_table.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"20241015162632_create_sdk_cache_table.d.ts","sourceRoot":"","sources":["../../src/migrations/20241015162632_create_sdk_cache_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAQlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD"}
@@ -1,4 +0,0 @@
1
- import { Knex } from "knex";
2
- export declare function up(knex: Knex): Promise<void>;
3
- export declare function down(knex: Knex): Promise<void>;
4
- //# sourceMappingURL=20250103162631_create_record_tracking_table.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"20250103162631_create_record_tracking_table.d.ts","sourceRoot":"","sources":["../../src/migrations/20250103162631_create_record_tracking_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD"}
@@ -1,84 +0,0 @@
1
- import { HashedCacheManager } from "./hashed-cache-manager.js";
2
- export class BatchCacheManager {
3
- cacheManager;
4
- constructor(options) {
5
- this.cacheManager = new HashedCacheManager({
6
- ttl: options?.ttl,
7
- tableName: options?.tableName,
8
- });
9
- }
10
- /**
11
- * Checks a batch of objects against the cache and separates them into duplicates and non-duplicates
12
- * @param type The type of objects
13
- * @param objects Array of objects to check
14
- * @returns Object containing arrays of duplicate and non-duplicate objects
15
- */
16
- async dedupeBatch(type, objects) {
17
- const result = {
18
- duplicates: [],
19
- nonDuplicates: [],
20
- };
21
- // Check each object individually
22
- for (const object of objects) {
23
- const hasChanged = await this.cacheManager.hasChanged(type, object);
24
- if (hasChanged) {
25
- result.nonDuplicates.push(object);
26
- }
27
- else {
28
- result.duplicates.push(object);
29
- }
30
- }
31
- return result;
32
- }
33
- /**
34
- * Stores a batch of objects in the cache
35
- * @param type The type of objects
36
- * @param objects Array of objects to store
37
- */
38
- async storeBatch(type, objects) {
39
- // Store each object individually
40
- let totalInserted = 0;
41
- for (const object of objects) {
42
- if (await this.cacheManager.store(type, object)) {
43
- totalInserted++;
44
- }
45
- }
46
- return { totalInserted };
47
- }
48
- /**
49
- * Removes objects from the cache
50
- * @param type The type of objects
51
- * @param objects Array of objects to remove
52
- */
53
- async removeObjects(type, objects) {
54
- // Remove each object individually
55
- for (const object of objects) {
56
- await this.cacheManager.removeRecord(type, object);
57
- }
58
- }
59
- /**
60
- * Gets all records of a specific type
61
- */
62
- async getRecordsByType(type) {
63
- return this.cacheManager.getRecordsByType(type);
64
- }
65
- /**
66
- * Removes all records of a specific type
67
- */
68
- async removeRecordsByType(type) {
69
- return this.cacheManager.removeRecordsByType(type);
70
- }
71
- /**
72
- * Clears all records from the cache
73
- */
74
- async clear() {
75
- return this.cacheManager.clear();
76
- }
77
- /**
78
- * Cleans up resources
79
- */
80
- async destroy() {
81
- return this.cacheManager.destroy();
82
- }
83
- }
84
- //# sourceMappingURL=batch-cache-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"batch-cache-manager.js","sourceRoot":"","sources":["../../../src/services/caching-service/batch-cache-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAa/D,MAAM,OAAO,iBAAiB;IACpB,YAAY,CAAqB;IAEzC,YAAY,OAAkC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAkB,CAAC;YACzC,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,SAAS,EAAE,OAAO,EAAE,SAAS;SAC9B,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,IAAgB,EAChB,OAAiB;QAEjB,MAAM,MAAM,GAAwB;YAClC,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;SAClB,CAAC;QAEF,iCAAiC;QACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEpE,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CACd,IAAgB,EAChB,OAAiB;QAEjB,iCAAiC;QACjC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;gBAChD,aAAa,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,IAAgB,EAAE,OAAiB;QACrD,kCAAkC;QAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAgB;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,IAAgB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;CACF"}
@@ -1,223 +0,0 @@
1
- import knex from "knex";
2
- import config from "../../knexfile.js";
3
- import stringify from "json-stable-stringify";
4
- import XXH from "xxhashjs";
5
- import { CoreConfiguration } from "../data-sync-service/configuration-manager.js";
6
- import { logger } from "../reporting-service/index.js";
7
- export class HashedCacheManager {
8
- static TABLE_NAME = "sdk_cache";
9
- db;
10
- options;
11
- static SEED = 0xabcd; // Arbitrary seed for hashing
12
- isDestroyed = false;
13
- metrics = {
14
- recordCounts: {},
15
- };
16
- constructor(options) {
17
- this.options = {
18
- ttl: options?.ttl || CoreConfiguration.inst().cacheTTL,
19
- tableName: options?.tableName || HashedCacheManager.TABLE_NAME,
20
- };
21
- this.db = knex({
22
- ...config.local,
23
- pool: {
24
- min: 0,
25
- max: 10,
26
- },
27
- });
28
- }
29
- /**
30
- * Checks if the cache manager is still valid
31
- * @throws Error if the cache manager has been destroyed
32
- */
33
- checkValid() {
34
- if (this.isDestroyed) {
35
- throw new Error("Cache manager has been destroyed");
36
- }
37
- }
38
- /**
39
- * Generates a stable hash of a record using JSON stringify + xxhash
40
- */
41
- static hashRecord(record) {
42
- try {
43
- const serialized = stringify(record);
44
- if (!serialized) {
45
- throw new Error("Failed to serialize record for hashing");
46
- }
47
- const hash = XXH.h64(serialized, HashedCacheManager.SEED).toString(16);
48
- return hash;
49
- }
50
- catch (error) {
51
- if (error instanceof Error && error.message.includes("circular")) {
52
- throw new Error("Failed to serialize record for hashing");
53
- }
54
- throw error;
55
- }
56
- }
57
- /**
58
- * Gets a record from the cache
59
- * @param type The type of record
60
- * @param hash The hash of the record
61
- * @returns The record if it exists, null otherwise
62
- */
63
- async getRecord(type, hash) {
64
- this.checkValid();
65
- return this.db(this.options.tableName)
66
- .select("key")
67
- .where({ type, key: hash })
68
- .first();
69
- }
70
- /**
71
- * Stores a record in the cache
72
- * @param type The type of record
73
- * @param record The record to store
74
- * @returns true if a new record was created, false if an existing record was updated
75
- */
76
- async store(type, record) {
77
- if (!this.isDestroyed && record) {
78
- try {
79
- const hash = HashedCacheManager.hashRecord(record);
80
- const now = new Date();
81
- // First check if record exists with same type and hash
82
- const existing = await this.db(this.options.tableName)
83
- .where({
84
- type,
85
- key: hash,
86
- })
87
- .first();
88
- if (existing) {
89
- return false; // No need to update, hash hasn't changed
90
- }
91
- else {
92
- // Insert new record with minimal data
93
- const result = await this.db(this.options.tableName)
94
- .insert({
95
- type,
96
- key: hash,
97
- created_at: now,
98
- })
99
- .returning("id");
100
- return result.length > 0;
101
- }
102
- }
103
- catch (error) {
104
- logger.error("Error storing record:", error);
105
- throw error;
106
- }
107
- }
108
- return false;
109
- }
110
- /**
111
- * Checks if a record has changed since last seen
112
- * @param type The type of record
113
- * @param record The record to check
114
- * @returns true if the record has changed or is new
115
- */
116
- async hasChanged(type, record) {
117
- this.checkValid();
118
- const newHash = HashedCacheManager.hashRecord(record);
119
- const existing = await this.getRecord(type, newHash);
120
- return !existing;
121
- }
122
- /**
123
- * Checks if a record has changed and stores it if it has
124
- * @param type The type of record
125
- * @param record The record to check and store
126
- * @returns true if the record was changed or is new
127
- */
128
- async upsert(type, record) {
129
- this.checkValid();
130
- const hasChanged = await this.hasChanged(type, record);
131
- if (hasChanged) {
132
- await this.store(type, record);
133
- }
134
- return hasChanged;
135
- }
136
- /**
137
- * Removes expired records based on TTL
138
- */
139
- async removeExpiredObjects() {
140
- this.checkValid();
141
- const ttl = this.options.ttl;
142
- if (!ttl)
143
- return;
144
- const ttlMilliseconds = ttl * 1000;
145
- const expirationLimitDate = new Date(Date.now() - ttlMilliseconds);
146
- const expirationLimit = expirationLimitDate
147
- .toISOString()
148
- .slice(0, 19)
149
- .replace("T", " ");
150
- await this.db(this.options.tableName)
151
- .where("created_at", "<", expirationLimit)
152
- .del();
153
- }
154
- /**
155
- * Gets all records of a specific type
156
- */
157
- async getRecordsByType(type) {
158
- this.checkValid();
159
- const records = await this.db(this.options.tableName)
160
- .select("key")
161
- .where({ type });
162
- return records.map((record) => record.key);
163
- }
164
- /**
165
- * Removes all records of a specific type
166
- */
167
- async removeRecordsByType(type) {
168
- this.checkValid();
169
- await this.db(this.options.tableName).where({ type }).del();
170
- }
171
- /**
172
- * Removes a specific record
173
- */
174
- async removeRecord(type, record) {
175
- if (!this.isDestroyed) {
176
- try {
177
- const hash = HashedCacheManager.hashRecord(record);
178
- await this.db(this.options.tableName)
179
- .where({ type, key: hash }) // Use key for deletion
180
- .del();
181
- }
182
- catch (error) {
183
- logger.error("Error removing record:", error);
184
- throw error;
185
- }
186
- }
187
- }
188
- /**
189
- * Clears all records from the cache
190
- */
191
- async clear() {
192
- this.checkValid();
193
- await this.db(this.options.tableName).del();
194
- }
195
- /**
196
- * Cleans up database connection and marks the cache manager as destroyed
197
- */
198
- async destroy() {
199
- if (!this.isDestroyed) {
200
- await this.db.destroy();
201
- this.isDestroyed = true;
202
- }
203
- }
204
- /**
205
- * Gets the current cache metrics
206
- * @returns The current cache metrics
207
- */
208
- async getMetrics() {
209
- this.checkValid();
210
- // Get counts for each type
211
- const counts = (await this.db(this.options.tableName)
212
- .select("type")
213
- .count("* as count")
214
- .groupBy("type"));
215
- // Update metrics
216
- this.metrics.recordCounts = counts.reduce((acc, row) => {
217
- acc[row.type] = parseInt(row.count, 10);
218
- return acc;
219
- }, {});
220
- return this.metrics;
221
- }
222
- }
223
- //# sourceMappingURL=hashed-cache-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hashed-cache-manager.js","sourceRoot":"","sources":["../../../src/services/caching-service/hashed-cache-manager.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/caching-service/index.ts"],"names":[],"mappings":""}
@@ -1,28 +0,0 @@
1
- import knex from "knex";
2
- import config from "../../knexfile.js";
3
- const DEFAULT_RECORD_TRACKING_TABLE_NAME = "record_tracking";
4
- export class RecordTrackingManager {
5
- db;
6
- constructor() {
7
- this.db = knex(config.local);
8
- }
9
- async updateRecord(record) {
10
- if (record.lastValue && record.recordId) {
11
- const recordUpdated = await this.db(DEFAULT_RECORD_TRACKING_TABLE_NAME)
12
- .where({ entityType: record.entityType })
13
- .update(record);
14
- if (recordUpdated < 1) {
15
- await this.db(DEFAULT_RECORD_TRACKING_TABLE_NAME).insert(record);
16
- }
17
- }
18
- }
19
- async getTrackingRecord(type) {
20
- return await this.db(DEFAULT_RECORD_TRACKING_TABLE_NAME)
21
- .select("*")
22
- .where({ entityType: type.toString() });
23
- }
24
- async destroy() {
25
- return this.db.destroy();
26
- }
27
- }
28
- //# sourceMappingURL=record-tracking-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"record-tracking-manager.js","sourceRoot":"","sources":["../../../src/services/caching-service/record-tracking-manager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAc,MAAM,MAAM,CAAC;AAClC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,MAAM,kCAAkC,GAAG,iBAAiB,CAAC;AAQ7D,MAAM,OAAO,qBAAqB;IAChC,EAAE,CAAO;IAET;QACE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA4B;QAC7C,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,kCAAkC,CAAC;iBACpE,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;iBACxC,MAAM,CAAC,MAAM,CAAC,CAAC;YAElB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,EAAE,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAgB;QACtC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,kCAAkC,CAAC;aACrD,MAAM,CAAC,GAAG,CAAC;aACX,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
@@ -1,163 +0,0 @@
1
- import "dotenv/config";
2
- import { configureLogger } from "../reporting-service/logger.js";
3
- import { getEnvBoolean, getEnvNumber, getEnvString } from "../../utils/env.js";
4
- export class CoreConfiguration {
5
- static instance;
6
- // General Configuration
7
- logLevel;
8
- erpSystem;
9
- nodeEnv;
10
- // MM API (aka "Mapping") Service
11
- mmERPSvcApiBaseUrl;
12
- mmApiBaseUrl;
13
- mmApiAuthToken;
14
- mmApiRetryAttempts;
15
- // Caching (optionally used for interacting with the MM API)
16
- cacheTTL;
17
- // ERP API Service
18
- erpApiPagingLimit; //Pagination limit for ERP API
19
- // Job timing Intervals
20
- fromErpInterval;
21
- toErpInterval;
22
- retryLaborTicketsInterval;
23
- cacheExpirationCheckInterval;
24
- constructor() {
25
- this.logLevel = getEnvString("LOG_LEVEL", "info");
26
- this.erpSystem = getEnvString("ERP_SYSTEM", "template");
27
- this.nodeEnv = getEnvString("NODE_ENV", "development");
28
- //#region MM API (aka "Mapping") Service
29
- /**
30
- * MM ERP Service REST API URL (typically https://erp-api.svc.machinemetrics.com)
31
- */
32
- this.mmERPSvcApiBaseUrl = getEnvString("MM_MAPPING_SERVICE_URL", "");
33
- /**
34
- * MM REST API URL (typically https://api.machinemetrics.com)
35
- */
36
- console.log("=== CONFIG DEBUG ===");
37
- const mmAuthSvcUrl = getEnvString("MM_MAPPING_AUTH_SERVICE_URL", "");
38
- console.log("MM_MAPPING_AUTH_SERVICE_URL env var:", mmAuthSvcUrl);
39
- this.mmApiBaseUrl = mmAuthSvcUrl;
40
- console.log("mmApiBaseUrl set to:", this.mmApiBaseUrl);
41
- console.log("=== END CONFIG DEBUG ===");
42
- /**
43
- * Company Auth Token
44
- */
45
- this.mmApiAuthToken = getEnvString("MM_MAPPING_SERVICE_TOKEN", "");
46
- /**
47
- * Number of retry attempts for MM API calls
48
- */
49
- this.mmApiRetryAttempts = getEnvNumber("RETRY_ATTEMPTS", 0);
50
- //#endregion MM API (aka "Mapping") Service
51
- /**
52
- * Default pagination limit for ERP API
53
- */
54
- this.erpApiPagingLimit = getEnvNumber("ERP_PAGINATION_LIMIT", 0);
55
- //#endregion ERP API Service
56
- /**
57
- * For how to define the intervals, see Bree's documentation: https://github.com/breejs/bree
58
- */
59
- const pollInterval = getEnvString("POLL_INTERVAL", "");
60
- this.fromErpInterval = getEnvString("FROM_ERP_INTERVAL", pollInterval || "5 min");
61
- this.toErpInterval = getEnvString("TO_ERP_INTERVAL", "5 min");
62
- this.retryLaborTicketsInterval = getEnvString("RETRY_LABOR_TICKETS_INTERVAL", "30 min");
63
- this.cacheExpirationCheckInterval = getEnvString("CACHE_EXPIRATION_CHECK_INTERVAL", "5 min");
64
- /**
65
- * Cache TTL (in seconds)
66
- */
67
- const cacheTTLDef = 7 * 24 * 60 * 60; // 7 days
68
- this.cacheTTL = getEnvNumber("CACHE_TTL", cacheTTLDef);
69
- // Configure the logger with our settings
70
- configureLogger(this.logLevel, this.nodeEnv);
71
- }
72
- static inst() {
73
- if (!CoreConfiguration.instance) {
74
- CoreConfiguration.instance = new CoreConfiguration();
75
- }
76
- return CoreConfiguration.instance;
77
- }
78
- /**
79
- * Returns a sanitized version of the configuration for safe logging.
80
- * Masks sensitive fields like authentication tokens.
81
- */
82
- toSafeLogObject() {
83
- const maskSensitiveValue = (value) => {
84
- if (!value || value.length === 0) {
85
- return "";
86
- }
87
- if (value.length < 6) {
88
- return "********";
89
- }
90
- // Show first 3 and last 3 characters, mask the middle
91
- return value.substring(0, 3) + "********" + value.substring(value.length - 3);
92
- };
93
- return {
94
- logLevel: this.logLevel,
95
- erpSystem: this.erpSystem,
96
- nodeEnv: this.nodeEnv,
97
- mmERPSvcApiBaseUrl: this.mmERPSvcApiBaseUrl,
98
- mmApiBaseUrl: this.mmApiBaseUrl,
99
- mmApiAuthToken: maskSensitiveValue(this.mmApiAuthToken),
100
- mmApiRetryAttempts: this.mmApiRetryAttempts,
101
- cacheTTL: this.cacheTTL,
102
- erpApiPagingLimit: this.erpApiPagingLimit,
103
- fromErpInterval: this.fromErpInterval,
104
- toErpInterval: this.toErpInterval,
105
- retryLaborTicketsInterval: this.retryLaborTicketsInterval,
106
- cacheExpirationCheckInterval: this.cacheExpirationCheckInterval,
107
- };
108
- }
109
- }
110
- /**
111
- * Helper function to get the SQL Server Configuration for collectors that use SQL Server to interact with the ERP
112
- */
113
- export const getSQLServerConfiguration = () => {
114
- return {
115
- username: getEnvString("ERP_SQLSERVER_USERNAME", ""),
116
- password: getEnvString("ERP_SQLSERVER_PASSWORD", ""),
117
- database: getEnvString("ERP_SQLSERVER_DATABASE", ""),
118
- host: getEnvString("ERP_SQLSERVER_HOST", getEnvString("ERP_SQLSERVER_SERVER", "")),
119
- port: getEnvString("ERP_SQLSERVER_PORT", "1433"),
120
- connectionTimeout: getEnvString("ERP_SQLSERVER_CONNECTION_TIMEOUT", "30000"),
121
- requestTimeout: getEnvString("ERP_SQLSERVER_REQUEST_TIMEOUT", "60000"),
122
- poolMax: getEnvString("ERP_SQLSERVER_MAX", "10"),
123
- poolMin: getEnvString("ERP_SQLSERVER_MIN", "0"),
124
- idleTimeoutMillis: getEnvString("ERP_SQLSERVER_IDLE_TIMEOUT_MMILLIS", "30000"),
125
- encrypt: getEnvBoolean("ERP_SQLSERVER_ENCRYPT", false),
126
- trustServer: getEnvBoolean("ERP_SQLSERVER_TRUST_SERVER", false),
127
- };
128
- };
129
- /**
130
- * Parameters required to connect to an ERP system via its API.
131
- * Contains all the necessary settings to establish a connection and authenticate with an ERP system's API.
132
- */
133
- export class ErpApiConnectionParams {
134
- erpApiUrl;
135
- erpApiClientId;
136
- erpApiClientSecret;
137
- erpApiOrganizationId;
138
- erpAuthBaseUrl;
139
- retryAttempts;
140
- constructor(erpApiUrl, // Base url of ERP
141
- erpApiClientId, // Client ID to authenticate with ERP
142
- erpApiClientSecret, // Client Secret to authenticate with ERP
143
- erpApiOrganizationId, // Organization / tenant Id
144
- erpAuthBaseUrl, // Auth base url
145
- retryAttempts = 3 // Number of retry attempts for API calls
146
- ) {
147
- this.erpApiUrl = erpApiUrl;
148
- this.erpApiClientId = erpApiClientId;
149
- this.erpApiClientSecret = erpApiClientSecret;
150
- this.erpApiOrganizationId = erpApiOrganizationId;
151
- this.erpAuthBaseUrl = erpAuthBaseUrl;
152
- this.retryAttempts = retryAttempts;
153
- }
154
- }
155
- /**
156
- * Helper function to get the ERP API Connection Parameters
157
- * Not all connectors use these, but keeping these commonly values in one place may
158
- * make it easier to set and understand env var names set in App.
159
- */
160
- export const getErpApiConnectionParams = () => {
161
- return new ErpApiConnectionParams(getEnvString("ERP_API_URL", ""), getEnvString("ERP_API_CLIENT_ID", ""), getEnvString("ERP_API_CLIENT_SECRET", ""), getEnvString("ERP_API_ORGANIZATION_ID", ""), getEnvString("ERP_AUTH_BASE_URL", ""), getEnvNumber("ERP_API_RETRY_ATTEMPTS", 3));
162
- };
163
- //# sourceMappingURL=configuration-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configuration-manager.js","sourceRoot":"","sources":["../../../src/services/data-sync-service/configuration-manager.ts"],"names":[],"mappings":"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"}
@@ -1,95 +0,0 @@
1
- import Bree from "bree";
2
- import Graceful from "@ladjs/graceful";
3
- import path from "path";
4
- import { fileURLToPath } from "url";
5
- import { CoreConfiguration } from "./configuration-manager.js";
6
- import logger from "../reporting-service/logger.js";
7
- const GracefulClass = Graceful;
8
- export const runDataSyncService = async (connectorPath) => {
9
- const config = CoreConfiguration.inst();
10
- try {
11
- // Find the SDK's node_modules directory and jobs path using ES module import
12
- const currentFileUrl = import.meta.url;
13
- const currentFilePath = fileURLToPath(currentFileUrl);
14
- // Navigate from current file to the SDK root and then to jobs
15
- // Current: /path/to/sdk/dist/mm-erp-sdk.js.js
16
- // Target: /path/to/sdk/dist/services/data-sync-service/jobs
17
- const sdkDistPath = path.dirname(currentFilePath);
18
- const jobsPath = path.join(sdkDistPath, "jobs");
19
- const bree = new Bree({
20
- root: jobsPath,
21
- logger,
22
- worker: {
23
- env: {
24
- CONNECTOR_PATH: connectorPath,
25
- // Pass through all required environment variables
26
- MM_MAPPING_SERVICE_URL: process.env.MM_MAPPING_SERVICE_URL,
27
- MM_MAPPING_AUTH_SERVICE_URL: process.env.MM_MAPPING_AUTH_SERVICE_URL,
28
- MM_MAPPING_SERVICE_TOKEN: process.env.MM_MAPPING_SERVICE_TOKEN,
29
- ERP_SYSTEM: process.env.ERP_SYSTEM,
30
- LOG_LEVEL: process.env.LOG_LEVEL,
31
- NODE_ENV: process.env.NODE_ENV,
32
- RETRY_ATTEMPTS: process.env.RETRY_ATTEMPTS,
33
- CACHE_TTL: process.env.CACHE_TTL,
34
- // Pass through all other environment variables that might be needed
35
- ...process.env,
36
- },
37
- },
38
- jobs: [
39
- // {
40
- // name: 'run-migrations', // Running this once on startup will create the tables in the sqlite database
41
- // },
42
- {
43
- name: "from-erp",
44
- timeout: "10s",
45
- interval: config.fromErpInterval,
46
- },
47
- {
48
- name: "to-erp",
49
- //timeout: '3s', // Use timeout during development to see the job in action quickly
50
- interval: config.toErpInterval,
51
- },
52
- {
53
- name: "retry-failed-labor-tickets",
54
- interval: config.retryLaborTicketsInterval,
55
- },
56
- {
57
- name: "clean-up-expired-cache",
58
- interval: config.cacheExpirationCheckInterval,
59
- },
60
- ],
61
- });
62
- logger.info("\n================================INITIATING DATA SYNC CYCLES (Bree)================================\n");
63
- const jobsConfig = bree.config.jobs.map((job) => ({
64
- name: job.name,
65
- interval: job.interval,
66
- timeout: job.timeout,
67
- }));
68
- logger.info("JOBS CONFIGURATION:", { jobs: jobsConfig });
69
- const graceful = new GracefulClass({ brees: [bree] });
70
- graceful.listen();
71
- (async () => {
72
- await bree.start();
73
- })();
74
- bree.on("jobStarted", (job) => {
75
- console.log("Job " + job.name + " started");
76
- });
77
- bree.on("jobCompleted", (job) => {
78
- if (job.error) {
79
- console.error("Job " + job.name + " failed:", job.error);
80
- }
81
- else {
82
- console.log("Job " + job.name + " completed successfully!");
83
- }
84
- });
85
- bree.on("error", (error) => {
86
- console.error("Bree error:", error);
87
- });
88
- // Exit and let the jobs take over
89
- logger.info("\n================================DATA SYNC CYCLES INITIATION COMPLETED================================\n");
90
- }
91
- catch (error) {
92
- logger.error("startUp: Error initiating data sync cycles:", error);
93
- }
94
- };
95
- //# sourceMappingURL=data-sync-service.js.map