@machinemetrics/mm-erp-sdk 0.1.9 → 0.2.0-beta.1

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 (339) 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.js +39 -40
  39. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js.map +1 -1
  40. package/dist/services/data-sync-service/jobs/from-erp.d.ts.map +1 -1
  41. package/dist/services/data-sync-service/jobs/from-erp.js +36 -48
  42. package/dist/services/data-sync-service/jobs/from-erp.js.map +1 -1
  43. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js +35 -36
  44. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js.map +1 -1
  45. package/dist/services/data-sync-service/jobs/run-migrations.js +21 -22
  46. package/dist/services/data-sync-service/jobs/run-migrations.js.map +1 -1
  47. package/dist/services/data-sync-service/jobs/to-erp.d.ts.map +1 -1
  48. package/dist/services/data-sync-service/jobs/to-erp.js +45 -48
  49. package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
  50. package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts +30 -0
  51. package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts.map +1 -0
  52. package/dist/services/erp-api-services/errors.d.ts +1 -1
  53. package/dist/services/erp-api-services/errors.d.ts.map +1 -1
  54. package/dist/services/erp-api-services/graphql/graphql-service.d.ts +2 -2
  55. package/dist/services/erp-api-services/graphql/graphql-service.d.ts.map +1 -1
  56. package/dist/services/erp-api-services/index.d.ts +8 -8
  57. package/dist/services/erp-api-services/index.d.ts.map +1 -1
  58. package/dist/services/erp-api-services/rest/rest-api-service.d.ts +2 -2
  59. package/dist/services/erp-api-services/rest/rest-api-service.d.ts.map +1 -1
  60. package/dist/services/erp-api-services/types.d.ts +2 -2
  61. package/dist/services/erp-api-services/types.d.ts.map +1 -1
  62. package/dist/services/mm-api-service/company-info.d.ts +13 -0
  63. package/dist/services/mm-api-service/company-info.d.ts.map +1 -0
  64. package/dist/services/mm-api-service/index.d.ts +13 -6
  65. package/dist/services/mm-api-service/index.d.ts.map +1 -1
  66. package/dist/services/mm-api-service/mm-api-service.d.ts +13 -7
  67. package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
  68. package/dist/services/mm-api-service/types/entity-transformer.d.ts +2 -2
  69. package/dist/services/mm-api-service/types/entity-transformer.d.ts.map +1 -1
  70. package/dist/services/mm-api-service/types/receive-types.d.ts +3 -0
  71. package/dist/services/mm-api-service/types/receive-types.d.ts.map +1 -1
  72. package/dist/services/nats-service/nats-service.d.ts +114 -0
  73. package/dist/services/nats-service/nats-service.d.ts.map +1 -0
  74. package/dist/services/nats-service/test-nats-subscriber.d.ts +6 -0
  75. package/dist/services/nats-service/test-nats-subscriber.d.ts.map +1 -0
  76. package/dist/services/psql-erp-service/index.d.ts +3 -3
  77. package/dist/services/psql-erp-service/index.d.ts.map +1 -1
  78. package/dist/services/psql-erp-service/psql-service.d.ts +2 -2
  79. package/dist/services/psql-erp-service/psql-service.d.ts.map +1 -1
  80. package/dist/services/reporting-service/index.d.ts +1 -1
  81. package/dist/services/reporting-service/index.d.ts.map +1 -1
  82. package/dist/services/reporting-service/logger.d.ts.map +1 -1
  83. package/dist/services/sql-server-erp-service/index.d.ts +3 -3
  84. package/dist/services/sql-server-erp-service/index.d.ts.map +1 -1
  85. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts +2 -2
  86. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts.map +1 -1
  87. package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts +3 -3
  88. package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts.map +1 -1
  89. package/dist/services/sql-server-erp-service/sql-server-service.d.ts +2 -2
  90. package/dist/services/sql-server-erp-service/sql-server-service.d.ts.map +1 -1
  91. package/dist/services/sqlite-service/index.d.ts +1 -1
  92. package/dist/services/sqlite-service/index.d.ts.map +1 -1
  93. package/dist/types/erp-connector.d.ts +1 -1
  94. package/dist/types/erp-connector.d.ts.map +1 -1
  95. package/dist/types/index.d.ts +2 -2
  96. package/dist/types/index.d.ts.map +1 -1
  97. package/dist/utils/connector-factory.d.ts +1 -1
  98. package/dist/utils/connector-factory.d.ts.map +1 -1
  99. package/dist/utils/connector-log/log-deduper.d.ts +1 -1
  100. package/dist/utils/connector-log/log-deduper.d.ts.map +1 -1
  101. package/dist/utils/connector-log/mm-connector-logger-example.d.ts +0 -1
  102. package/dist/utils/connector-log/mm-connector-logger.d.ts +1 -1
  103. package/dist/utils/connector-log/mm-connector-logger.d.ts.map +1 -1
  104. package/dist/utils/erp-type-from-entity.d.ts +1 -1
  105. package/dist/utils/erp-type-from-entity.d.ts.map +1 -1
  106. package/dist/utils/error-formatter.d.ts +19 -0
  107. package/dist/utils/error-formatter.d.ts.map +1 -0
  108. package/dist/utils/index.d.ts +38 -33
  109. package/dist/utils/index.d.ts.map +1 -1
  110. package/dist/utils/mm-labor-ticket-helpers.d.ts +1 -1
  111. package/dist/utils/mm-labor-ticket-helpers.d.ts.map +1 -1
  112. package/dist/utils/removeExtraneousFields.d.ts +1 -1
  113. package/dist/utils/removeExtraneousFields.d.ts.map +1 -1
  114. package/dist/utils/removeIdFieldFromPayload.d.ts +1 -1
  115. package/dist/utils/removeIdFieldFromPayload.d.ts.map +1 -1
  116. package/dist/utils/resource-group.d.ts +1 -1
  117. package/dist/utils/resource-group.d.ts.map +1 -1
  118. package/dist/utils/standard-process-drivers/error-processor.d.ts +3 -3
  119. package/dist/utils/standard-process-drivers/error-processor.d.ts.map +1 -1
  120. package/dist/utils/standard-process-drivers/index.d.ts +3 -3
  121. package/dist/utils/standard-process-drivers/index.d.ts.map +1 -1
  122. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts +1 -1
  123. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -1
  124. package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts +4 -4
  125. package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts.map +1 -1
  126. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +4 -4
  127. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
  128. package/package.json +10 -6
  129. package/src/index.ts +45 -42
  130. package/src/knexfile.ts +0 -1
  131. package/src/services/caching-service/batch-cache-manager.ts +2 -2
  132. package/src/services/caching-service/hashed-cache-manager.ts +5 -5
  133. package/src/services/caching-service/index.ts +1 -1
  134. package/src/services/caching-service/record-tracking-manager.ts +2 -2
  135. package/src/services/data-sync-service/configuration-manager.ts +2 -2
  136. package/src/services/data-sync-service/data-sync-service.ts +19 -10
  137. package/src/services/data-sync-service/index.ts +3 -3
  138. package/src/services/data-sync-service/jobs/clean-up-expired-cache.ts +3 -3
  139. package/src/services/data-sync-service/jobs/from-erp.ts +5 -10
  140. package/src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts +2 -2
  141. package/src/services/data-sync-service/jobs/run-migrations.ts +2 -2
  142. package/src/services/data-sync-service/jobs/to-erp.ts +7 -3
  143. package/src/services/data-sync-service/nats-labor-ticket-listener.ts +341 -0
  144. package/src/services/erp-api-services/errors.ts +3 -3
  145. package/src/services/erp-api-services/graphql/graphql-service.ts +5 -5
  146. package/src/services/erp-api-services/index.ts +8 -8
  147. package/src/services/erp-api-services/rest/rest-api-service.ts +4 -4
  148. package/src/services/erp-api-services/types.ts +2 -2
  149. package/src/services/mm-api-service/company-info.ts +87 -0
  150. package/src/services/mm-api-service/index.ts +14 -6
  151. package/src/services/mm-api-service/mm-api-service.ts +29 -12
  152. package/src/services/mm-api-service/token-mgr.ts +4 -4
  153. package/src/services/mm-api-service/types/entity-transformer.ts +3 -3
  154. package/src/services/mm-api-service/types/receive-types.ts +1 -0
  155. package/src/services/nats-service/nats-service.ts +351 -0
  156. package/src/services/nats-service/test-nats-subscriber.ts +96 -0
  157. package/src/services/psql-erp-service/index.ts +3 -3
  158. package/src/services/psql-erp-service/psql-service.ts +4 -4
  159. package/src/services/reporting-service/index.ts +1 -1
  160. package/src/services/reporting-service/logger.ts +81 -111
  161. package/src/services/sql-server-erp-service/index.ts +3 -3
  162. package/src/services/sql-server-erp-service/internal/sql-labor-ticket-operations.ts +2 -2
  163. package/src/services/sql-server-erp-service/internal/sql-transaction-manager.ts +1 -1
  164. package/src/services/sql-server-erp-service/sql-server-helpers.ts +6 -6
  165. package/src/services/sql-server-erp-service/sql-server-service.ts +4 -4
  166. package/src/services/sqlite-service/index.ts +1 -1
  167. package/src/services/sqlite-service/sqlite-coordinator.ts +2 -2
  168. package/src/types/erp-connector.ts +1 -1
  169. package/src/types/index.ts +2 -2
  170. package/src/utils/application-initializer.ts +5 -5
  171. package/src/utils/connector-factory.ts +2 -2
  172. package/src/utils/connector-log/log-deduper.ts +2 -2
  173. package/src/utils/connector-log/mm-connector-logger.ts +3 -3
  174. package/src/utils/erp-type-from-entity.ts +1 -1
  175. package/src/utils/error-formatter.ts +205 -0
  176. package/src/utils/http-client.ts +3 -2
  177. package/src/utils/index.ts +39 -33
  178. package/src/utils/local-data-store/database-lock.ts +1 -1
  179. package/src/utils/mm-labor-ticket-helpers.ts +2 -2
  180. package/src/utils/removeExtraneousFields.ts +1 -1
  181. package/src/utils/removeIdFieldFromPayload.ts +1 -1
  182. package/src/utils/resource-group.ts +2 -2
  183. package/src/utils/standard-process-drivers/error-processor.ts +5 -5
  184. package/src/utils/standard-process-drivers/index.ts +3 -3
  185. package/src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts +6 -6
  186. package/src/utils/standard-process-drivers/mm-entity-processor.ts +7 -7
  187. package/src/utils/standard-process-drivers/standard-process-drivers.ts +6 -6
  188. package/src/utils/time-utils.ts +3 -3
  189. package/src/utils/timezone.ts +2 -2
  190. package/dist/index.js +0 -48
  191. package/dist/index.js.map +0 -1
  192. package/dist/knexfile.js +0 -19
  193. package/dist/knexfile.js.map +0 -1
  194. package/dist/migrations/20241015162631_create_cache_table.d.ts +0 -4
  195. package/dist/migrations/20241015162631_create_cache_table.d.ts.map +0 -1
  196. package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts +0 -4
  197. package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts.map +0 -1
  198. package/dist/migrations/20250103162631_create_record_tracking_table.d.ts +0 -4
  199. package/dist/migrations/20250103162631_create_record_tracking_table.d.ts.map +0 -1
  200. package/dist/services/caching-service/batch-cache-manager.js +0 -84
  201. package/dist/services/caching-service/batch-cache-manager.js.map +0 -1
  202. package/dist/services/caching-service/hashed-cache-manager.js +0 -223
  203. package/dist/services/caching-service/hashed-cache-manager.js.map +0 -1
  204. package/dist/services/caching-service/index.js +0 -2
  205. package/dist/services/caching-service/index.js.map +0 -1
  206. package/dist/services/caching-service/record-tracking-manager.js +0 -28
  207. package/dist/services/caching-service/record-tracking-manager.js.map +0 -1
  208. package/dist/services/data-sync-service/configuration-manager.js +0 -163
  209. package/dist/services/data-sync-service/configuration-manager.js.map +0 -1
  210. package/dist/services/data-sync-service/data-sync-service.js +0 -95
  211. package/dist/services/data-sync-service/data-sync-service.js.map +0 -1
  212. package/dist/services/data-sync-service/index.js +0 -10
  213. package/dist/services/data-sync-service/index.js.map +0 -1
  214. package/dist/services/erp-api-services/errors.js +0 -83
  215. package/dist/services/erp-api-services/errors.js.map +0 -1
  216. package/dist/services/erp-api-services/graphql/graphql-service.js +0 -102
  217. package/dist/services/erp-api-services/graphql/graphql-service.js.map +0 -1
  218. package/dist/services/erp-api-services/graphql/types.js +0 -6
  219. package/dist/services/erp-api-services/graphql/types.js.map +0 -1
  220. package/dist/services/erp-api-services/index.js +0 -13
  221. package/dist/services/erp-api-services/index.js.map +0 -1
  222. package/dist/services/erp-api-services/oauth-client.js +0 -41
  223. package/dist/services/erp-api-services/oauth-client.js.map +0 -1
  224. package/dist/services/erp-api-services/rest/get-query-params.js +0 -23
  225. package/dist/services/erp-api-services/rest/get-query-params.js.map +0 -1
  226. package/dist/services/erp-api-services/rest/rest-api-service.js +0 -163
  227. package/dist/services/erp-api-services/rest/rest-api-service.js.map +0 -1
  228. package/dist/services/erp-api-services/types.js +0 -2
  229. package/dist/services/erp-api-services/types.js.map +0 -1
  230. package/dist/services/mm-api-service/index.js +0 -15
  231. package/dist/services/mm-api-service/index.js.map +0 -1
  232. package/dist/services/mm-api-service/mm-api-service.js +0 -519
  233. package/dist/services/mm-api-service/mm-api-service.js.map +0 -1
  234. package/dist/services/mm-api-service/token-mgr.js +0 -113
  235. package/dist/services/mm-api-service/token-mgr.js.map +0 -1
  236. package/dist/services/mm-api-service/types/checkpoint.js +0 -2
  237. package/dist/services/mm-api-service/types/checkpoint.js.map +0 -1
  238. package/dist/services/mm-api-service/types/entity-transformer.js +0 -186
  239. package/dist/services/mm-api-service/types/entity-transformer.js.map +0 -1
  240. package/dist/services/mm-api-service/types/mm-response-interfaces.js +0 -34
  241. package/dist/services/mm-api-service/types/mm-response-interfaces.js.map +0 -1
  242. package/dist/services/mm-api-service/types/receive-types.js +0 -55
  243. package/dist/services/mm-api-service/types/receive-types.js.map +0 -1
  244. package/dist/services/mm-api-service/types/send-types.js +0 -337
  245. package/dist/services/mm-api-service/types/send-types.js.map +0 -1
  246. package/dist/services/psql-erp-service/configuration.js +0 -2
  247. package/dist/services/psql-erp-service/configuration.js.map +0 -1
  248. package/dist/services/psql-erp-service/index.js +0 -10
  249. package/dist/services/psql-erp-service/index.js.map +0 -1
  250. package/dist/services/psql-erp-service/internal/types/psql-types.js +0 -5
  251. package/dist/services/psql-erp-service/internal/types/psql-types.js.map +0 -1
  252. package/dist/services/psql-erp-service/psql-helpers.js +0 -99
  253. package/dist/services/psql-erp-service/psql-helpers.js.map +0 -1
  254. package/dist/services/psql-erp-service/psql-service.js +0 -187
  255. package/dist/services/psql-erp-service/psql-service.js.map +0 -1
  256. package/dist/services/reporting-service/index.js +0 -5
  257. package/dist/services/reporting-service/index.js.map +0 -1
  258. package/dist/services/reporting-service/logger.js +0 -217
  259. package/dist/services/reporting-service/logger.js.map +0 -1
  260. package/dist/services/sql-server-erp-service/configuration.js +0 -2
  261. package/dist/services/sql-server-erp-service/configuration.js.map +0 -1
  262. package/dist/services/sql-server-erp-service/index.js +0 -11
  263. package/dist/services/sql-server-erp-service/index.js.map +0 -1
  264. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js +0 -50
  265. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js.map +0 -1
  266. package/dist/services/sql-server-erp-service/internal/sql-server-config.js +0 -40
  267. package/dist/services/sql-server-erp-service/internal/sql-server-config.js.map +0 -1
  268. package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js +0 -36
  269. package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js.map +0 -1
  270. package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js +0 -2
  271. package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js.map +0 -1
  272. package/dist/services/sql-server-erp-service/sql-server-helpers.js +0 -66
  273. package/dist/services/sql-server-erp-service/sql-server-helpers.js.map +0 -1
  274. package/dist/services/sql-server-erp-service/sql-server-service.js +0 -154
  275. package/dist/services/sql-server-erp-service/sql-server-service.js.map +0 -1
  276. package/dist/services/sql-server-erp-service/types/sql-input-param.js +0 -2
  277. package/dist/services/sql-server-erp-service/types/sql-input-param.js.map +0 -1
  278. package/dist/services/sqlite-service/index.js +0 -2
  279. package/dist/services/sqlite-service/index.js.map +0 -1
  280. package/dist/services/sqlite-service/sqlite-coordinator.js +0 -60
  281. package/dist/services/sqlite-service/sqlite-coordinator.js.map +0 -1
  282. package/dist/types/erp-connector.js +0 -2
  283. package/dist/types/erp-connector.js.map +0 -1
  284. package/dist/types/erp-types.js +0 -13
  285. package/dist/types/erp-types.js.map +0 -1
  286. package/dist/types/index.js +0 -6
  287. package/dist/types/index.js.map +0 -1
  288. package/dist/utils/application-initializer.js +0 -55
  289. package/dist/utils/application-initializer.js.map +0 -1
  290. package/dist/utils/cleanup-numbers.js +0 -6
  291. package/dist/utils/cleanup-numbers.js.map +0 -1
  292. package/dist/utils/connector-factory.js +0 -34
  293. package/dist/utils/connector-factory.js.map +0 -1
  294. package/dist/utils/connector-log/log-deduper.js +0 -240
  295. package/dist/utils/connector-log/log-deduper.js.map +0 -1
  296. package/dist/utils/connector-log/mm-connector-logger-example.js +0 -88
  297. package/dist/utils/connector-log/mm-connector-logger-example.js.map +0 -1
  298. package/dist/utils/connector-log/mm-connector-logger.js +0 -151
  299. package/dist/utils/connector-log/mm-connector-logger.js.map +0 -1
  300. package/dist/utils/data-transformation.js +0 -38
  301. package/dist/utils/data-transformation.js.map +0 -1
  302. package/dist/utils/erp-type-from-entity.js +0 -6
  303. package/dist/utils/erp-type-from-entity.js.map +0 -1
  304. package/dist/utils/error-utils.js +0 -21
  305. package/dist/utils/error-utils.js.map +0 -1
  306. package/dist/utils/http-client.js +0 -186
  307. package/dist/utils/http-client.js.map +0 -1
  308. package/dist/utils/index.js +0 -65
  309. package/dist/utils/index.js.map +0 -1
  310. package/dist/utils/local-data-store/database-lock.js +0 -68
  311. package/dist/utils/local-data-store/database-lock.js.map +0 -1
  312. package/dist/utils/local-data-store/jobs-shared-data.js +0 -116
  313. package/dist/utils/local-data-store/jobs-shared-data.js.map +0 -1
  314. package/dist/utils/mm-labor-ticket-helpers.js +0 -23
  315. package/dist/utils/mm-labor-ticket-helpers.js.map +0 -1
  316. package/dist/utils/removeExtraneousFields.js +0 -16
  317. package/dist/utils/removeExtraneousFields.js.map +0 -1
  318. package/dist/utils/removeIdFieldFromPayload.js +0 -16
  319. package/dist/utils/removeIdFieldFromPayload.js.map +0 -1
  320. package/dist/utils/resource-group.js +0 -59
  321. package/dist/utils/resource-group.js.map +0 -1
  322. package/dist/utils/standard-process-drivers/error-processor.js +0 -262
  323. package/dist/utils/standard-process-drivers/error-processor.js.map +0 -1
  324. package/dist/utils/standard-process-drivers/index.js +0 -4
  325. package/dist/utils/standard-process-drivers/index.js.map +0 -1
  326. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js +0 -164
  327. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js.map +0 -1
  328. package/dist/utils/standard-process-drivers/mm-entity-processor.js +0 -168
  329. package/dist/utils/standard-process-drivers/mm-entity-processor.js.map +0 -1
  330. package/dist/utils/standard-process-drivers/standard-process-drivers.js +0 -324
  331. package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +0 -1
  332. package/dist/utils/time-utils.js +0 -96
  333. package/dist/utils/time-utils.js.map +0 -1
  334. package/dist/utils/timezone.js +0 -105
  335. package/dist/utils/timezone.js.map +0 -1
  336. package/dist/utils/trimObjectValues.js +0 -11
  337. package/dist/utils/trimObjectValues.js.map +0 -1
  338. package/dist/utils/uniqueRows.js +0 -35
  339. package/dist/utils/uniqueRows.js.map +0 -1
@@ -1,186 +0,0 @@
1
- import axios, { AxiosError } from "axios";
2
- import logger from "../services/reporting-service/logger.js";
3
- export class HTTPError extends Error {
4
- status;
5
- code;
6
- data;
7
- constructor(message, status, code, data) {
8
- super(message);
9
- this.status = status;
10
- this.code = code;
11
- this.data = data;
12
- this.name = "HTTPError";
13
- }
14
- }
15
- /**
16
- * This is a factory class for creating HTTPClient instances, at least for now
17
- * just a wrapper around AxiosClient
18
- */
19
- export class HTTPClientFactory {
20
- static getInstance(config) {
21
- return new AxiosClient(config.baseUrl, config.retryAttempts);
22
- }
23
- }
24
- class AxiosClient {
25
- client = null;
26
- retryAttempts;
27
- isDestroyed = false;
28
- inFlightControllers = new Set();
29
- pendingTimeouts = new Set();
30
- pendingSleepResolvers = new Set();
31
- /**
32
- * Note regarding baseURL, from https://github.com/axios/axios
33
- * `baseURL` will be prepended to `url` unless `url` is absolute and option `allowAbsoluteUrls` is set to true (the default).
34
- * It can be convenient to set `baseURL` for an instance of axios to pass relative URLs to methods of that instance.
35
- */
36
- constructor(baseUrl, retryAttempts) {
37
- this.client = axios.create({
38
- baseURL: baseUrl,
39
- timeout: 30000,
40
- headers: {
41
- "Content-Type": "application/json",
42
- },
43
- });
44
- this.retryAttempts = retryAttempts;
45
- }
46
- sleep(ms) {
47
- return new Promise((resolve) => {
48
- if (this.isDestroyed) {
49
- resolve();
50
- return;
51
- }
52
- const timeout = setTimeout(() => {
53
- this.pendingTimeouts.delete(timeout);
54
- this.pendingSleepResolvers.delete(resolve);
55
- resolve();
56
- }, ms);
57
- this.pendingTimeouts.add(timeout);
58
- this.pendingSleepResolvers.add(resolve);
59
- });
60
- }
61
- async request(config) {
62
- if (this.isDestroyed || !this.client) {
63
- throw new HTTPError("HTTP client has been destroyed", 500);
64
- }
65
- const controller = new AbortController();
66
- this.inFlightControllers.add(controller);
67
- const axiosConfig = {
68
- method: config.method,
69
- url: config.url,
70
- headers: config.headers,
71
- data: config.data,
72
- params: config.params,
73
- signal: controller.signal,
74
- };
75
- logger.info("HTTP request starting", {
76
- url: config.url,
77
- method: config.method,
78
- baseURL: this.client.defaults.baseURL,
79
- retryAttempts: this.retryAttempts
80
- });
81
- // Extra console.log for debugging
82
- console.log("=== FULL URL DEBUG ===");
83
- console.log("baseURL:", this.client.defaults.baseURL);
84
- console.log("relative url:", config.url);
85
- console.log("full constructed URL:", (this.client.defaults.baseURL || "") + config.url);
86
- console.log("method:", config.method);
87
- let lastError;
88
- try {
89
- for (let attempt = 0; attempt <= this.retryAttempts; attempt++) {
90
- try {
91
- logger.info(`HTTP request attempt ${attempt + 1}/${this.retryAttempts + 1}`);
92
- const response = await this.client.request(axiosConfig);
93
- logger.info("HTTP request succeeded", { status: response.status });
94
- return {
95
- data: response.data,
96
- status: response.status,
97
- headers: response.headers,
98
- };
99
- }
100
- catch (error) {
101
- lastError = error;
102
- const isAxiosErr = error instanceof AxiosError;
103
- const code = isAxiosErr ? error.code : undefined;
104
- const status = isAxiosErr ? error.response?.status : undefined;
105
- const errorConstructor = error instanceof Error ? error.constructor.name : undefined;
106
- const message = error instanceof Error ? error.message : String(error);
107
- logger.info(`HTTP request attempt ${attempt + 1} failed`, {
108
- errorType: typeof error,
109
- errorConstructor,
110
- isAxiosError: isAxiosErr,
111
- message,
112
- code,
113
- status,
114
- });
115
- // Don't retry on 4xx errors (client errors)
116
- if (error instanceof AxiosError &&
117
- error.response?.status &&
118
- error.response.status >= 400 &&
119
- error.response.status < 500) {
120
- logger.info("Not retrying due to 4xx client error");
121
- break;
122
- }
123
- // Don't retry canceled/aborted requests
124
- if (error instanceof AxiosError && error.code === "ERR_CANCELED") {
125
- break;
126
- }
127
- // If this was the last attempt, don't wait
128
- if (attempt < this.retryAttempts) {
129
- const waitTime = Math.pow(2, attempt) * 1000;
130
- logger.info(`Waiting ${waitTime}ms before retry`);
131
- await this.sleep(waitTime);
132
- if (this.isDestroyed) {
133
- throw new HTTPError("HTTP client has been destroyed", 500);
134
- }
135
- }
136
- }
137
- }
138
- }
139
- finally {
140
- this.inFlightControllers.delete(controller);
141
- }
142
- logger.info("HTTP request failed after all retries, throwing error");
143
- throw this.handleError(lastError, config);
144
- }
145
- handleError(error, requestConfig) {
146
- if (error instanceof AxiosError) {
147
- // Build a more descriptive error message that includes the URL and method
148
- const baseUrl = this.client?.defaults.baseURL || "";
149
- const fullUrl = requestConfig
150
- ? `${baseUrl}${requestConfig.url}`
151
- : "Unknown URL";
152
- const method = requestConfig?.method || "Unknown method";
153
- const errorMessage = `${error.message} (${method} ${fullUrl})`;
154
- return new HTTPError(errorMessage, error.response?.status || 500, error.code, error.response?.data);
155
- }
156
- return new HTTPError(error instanceof Error ? error.message : "Unknown error occurred", 500);
157
- }
158
- async destroy() {
159
- if (this.isDestroyed)
160
- return;
161
- this.isDestroyed = true;
162
- // Abort any in-flight requests
163
- for (const c of this.inFlightControllers) {
164
- try {
165
- c.abort();
166
- }
167
- catch { /* ignore: abort may throw in some environments */ }
168
- }
169
- this.inFlightControllers.clear();
170
- // Cancel any pending retry waits
171
- for (const t of this.pendingTimeouts) {
172
- clearTimeout(t);
173
- }
174
- this.pendingTimeouts.clear();
175
- for (const resolve of this.pendingSleepResolvers) {
176
- try {
177
- resolve();
178
- }
179
- catch { /* ignore: resolver threw; cleanup proceeds */ }
180
- }
181
- this.pendingSleepResolvers.clear();
182
- // Drop axios instance reference
183
- this.client = null;
184
- }
185
- }
186
- //# sourceMappingURL=http-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- /**
2
- * Utility functions for data manipulation
3
- */
4
- export { getUniqueRows } from "./uniqueRows.js";
5
- export { removeExtraneousFields } from "./removeExtraneousFields.js";
6
- export { getPayloadWithoutIDField } from "./removeIdFieldFromPayload.js";
7
- export { trimObjectValues } from "./trimObjectValues.js";
8
- export { cleanupNumbers } from "./cleanup-numbers.js";
9
- export { addNewFieldFromExternalSource, addNewFieldFromLookupField, } from "./data-transformation.js";
10
- /**
11
- * Timezone and time-related utilities
12
- */
13
- export { getTimezoneOffsetAndPersist } from "./time-utils.js";
14
- export { formatDateWithTZOffset, convertToLocalTime, toISOWithOffset } from "./timezone.js";
15
- export { applyTimezoneOffsetsToFields } from "./time-utils.js";
16
- export * from "./time-utils.js";
17
- /**
18
- * Caching and record tracking utilities
19
- */
20
- export { RecordTrackingManager } from "../services/caching-service/record-tracking-manager.js";
21
- export { HashedCacheManager } from "../services/caching-service/hashed-cache-manager.js";
22
- export { BatchCacheManager } from "../services/caching-service/batch-cache-manager.js";
23
- /**
24
- * Process and data transformation utilities
25
- */
26
- export { StandardProcessDrivers } from "./standard-process-drivers/index.js";
27
- export { MMBatchValidationError } from "./standard-process-drivers/index.js";
28
- export { getCachedTimezoneOffset, getCachedTimezoneName, } from "./local-data-store/jobs-shared-data.js";
29
- // Local data store
30
- export { getInitialLoadComplete, setInitialLoadComplete, } from "./local-data-store/jobs-shared-data.js";
31
- /**
32
- * ERP API utilities
33
- */
34
- export * from "../services/erp-api-services/rest/rest-api-service.js";
35
- export * from "../services/erp-api-services/rest/get-query-params.js";
36
- export { getERPAPITypeFromEntity } from "./erp-type-from-entity.js";
37
- /**
38
- * HTTP Client utilities
39
- */
40
- export { HTTPClientFactory } from "./http-client.js";
41
- export { HTTPError } from "./http-client.js";
42
- /**
43
- * MM Labor Ticket utilities
44
- */
45
- export * from "./mm-labor-ticket-helpers.js";
46
- export { getErrorType } from './error-utils.js';
47
- /**
48
- * MM Connector Logger utilities
49
- */
50
- export { MMConnectorLogger, LogEntry } from './connector-log/mm-connector-logger.js';
51
- export { FileLogDeduper } from './connector-log/log-deduper.js';
52
- /**
53
- * Application initializer
54
- */
55
- export * from "./application-initializer.js";
56
- /**
57
- * GraphQL utilities
58
- */
59
- export { GraphQLService } from "../services/erp-api-services/graphql/graphql-service.js";
60
- export { OAuthClient } from "../services/erp-api-services/oauth-client.js";
61
- /**
62
- * Connector factory utilities
63
- */
64
- export { createConnectorFromPath } from "./connector-factory.js";
65
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,cAAc,iBAAiB,CAAC;AAEhC;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAE/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAEvF;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wCAAwC,CAAC;AAEhD,mBAAmB;AACnB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD;;GAEG;AACH,cAAc,uDAAuD,CAAC;AACtE,cAAc,uDAAuD,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAyC,MAAM,wCAAwC,CAAC;AAC5H,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAE7C;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAE3E;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,68 +0,0 @@
1
- import { readDatabaseLockState, writeDatabaseLockState, } from "./jobs-shared-data.js";
2
- /**
3
- * Gets the current database lock state
4
- * @returns The current database lock state
5
- */
6
- export const getDatabaseLock = () => {
7
- const data = readDatabaseLockState();
8
- return (data.databaseLock ?? {
9
- isLocked: false,
10
- lockedBy: "",
11
- lockedAt: null,
12
- });
13
- };
14
- /**
15
- * Attempts to acquire the database lock
16
- * @param processName Name of the process requesting the lock
17
- * @returns true if lock was acquired, false if database is already locked
18
- */
19
- export const acquireDatabaseLock = (processName) => {
20
- const data = readDatabaseLockState();
21
- const currentLock = data.databaseLock ?? {
22
- isLocked: false,
23
- lockedBy: "",
24
- lockedAt: null,
25
- };
26
- if (currentLock.isLocked) {
27
- return false;
28
- }
29
- data.databaseLock = {
30
- isLocked: true,
31
- lockedBy: processName,
32
- lockedAt: new Date().toISOString(),
33
- };
34
- writeDatabaseLockState(data);
35
- return true;
36
- };
37
- /**
38
- * Releases the database lock
39
- * @param processName Name of the process releasing the lock
40
- * @returns true if lock was released, false if process doesn't own the lock
41
- */
42
- export const releaseDatabaseLock = (processName) => {
43
- const data = readDatabaseLockState();
44
- const currentLock = data.databaseLock ?? {
45
- isLocked: false,
46
- lockedBy: "",
47
- lockedAt: null,
48
- };
49
- if (!currentLock.isLocked || currentLock.lockedBy !== processName) {
50
- return false;
51
- }
52
- data.databaseLock = {
53
- isLocked: false,
54
- lockedBy: "",
55
- lockedAt: null,
56
- };
57
- writeDatabaseLockState(data);
58
- return true;
59
- };
60
- /**
61
- * Checks if the database is available for use
62
- * @returns true if database is available, false if locked
63
- */
64
- export const isDatabaseAvailable = () => {
65
- const lock = getDatabaseLock();
66
- return !lock.isLocked;
67
- };
68
- //# sourceMappingURL=database-lock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database-lock.js","sourceRoot":"","sources":["../../../src/utils/local-data-store/database-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAQ/B;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAiB,EAAE;IAChD,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;IACrC,OAAO,CACJ,IAAI,CAAC,YAA6B,IAAI;QACrC,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAW,EAAE;IAClE,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAI,IAAI,CAAC,YAA6B,IAAI;QACzD,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,YAAY,GAAG;QAClB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACnC,CAAC;IACF,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAW,EAAE;IAClE,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAI,IAAI,CAAC,YAA6B,IAAI;QACzD,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,YAAY,GAAG;QAClB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAY,EAAE;IAC/C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;AACxB,CAAC,CAAC"}
@@ -1,116 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
- import { mkdirSync } from "fs";
4
- /**
5
- * This file contains the logic for storing and retrieving data from the job state file.
6
- * It is used to store data that is shared between jobs, and (more importantly) across job instances.
7
- */
8
- const STORAGE_FILE = path.join("/tmp", "job-state.json");
9
- // Ensure parent directory exists
10
- const parentDir = path.dirname(STORAGE_FILE);
11
- try {
12
- mkdirSync(parentDir, { recursive: true });
13
- }
14
- catch (error) {
15
- if (error.code !== "EEXIST") {
16
- throw error;
17
- }
18
- }
19
- //#region Non-exported functions
20
- const ensureStorageFile = () => {
21
- if (!fs.existsSync(STORAGE_FILE)) {
22
- fs.writeFileSync(STORAGE_FILE, JSON.stringify({}), "utf-8");
23
- }
24
- };
25
- const readStorage = () => {
26
- ensureStorageFile();
27
- try {
28
- return JSON.parse(fs.readFileSync(STORAGE_FILE, "utf-8"));
29
- }
30
- catch (error) {
31
- console.error(`Failed to read storage from ${STORAGE_FILE}:`, error);
32
- return {};
33
- }
34
- };
35
- const writeStorage = (data) => {
36
- ensureStorageFile();
37
- fs.writeFileSync(STORAGE_FILE, JSON.stringify(data, null, 2), "utf-8");
38
- };
39
- //#endregion
40
- //#region Database lock storage functions
41
- /**
42
- * Reads the database lock state from the shared storage file
43
- * @returns The data stored in the file
44
- */
45
- export const readDatabaseLockState = () => {
46
- return readStorage();
47
- };
48
- /**
49
- * Writes the database lock state to the shared storage file
50
- * @param data The lock state data to write
51
- */
52
- export const writeDatabaseLockState = (data) => {
53
- writeStorage(data);
54
- };
55
- //#endregion
56
- export const getInitialLoadComplete = () => {
57
- const data = readStorage();
58
- return data.initialLoadComplete ?? false;
59
- };
60
- export const setInitialLoadComplete = (complete) => {
61
- const data = readStorage();
62
- data.initialLoadComplete = complete;
63
- writeStorage(data);
64
- };
65
- /**
66
- * Gets the company's cached current timezone offset (e.g., -5)
67
- * @returns The cached timezone offset or 0 if not found
68
- */
69
- export const getCachedTimezoneOffset = () => {
70
- const data = readStorage();
71
- return data.timezoneOffset ?? 0;
72
- };
73
- /**
74
- * Sets the company's current timezone offset in the cache
75
- * @param offset The timezone offset in hours
76
- */
77
- export const setTimezoneOffsetInCache = (offset) => {
78
- const data = readStorage();
79
- data.timezoneOffset = offset;
80
- writeStorage(data);
81
- };
82
- /**
83
- * Gets the cached timezone name (e.g., "America/New_York")
84
- * @returns The cached timezone name or null if not found
85
- */
86
- export const getCachedTimezoneName = () => {
87
- const data = readStorage();
88
- return data.timezoneName ?? null;
89
- };
90
- /**
91
- * Sets the timezone name in the cache
92
- * @param timezone The timezone name (e.g., "America/New_York")
93
- */
94
- export const setTimezoneNameInCache = (timezone) => {
95
- const data = readStorage();
96
- data.timezoneName = timezone;
97
- writeStorage(data);
98
- };
99
- /**
100
- * Gets the cached MM API token and its expiration
101
- * @returns The cached token and expiration or null if not found
102
- */
103
- export const getCachedMMToken = () => {
104
- const data = readStorage();
105
- return data.mmApiToken ?? null;
106
- };
107
- /**
108
- * Sets the MM API token and its expiration in the cache
109
- * @param tokenData The token and expiration to cache
110
- */
111
- export const setCachedMMToken = (tokenData) => {
112
- const data = readStorage();
113
- data.mmApiToken = tokenData;
114
- writeStorage(data);
115
- };
116
- //# sourceMappingURL=jobs-shared-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jobs-shared-data.js","sourceRoot":"","sources":["../../../src/utils/local-data-store/jobs-shared-data.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { convertToLocalTime, toISOWithOffset } from "./timezone.js";
2
- /**
3
- * Apply timezone offsets to datetime fields specifically for the MMApiReceiveLaborTicket object from the Zulu-based MM API
4
- * (presumably) before sending to the ERP
5
- * @param laborTicket The MMApiReceiveLaborTicket object to convert
6
- * @param timezoneOffset The timezone offset to apply
7
- */
8
- export function convertLaborTicketToLocalTimezone(laborTicket, timezoneOffset) {
9
- const timeFields = [
10
- "clockIn",
11
- "clockOut",
12
- "transactionDate",
13
- "createdAt",
14
- "updatedAt",
15
- "workOrderOperationClosedDate",
16
- ];
17
- timeFields.forEach((field) => {
18
- const localTime = convertToLocalTime(laborTicket[field], timezoneOffset);
19
- laborTicket[field] = localTime ? toISOWithOffset(localTime, timezoneOffset) : null;
20
- });
21
- return laborTicket;
22
- }
23
- //# sourceMappingURL=mm-labor-ticket-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mm-labor-ticket-helpers.js","sourceRoot":"","sources":["../../src/utils/mm-labor-ticket-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGpE;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC,CAC/C,WAAiC,EACjC,cAAsB;IAEtB,MAAM,UAAU,GAAG;QACjB,SAAS;QACT,UAAU;QACV,iBAAiB;QACjB,WAAW;QACX,WAAW;QACX,8BAA8B;KACtB,CAAC;IAEX,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC;QACzE,WAAW,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Retain only the fields listed in retainFields[] in the payload
3
- */
4
- export const removeExtraneousFields = (recordset, retainFields) => {
5
- const data = recordset.map((row) => {
6
- const transformedRow = {};
7
- Object.keys(row).forEach((key) => {
8
- if (retainFields.includes(key)) {
9
- transformedRow[key] = row[key]?.toString() || "";
10
- }
11
- });
12
- return transformedRow;
13
- }) || [];
14
- return data;
15
- };
16
- //# sourceMappingURL=removeExtraneousFields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeExtraneousFields.js","sourceRoot":"","sources":["../../src/utils/removeExtraneousFields.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,SAAsB,EACtB,YAAsB,EACT,EAAE;IACf,MAAM,IAAI,GACR,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACpB,MAAM,cAAc,GAAc,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,cAAc,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC,IAAI,EAAE,CAAC;IAEX,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Remove all fields listed in idField[] the from the payload
3
- */
4
- export const getPayloadWithoutIDField = (recordset, idField) => {
5
- const data = recordset.map((row) => {
6
- const transformedRow = {};
7
- Object.keys(row).forEach((key) => {
8
- if (!idField.includes(key)) {
9
- transformedRow[key] = row[key]?.toString() || "";
10
- }
11
- });
12
- return transformedRow;
13
- }) || [];
14
- return data;
15
- };
16
- //# sourceMappingURL=removeIdFieldFromPayload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeIdFieldFromPayload.js","sourceRoot":"","sources":["../../src/utils/removeIdFieldFromPayload.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,SAAsB,EACtB,OAAiB,EACJ,EAAE;IACf,MAAM,IAAI,GACR,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACpB,MAAM,cAAc,GAAc,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,cAAc,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC,IAAI,EAAE,CAAC;IAEX,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1,59 +0,0 @@
1
- import logger from "../services/reporting-service/logger.js";
2
- // The GraphQLResourceTypes interface has been replaced by the centralized
3
- // MM response interfaces: MMGraphQLResourceResponse and MMMachineGroupsResponse
4
- /**
5
- * Get the machine group ID as known to the ERP for a given resource ID. This is useful when needing to update
6
- * records in the ERP for the ERP's resource ID when it represents a group of machines.
7
- *
8
- * @param client The MMApiClient instance to use for API calls
9
- * @param resourceId The resource ID to get the machine group ID for
10
- * @returns The machine group ID, or undefined if the resource ID is not found or it is not in a group or a match is not otherwise found
11
- */
12
- export async function getResourceERPGroupId(client, resourceId) {
13
- try {
14
- // Get the ERP resources to map resource IDs to machine refs
15
- const erpResources = (await client.fetchResourcesFromGraphQL());
16
- if (!erpResources?.data?.machineResource) {
17
- logger.error("Failed to fetch ERP resources");
18
- return undefined;
19
- }
20
- const matchingResource = erpResources.data.machineResource.find((resource) => resource.resourceId === resourceId);
21
- if (!matchingResource) {
22
- logger.error(`No ERP resource found for resource ID: ${resourceId}`);
23
- return undefined;
24
- }
25
- // Get the machine groups to map machine refs to group IDs
26
- const machineGroupsResponse = (await client.fetchMachineGroups());
27
- const machineGroups = machineGroupsResponse.data;
28
- if (!machineGroups) {
29
- logger.error("Failed to fetch machine groups");
30
- return undefined;
31
- }
32
- const matchingGroups = machineGroups.filter((group) => group.machines?.some((machine) => machine.machineRef === matchingResource.machineRef));
33
- // The application should not allow multiple groups to contain the same machine ref
34
- if (matchingGroups.length === 0) {
35
- logger.error(`No machine group found for resource ID: ${resourceId}`);
36
- return undefined;
37
- }
38
- else if (matchingGroups.length > 1) {
39
- logger.warn(`Multiple groups found containing machine with resource ID: ${resourceId}. Using first match.`);
40
- }
41
- const machineGroupId = matchingGroups[0].id;
42
- // Find the group's resource ID
43
- const groupResource = erpResources.data.machineResource.find((resource) => resource.machineGroupId === machineGroupId);
44
- if (!groupResource) {
45
- logger.info(`No ERP resource found for machine group ID: ${machineGroupId}`);
46
- return undefined;
47
- }
48
- if (groupResource.resourceId === null ||
49
- groupResource.resourceId.trim() === "") {
50
- return undefined;
51
- }
52
- return groupResource.resourceId;
53
- }
54
- catch (error) {
55
- logger.error("Error getting resource group ID", { error, resourceId });
56
- throw error;
57
- }
58
- }
59
- //# sourceMappingURL=resource-group.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resource-group.js","sourceRoot":"","sources":["../../src/utils/resource-group.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAO7D,0EAA0E;AAC1E,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAmB,EACnB,UAAkB;IAElB,IAAI,CAAC;QACH,4DAA4D;QAC5D,MAAM,YAAY,GAChB,CAAC,MAAM,MAAM,CAAC,yBAAyB,EAAE,CAA8B,CAAC;QAC1E,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC9C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAC7D,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU,CACjD,CAAC;QAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,0DAA0D;QAC1D,MAAM,qBAAqB,GACzB,CAAC,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAA4B,CAAC;QACjE,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACpD,KAAK,CAAC,QAAQ,EAAE,IAAI,CAClB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,gBAAgB,CAAC,UAAU,CAChE,CACF,CAAC;QAEF,mFAAmF;QACnF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,2CAA2C,UAAU,EAAE,CAAC,CAAC;YACtE,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CACT,8DAA8D,UAAU,sBAAsB,CAC/F,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5C,+BAA+B;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAC1D,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,KAAK,cAAc,CACzD,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CACT,+CAA+C,cAAc,EAAE,CAChE,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IACE,aAAa,CAAC,UAAU,KAAK,IAAI;YACjC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EACtC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}