@machinemetrics/mm-erp-sdk 0.1.1-beta.6 → 0.1.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 (51) hide show
  1. package/dist/{hashed-cache-manager-DkDox9wX.js → hashed-cache-manager-Ci59eC75.js} +2 -7
  2. package/dist/hashed-cache-manager-Ci59eC75.js.map +1 -0
  3. package/dist/{index-Cn9ccxOO.js → index-CXbOvFyf.js} +3 -1
  4. package/dist/{index-Cn9ccxOO.js.map → index-CXbOvFyf.js.map} +1 -1
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/mm-erp-sdk.js +137 -52
  8. package/dist/mm-erp-sdk.js.map +1 -1
  9. package/dist/services/data-sync-service/configuration-manager.d.ts +0 -1
  10. package/dist/services/data-sync-service/configuration-manager.d.ts.map +1 -1
  11. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js +6 -3
  12. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js.map +1 -1
  13. package/dist/services/data-sync-service/jobs/from-erp.d.ts.map +1 -1
  14. package/dist/services/data-sync-service/jobs/from-erp.js +6 -4
  15. package/dist/services/data-sync-service/jobs/from-erp.js.map +1 -1
  16. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js +3 -1
  17. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js.map +1 -1
  18. package/dist/services/data-sync-service/jobs/run-migrations.js +7 -1
  19. package/dist/services/data-sync-service/jobs/run-migrations.js.map +1 -1
  20. package/dist/services/erp-api-services/graphql/graphql-service.d.ts +5 -0
  21. package/dist/services/erp-api-services/graphql/graphql-service.d.ts.map +1 -1
  22. package/dist/services/erp-api-services/rest/rest-api-service.d.ts +5 -0
  23. package/dist/services/erp-api-services/rest/rest-api-service.d.ts.map +1 -1
  24. package/dist/services/mm-api-service/mm-api-service.d.ts +5 -0
  25. package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
  26. package/dist/services/mm-api-service/types/mm-response-interfaces.d.ts +24 -8
  27. package/dist/services/mm-api-service/types/mm-response-interfaces.d.ts.map +1 -1
  28. package/dist/utils/http-client.d.ts +2 -1
  29. package/dist/utils/http-client.d.ts.map +1 -1
  30. package/dist/utils/index.d.ts +1 -0
  31. package/dist/utils/index.d.ts.map +1 -1
  32. package/dist/utils/standard-process-drivers/error-processor.d.ts +5 -5
  33. package/dist/utils/standard-process-drivers/error-processor.d.ts.map +1 -1
  34. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +10 -9
  35. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
  36. package/package.json +2 -2
  37. package/src/index.ts +6 -2
  38. package/src/services/data-sync-service/configuration-manager.ts +0 -9
  39. package/src/services/data-sync-service/jobs/clean-up-expired-cache.ts +4 -1
  40. package/src/services/data-sync-service/jobs/from-erp.ts +5 -3
  41. package/src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts +3 -1
  42. package/src/services/data-sync-service/jobs/run-migrations.ts +7 -1
  43. package/src/services/erp-api-services/graphql/graphql-service.ts +8 -0
  44. package/src/services/erp-api-services/rest/rest-api-service.ts +8 -0
  45. package/src/services/mm-api-service/mm-api-service.ts +11 -2
  46. package/src/services/mm-api-service/types/mm-response-interfaces.ts +30 -14
  47. package/src/utils/http-client.ts +111 -41
  48. package/src/utils/index.ts +6 -0
  49. package/src/utils/standard-process-drivers/error-processor.ts +11 -11
  50. package/src/utils/standard-process-drivers/standard-process-drivers.ts +10 -9
  51. package/dist/hashed-cache-manager-DkDox9wX.js.map +0 -1
@@ -10,7 +10,6 @@ export declare class CoreConfiguration {
10
10
  readonly mmApiAuthToken: string;
11
11
  readonly mmApiRetryAttempts: number;
12
12
  readonly cacheTTL: number;
13
- readonly erpApiRetryAttemptsDef: number;
14
13
  readonly erpApiPagingLimit: number;
15
14
  readonly fromErpInterval: string;
16
15
  readonly toErpInterval: string;
@@ -1 +1 @@
1
- {"version":3,"file":"configuration-manager.d.ts","sourceRoot":"","sources":["../../../src/services/data-sync-service/configuration-manager.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAG3C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAGhC,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAC3C,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAG3C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAGjC,SAAgB,sBAAsB,EAAE,MAAM,CAAC;IAC/C,SAAgB,iBAAiB,EAAE,MAAM,CAAC;IAG1C,SAAgB,eAAe,EAAE,MAAM,CAAC;IACxC,SAAgB,aAAa,EAAE,MAAM,CAAC;IACtC,SAAgB,yBAAyB,EAAE,MAAM,CAAC;IAClD,SAAgB,4BAA4B,EAAE,MAAM,CAAC;IAErD,OAAO;WAkEO,IAAI,IAAI,iBAAiB;CAMxC;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAO,sBAiB5C,CAAC;AAEF;;;GAGG;AACH,qBAAa,sBAAsB;aAEf,SAAS,EAAE,MAAM;aACjB,cAAc,EAAE,MAAM;aACtB,kBAAkB,EAAE,MAAM;aAC1B,oBAAoB,EAAE,MAAM;aAC5B,cAAc,EAAE,MAAM;aACtB,aAAa,EAAE,MAAM;gBALrB,SAAS,EAAE,MAAM,EAAE,kBAAkB;IACrC,cAAc,EAAE,MAAM,EAAE,qCAAqC;IAC7D,kBAAkB,EAAE,MAAM,EAAE,yCAAyC;IACrE,oBAAoB,EAAE,MAAM,EAAE,2BAA2B;IACzD,cAAc,EAAE,MAAM,EAAE,gBAAgB;IACxC,aAAa,GAAE,MAAU;CAE5C;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAO,sBAS5C,CAAC"}
1
+ {"version":3,"file":"configuration-manager.d.ts","sourceRoot":"","sources":["../../../src/services/data-sync-service/configuration-manager.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAG3C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAGhC,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAC3C,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAG3C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAGjC,SAAgB,iBAAiB,EAAE,MAAM,CAAC;IAG1C,SAAgB,eAAe,EAAE,MAAM,CAAC;IACxC,SAAgB,aAAa,EAAE,MAAM,CAAC;IACtC,SAAgB,yBAAyB,EAAE,MAAM,CAAC;IAClD,SAAgB,4BAA4B,EAAE,MAAM,CAAC;IAErD,OAAO;WA0DO,IAAI,IAAI,iBAAiB;CAMxC;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAO,sBAiB5C,CAAC;AAEF;;;GAGG;AACH,qBAAa,sBAAsB;aAEf,SAAS,EAAE,MAAM;aACjB,cAAc,EAAE,MAAM;aACtB,kBAAkB,EAAE,MAAM;aAC1B,oBAAoB,EAAE,MAAM;aAC5B,cAAc,EAAE,MAAM;aACtB,aAAa,EAAE,MAAM;gBALrB,SAAS,EAAE,MAAM,EAAE,kBAAkB;IACrC,cAAc,EAAE,MAAM,EAAE,qCAAqC;IAC7D,kBAAkB,EAAE,MAAM,EAAE,yCAAyC;IACrE,oBAAoB,EAAE,MAAM,EAAE,2BAA2B;IACzD,cAAc,EAAE,MAAM,EAAE,gBAAgB;IACxC,aAAa,GAAE,MAAU;CAE5C;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAO,sBAS5C,CAAC"}
@@ -3,8 +3,8 @@ var __commonJS = (cb, mod) => function __require() {
3
3
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
4
4
  };
5
5
  import "../../../config-2l5vnNkA.js";
6
- import { H as HashedCacheManager } from "../../../hashed-cache-manager-DkDox9wX.js";
7
- import { S as SQLiteCoordinator } from "../../../index-Cn9ccxOO.js";
6
+ import { H as HashedCacheManager } from "../../../hashed-cache-manager-Ci59eC75.js";
7
+ import { S as SQLiteCoordinator } from "../../../index-CXbOvFyf.js";
8
8
  import { l as logger } from "../../../logger-QG73MndU.js";
9
9
  var require_clean_up_expired_cache = __commonJS({
10
10
  "services/data-sync-service/jobs/clean-up-expired-cache.js"(exports, module) {
@@ -28,10 +28,13 @@ var require_clean_up_expired_cache = __commonJS({
28
28
  throw error;
29
29
  } finally {
30
30
  await cacheManager.destroy();
31
+ logger.info(`==========Completed clean-up-expired-cache job==========`);
31
32
  }
32
33
  };
33
34
  if (require.main === module) {
34
- main();
35
+ (async () => {
36
+ await main();
37
+ })();
35
38
  } else {
36
39
  module.exports = main;
37
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"clean-up-expired-cache.js","sources":["../../../../src/services/data-sync-service/jobs/clean-up-expired-cache.ts"],"sourcesContent":["import \"dotenv/config\";\nimport { HashedCacheManager } from \"../../caching-service/hashed-cache-manager\";\nimport { SQLiteCoordinator } from \"../../sqlite-service\";\nimport logger from \"../../../services/reporting-service/logger\";\n\nconst main = async () => {\n const cacheManager = new HashedCacheManager();\n try {\n logger.info('Worker for job \"clean-up-expired-cache\" online');\n logger.info(\n \"==========Starting clean-up-expired-cache job cycle==========\"\n );\n\n await SQLiteCoordinator.executeWithLock(\"clean-up-cache\", async () => {\n await cacheManager.removeExpiredObjects();\n });\n\n logger.info(\n \"==========Completed clean-up-expired-cache job cycle==========\"\n );\n } catch (error) {\n logger.error('Worker for job \"clean-up-expired-cache\" had an error', {\n err: error,\n });\n throw error; // Rethrow so Bree can handle it properly\n } finally {\n await cacheManager.destroy();\n }\n};\n\n// For Bree compatibility - check if this is running as a worker\nif (require.main === module) {\n // This is called when Bree runs this file as a worker\n main();\n} else {\n // Export for potential testing or direct usage\n module.exports = main;\n}\n"],"names":[],"mappings":";;;;;;;;;;AAKA,UAAM,OAAO,YAAY;AACvB,YAAM,eAAe,IAAI,mBAAA;AACzB,UAAI;AACF,eAAO,KAAK,gDAAgD;AAC5D,eAAO;AAAA,UACL;AAAA,QAAA;AAGF,cAAM,kBAAkB,gBAAgB,kBAAkB,YAAY;AACpE,gBAAM,aAAa,qBAAA;AAAA,QACrB,CAAC;AAED,eAAO;AAAA,UACL;AAAA,QAAA;AAAA,MAEJ,SAAS,OAAO;AACd,eAAO,MAAM,wDAAwD;AAAA,UACnE,KAAK;AAAA,QAAA,CACN;AACD,cAAM;AAAA,MACR,UAAA;AACE,cAAM,aAAa,QAAA;AAAA,MACrB;AAAA,IACF;AAGA,QAAI,QAAQ,SAAS,QAAQ;AAE3B,WAAA;AAAA,IACF,OAAO;AAEL,aAAO,UAAU;AAAA,IACnB;AAAA;AAAA;"}
1
+ {"version":3,"file":"clean-up-expired-cache.js","sources":["../../../../src/services/data-sync-service/jobs/clean-up-expired-cache.ts"],"sourcesContent":["import \"dotenv/config\";\nimport { HashedCacheManager } from \"../../caching-service/hashed-cache-manager\";\nimport { SQLiteCoordinator } from \"../../sqlite-service\";\nimport logger from \"../../../services/reporting-service/logger\";\n\nconst main = async () => {\n const cacheManager = new HashedCacheManager();\n try {\n logger.info('Worker for job \"clean-up-expired-cache\" online');\n logger.info(\n \"==========Starting clean-up-expired-cache job cycle==========\"\n );\n\n await SQLiteCoordinator.executeWithLock(\"clean-up-cache\", async () => {\n await cacheManager.removeExpiredObjects();\n });\n\n logger.info(\n \"==========Completed clean-up-expired-cache job cycle==========\"\n );\n } catch (error) {\n logger.error('Worker for job \"clean-up-expired-cache\" had an error', {\n err: error,\n });\n throw error; // Rethrow so Bree can handle it properly\n } finally {\n await cacheManager.destroy();\n logger.info(`==========Completed clean-up-expired-cache job==========`);\n }\n};\n\n// For Bree compatibility - check if this is running as a worker\nif (require.main === module) {\n // This is called when Bree runs this file as a worker\n (async () => {\n await main();\n })();\n} else {\n // Export for potential testing or direct usage\n module.exports = main;\n}\n"],"names":[],"mappings":";;;;;;;;;;AAKA,UAAM,OAAO,YAAY;AACvB,YAAM,eAAe,IAAI,mBAAA;AACzB,UAAI;AACF,eAAO,KAAK,gDAAgD;AAC5D,eAAO;AAAA,UACL;AAAA,QAAA;AAGF,cAAM,kBAAkB,gBAAgB,kBAAkB,YAAY;AACpE,gBAAM,aAAa,qBAAA;AAAA,QACrB,CAAC;AAED,eAAO;AAAA,UACL;AAAA,QAAA;AAAA,MAEJ,SAAS,OAAO;AACd,eAAO,MAAM,wDAAwD;AAAA,UACnE,KAAK;AAAA,QAAA,CACN;AACD,cAAM;AAAA,MACR,UAAA;AACE,cAAM,aAAa,QAAA;AACnB,eAAO,KAAK,0DAA0D;AAAA,MACxE;AAAA,IACF;AAGA,QAAI,QAAQ,SAAS,QAAQ;AAE3B,OAAC,YAAY;AACX,cAAM,KAAA;AAAA,MACR,GAAA;AAAA,IACF,OAAO;AAEL,aAAO,UAAU;AAAA,IACnB;AAAA;AAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"from-erp.d.ts","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/from-erp.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAMvB,QAAA,MAAM,IAAI,qBAmCT,CAAC;AAaF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"from-erp.d.ts","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/from-erp.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAMvB,QAAA,MAAM,IAAI,qBAmCT,CAAC;AAeF,eAAe,IAAI,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import "../../../config-2l5vnNkA.js";
2
2
  import { l as logger } from "../../../logger-QG73MndU.js";
3
- import { S as SQLiteCoordinator } from "../../../index-Cn9ccxOO.js";
3
+ import { S as SQLiteCoordinator } from "../../../index-CXbOvFyf.js";
4
4
  import { c as createConnectorFromPath } from "../../../connector-factory-CQ8e7Tae.js";
5
5
  const main = async () => {
6
6
  try {
@@ -32,9 +32,11 @@ const main = async () => {
32
32
  };
33
33
  const isMainModule = import.meta.url === `file://${process.argv[1]}`;
34
34
  if (isMainModule) {
35
- main().catch(() => {
36
- process.exit(1);
37
- });
35
+ try {
36
+ await main();
37
+ } catch {
38
+ process.exitCode = 1;
39
+ }
38
40
  }
39
41
  export {
40
42
  main as default
@@ -1 +1 @@
1
- {"version":3,"file":"from-erp.js","sources":["../../../../src/services/data-sync-service/jobs/from-erp.ts"],"sourcesContent":["import \"dotenv/config\";\n\nimport logger from \"../../../services/reporting-service/logger\";\nimport { SQLiteCoordinator } from \"../../sqlite-service\";\nimport { createConnectorFromPath } from \"../../../utils/connector-factory\";\n\nconst main = async () => {\n try {\n logger.info('Worker for job \"from-erp\" online');\n logger.info(\"==========Starting from-erp job cycle==========\");\n\n // Get the connector path from the environment variable\n const connectorPath = process.env.CONNECTOR_PATH;\n\n\n if (!connectorPath) {\n throw new Error(\"Connector path not provided in environment variables\");\n }\n\n // Create a new connector instance for this job\n const connector = await createConnectorFromPath(connectorPath);\n\n await SQLiteCoordinator.executeWithLock(\"from-erp\", async () => {\n await connector.syncFromERP();\n });\n\n await connector.syncFromERPCompleted();\n logger.info(\"==========Completed from-erp job cycle==========\");\n } catch (error) {\n const errorDetails = {\n message: error instanceof Error ? error.message : String(error),\n stack: error instanceof Error ? error.stack : undefined,\n name: error instanceof Error ? error.name : undefined,\n ...(error && typeof error === \"object\" ? error : {}), // Include all enumerable properties if it's an object\n };\n logger.error('Worker for job \"from-erp\" had an error', {\n error: errorDetails,\n });\n\n throw error; // Rethrow so Bree can handle it properly\n }\n};\n\n// For Bree compatibility - check if this is running as a worker\n// In ES modules, we need to check import.meta.url instead of require.main\nconst isMainModule = import.meta.url === `file://${process.argv[1]}`;\n\nif (isMainModule) {\n // This is called when Bree runs this file as a worker\n main().catch(() => {\n process.exit(1);\n });\n}\n\nexport default main;"],"names":[],"mappings":";;;;AAMA,MAAM,OAAO,YAAY;AACvB,MAAI;AACF,WAAO,KAAK,kCAAkC;AAC9C,WAAO,KAAK,iDAAiD;AAG7D,UAAM,gBAAgB,QAAQ,IAAI;AAGlC,QAAI,CAAC,eAAe;AAClB,YAAM,IAAI,MAAM,sDAAsD;AAAA,IACxE;AAGA,UAAM,YAAY,MAAM,wBAAwB,aAAa;AAE7D,UAAM,kBAAkB,gBAAgB,YAAY,YAAY;AAC9D,YAAM,UAAU,YAAA;AAAA,IAClB,CAAC;AAED,UAAM,UAAU,qBAAA;AAChB,WAAO,KAAK,kDAAkD;AAAA,EAChE,SAAS,OAAO;AACd,UAAM,eAAe;AAAA,MACnB,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,MAC9D,OAAO,iBAAiB,QAAQ,MAAM,QAAQ;AAAA,MAC9C,MAAM,iBAAiB,QAAQ,MAAM,OAAO;AAAA,MAC5C,GAAI,SAAS,OAAO,UAAU,WAAW,QAAQ,CAAA;AAAA;AAAA,IAAC;AAEpD,WAAO,MAAM,0CAA0C;AAAA,MACrD,OAAO;AAAA,IAAA,CACR;AAED,UAAM;AAAA,EACR;AACF;AAIA,MAAM,eAAe,YAAY,QAAQ,UAAU,QAAQ,KAAK,CAAC,CAAC;AAElE,IAAI,cAAc;AAEhB,OAAA,EAAO,MAAM,MAAM;AACjB,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AACH;"}
1
+ {"version":3,"file":"from-erp.js","sources":["../../../../src/services/data-sync-service/jobs/from-erp.ts"],"sourcesContent":["import \"dotenv/config\";\n\nimport logger from \"../../../services/reporting-service/logger\";\nimport { SQLiteCoordinator } from \"../../sqlite-service\";\nimport { createConnectorFromPath } from \"../../../utils/connector-factory\";\n\nconst main = async () => {\n try {\n logger.info('Worker for job \"from-erp\" online');\n logger.info(\"==========Starting from-erp job cycle==========\");\n\n // Get the connector path from the environment variable\n const connectorPath = process.env.CONNECTOR_PATH;\n\n\n if (!connectorPath) {\n throw new Error(\"Connector path not provided in environment variables\");\n }\n\n // Create a new connector instance for this job\n const connector = await createConnectorFromPath(connectorPath);\n\n await SQLiteCoordinator.executeWithLock(\"from-erp\", async () => {\n await connector.syncFromERP();\n });\n\n await connector.syncFromERPCompleted();\n logger.info(\"==========Completed from-erp job cycle==========\");\n } catch (error) {\n const errorDetails = {\n message: error instanceof Error ? error.message : String(error),\n stack: error instanceof Error ? error.stack : undefined,\n name: error instanceof Error ? error.name : undefined,\n ...(error && typeof error === \"object\" ? error : {}), // Include all enumerable properties if it's an object\n };\n logger.error('Worker for job \"from-erp\" had an error', {\n error: errorDetails,\n });\n\n throw error; // Rethrow so Bree can handle it properly\n }\n};\n\n// For Bree compatibility - check if this is running as a worker\n// In ES modules, we need to check import.meta.url instead of require.main\nconst isMainModule = import.meta.url === `file://${process.argv[1]}`;\n\nif (isMainModule) {\n // This is called when Bree runs this file as a worker\n try {\n await main();\n } catch {\n process.exitCode = 1; // prefer exitCode so stdout/stderr can flush\n }\n}\n\nexport default main;"],"names":[],"mappings":";;;;AAMA,MAAM,OAAO,YAAY;AACvB,MAAI;AACF,WAAO,KAAK,kCAAkC;AAC9C,WAAO,KAAK,iDAAiD;AAG7D,UAAM,gBAAgB,QAAQ,IAAI;AAGlC,QAAI,CAAC,eAAe;AAClB,YAAM,IAAI,MAAM,sDAAsD;AAAA,IACxE;AAGA,UAAM,YAAY,MAAM,wBAAwB,aAAa;AAE7D,UAAM,kBAAkB,gBAAgB,YAAY,YAAY;AAC9D,YAAM,UAAU,YAAA;AAAA,IAClB,CAAC;AAED,UAAM,UAAU,qBAAA;AAChB,WAAO,KAAK,kDAAkD;AAAA,EAChE,SAAS,OAAO;AACd,UAAM,eAAe;AAAA,MACnB,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,MAC9D,OAAO,iBAAiB,QAAQ,MAAM,QAAQ;AAAA,MAC9C,MAAM,iBAAiB,QAAQ,MAAM,OAAO;AAAA,MAC5C,GAAI,SAAS,OAAO,UAAU,WAAW,QAAQ,CAAA;AAAA;AAAA,IAAC;AAEpD,WAAO,MAAM,0CAA0C;AAAA,MACrD,OAAO;AAAA,IAAA,CACR;AAED,UAAM;AAAA,EACR;AACF;AAIA,MAAM,eAAe,YAAY,QAAQ,UAAU,QAAQ,KAAK,CAAC,CAAC;AAElE,IAAI,cAAc;AAEhB,MAAI;AACF,UAAM,KAAA;AAAA,EACR,QAAQ;AACN,YAAQ,WAAW;AAAA,EACrB;AACF;"}
@@ -31,7 +31,9 @@ var require_retry_failed_labor_tickets = __commonJS({
31
31
  }
32
32
  };
33
33
  if (require.main === module) {
34
- main();
34
+ main().catch(() => {
35
+ process.exitCode = 1;
36
+ });
35
37
  } else {
36
38
  module.exports = main;
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retry-failed-labor-tickets.js","sources":["../../../../src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts"],"sourcesContent":["import \"dotenv/config\";\n\nimport logger from \"../../../services/reporting-service/logger\";\nimport { createConnectorFromPath } from \"../../../utils/connector-factory\";\n\nconst main = async () => {\n try {\n logger.info('Worker for job \"retry-failed-labor-tickets\" online');\n logger.info(\n \"==========Starting retry-failed-labor-tickets job cycle==========\"\n );\n\n // Get the connector path from the environment variable\n const connectorPath = process.env.CONNECTOR_PATH;\n\n if (!connectorPath) {\n throw new Error(\"Connector path not provided in environment variables\");\n }\n\n // Create a new connector instance for this job\n const connector = await createConnectorFromPath(connectorPath);\n\n await connector.retryFailedLaborTickets();\n await connector.retryFailedLaborTicketsCompleted();\n\n logger.info(\n \"==========Completed retry-failed-labor-tickets job cycle==========\"\n );\n } catch (error) {\n logger.error('Worker for job \"retry-failed-labor-tickets\" had an error', {\n err: error,\n });\n throw error; // Rethrow so Bree can handle it properly\n }\n};\n\n// For Bree compatibility - check if this is running as a worker\nif (require.main === module) {\n // This is called when Bree runs this file as a worker\n main();\n} else {\n // Export for potential testing or direct usage\n module.exports = main;\n}\n"],"names":[],"mappings":";;;;;;;;;AAKA,UAAM,OAAO,YAAY;AACvB,UAAI;AACF,eAAO,KAAK,oDAAoD;AAChE,eAAO;AAAA,UACL;AAAA,QAAA;AAIF,cAAM,gBAAgB,QAAQ,IAAI;AAElC,YAAI,CAAC,eAAe;AAClB,gBAAM,IAAI,MAAM,sDAAsD;AAAA,QACxE;AAGA,cAAM,YAAY,MAAM,wBAAwB,aAAa;AAE7D,cAAM,UAAU,wBAAA;AAChB,cAAM,UAAU,iCAAA;AAEhB,eAAO;AAAA,UACL;AAAA,QAAA;AAAA,MAEJ,SAAS,OAAO;AACd,eAAO,MAAM,4DAA4D;AAAA,UACvE,KAAK;AAAA,QAAA,CACN;AACD,cAAM;AAAA,MACR;AAAA,IACF;AAGA,QAAI,QAAQ,SAAS,QAAQ;AAE3B,WAAA;AAAA,IACF,OAAO;AAEL,aAAO,UAAU;AAAA,IACnB;AAAA;AAAA;"}
1
+ {"version":3,"file":"retry-failed-labor-tickets.js","sources":["../../../../src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts"],"sourcesContent":["import \"dotenv/config\";\n\nimport logger from \"../../../services/reporting-service/logger\";\nimport { createConnectorFromPath } from \"../../../utils/connector-factory\";\n\nconst main = async () => {\n try {\n logger.info('Worker for job \"retry-failed-labor-tickets\" online');\n logger.info(\n \"==========Starting retry-failed-labor-tickets job cycle==========\"\n );\n\n // Get the connector path from the environment variable\n const connectorPath = process.env.CONNECTOR_PATH;\n\n if (!connectorPath) {\n throw new Error(\"Connector path not provided in environment variables\");\n }\n\n // Create a new connector instance for this job\n const connector = await createConnectorFromPath(connectorPath);\n\n await connector.retryFailedLaborTickets();\n await connector.retryFailedLaborTicketsCompleted();\n\n logger.info(\n \"==========Completed retry-failed-labor-tickets job cycle==========\"\n );\n } catch (error) {\n logger.error('Worker for job \"retry-failed-labor-tickets\" had an error', {\n err: error,\n });\n throw error; // Rethrow so Bree can handle it properly\n }\n};\n\n// For Bree compatibility - check if this is running as a worker\nif (require.main === module) {\n // This is called when Bree runs this file as a worker\n main().catch(() => {\n process.exitCode = 1;\n });\n} else {\n // Export for potential testing or direct usage\n module.exports = main;\n}\n"],"names":[],"mappings":";;;;;;;;;AAKA,UAAM,OAAO,YAAY;AACvB,UAAI;AACF,eAAO,KAAK,oDAAoD;AAChE,eAAO;AAAA,UACL;AAAA,QAAA;AAIF,cAAM,gBAAgB,QAAQ,IAAI;AAElC,YAAI,CAAC,eAAe;AAClB,gBAAM,IAAI,MAAM,sDAAsD;AAAA,QACxE;AAGA,cAAM,YAAY,MAAM,wBAAwB,aAAa;AAE7D,cAAM,UAAU,wBAAA;AAChB,cAAM,UAAU,iCAAA;AAEhB,eAAO;AAAA,UACL;AAAA,QAAA;AAAA,MAEJ,SAAS,OAAO;AACd,eAAO,MAAM,4DAA4D;AAAA,UACvE,KAAK;AAAA,QAAA,CACN;AACD,cAAM;AAAA,MACR;AAAA,IACF;AAGA,QAAI,QAAQ,SAAS,QAAQ;AAE3B,WAAA,EAAO,MAAM,MAAM;AACjB,gBAAQ,WAAW;AAAA,MACrB,CAAC;AAAA,IACH,OAAO;AAEL,aAAO,UAAU;AAAA,IACnB;AAAA;AAAA;"}
@@ -14,7 +14,13 @@ async function runMigrations() {
14
14
  await db.destroy();
15
15
  }
16
16
  }
17
- runMigrations();
17
+ const isMainModule = import.meta.url === `file://${process.argv[1]}`;
18
+ if (isMainModule) {
19
+ runMigrations().catch((err) => {
20
+ logger.error("Top-level error running migrations:", err);
21
+ process.exit(1);
22
+ });
23
+ }
18
24
  export {
19
25
  runMigrations as default
20
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"run-migrations.js","sources":["../../../../src/services/data-sync-service/jobs/run-migrations.ts"],"sourcesContent":["import knex, { Knex } from \"knex\";\nimport logger from \"../../reporting-service/logger\";\nimport config from \"../../../knexfile\";\n\n// MLW TODO Consider the location of knexfile\nconst db: Knex = knex(config.local);\n\nexport default async function runMigrations() {\n try {\n logger.info(\"Running migrations...\");\n await db.migrate.latest();\n logger.info(\"Migrations complete!\");\n } catch (error) {\n logger.error(\"Error running migrations:\", error);\n process.exit(1);\n } finally {\n await db.destroy();\n }\n}\n\nrunMigrations();\n"],"names":[],"mappings":";;;AAKA,MAAM,KAAW,KAAK,OAAO,KAAK;AAElC,eAA8B,gBAAgB;AAC5C,MAAI;AACF,WAAO,KAAK,uBAAuB;AACnC,UAAM,GAAG,QAAQ,OAAA;AACjB,WAAO,KAAK,sBAAsB;AAAA,EACpC,SAAS,OAAO;AACd,WAAO,MAAM,6BAA6B,KAAK;AAC/C,YAAQ,KAAK,CAAC;AAAA,EAChB,UAAA;AACE,UAAM,GAAG,QAAA;AAAA,EACX;AACF;AAEA,cAAA;"}
1
+ {"version":3,"file":"run-migrations.js","sources":["../../../../src/services/data-sync-service/jobs/run-migrations.ts"],"sourcesContent":["import knex, { Knex } from \"knex\";\nimport logger from \"../../reporting-service/logger\";\nimport config from \"../../../knexfile\";\n\n// MLW TODO Consider the location of knexfile\nconst db: Knex = knex(config.local);\n\nexport default async function runMigrations() {\n try {\n logger.info(\"Running migrations...\");\n await db.migrate.latest();\n logger.info(\"Migrations complete!\");\n } catch (error) {\n logger.error(\"Error running migrations:\", error);\n process.exit(1);\n } finally {\n await db.destroy();\n }\n}\n\nconst isMainModule = import.meta.url === `file://${process.argv[1]}`;\nif (isMainModule) {\n runMigrations().catch(err => {\n logger.error(\"Top-level error running migrations:\", err);\n process.exit(1);\n });\n}\n"],"names":[],"mappings":";;;AAKA,MAAM,KAAW,KAAK,OAAO,KAAK;AAElC,eAA8B,gBAAgB;AAC5C,MAAI;AACF,WAAO,KAAK,uBAAuB;AACnC,UAAM,GAAG,QAAQ,OAAA;AACjB,WAAO,KAAK,sBAAsB;AAAA,EACpC,SAAS,OAAO;AACd,WAAO,MAAM,6BAA6B,KAAK;AAC/C,YAAQ,KAAK,CAAC;AAAA,EAChB,UAAA;AACE,UAAM,GAAG,QAAA;AAAA,EACX;AACF;AAEA,MAAM,eAAe,YAAY,QAAQ,UAAU,QAAQ,KAAK,CAAC,CAAC;AAClE,IAAI,cAAc;AAChB,gBAAA,EAAgB,MAAM,CAAA,QAAO;AAC3B,WAAO,MAAM,uCAAuC,GAAG;AACvD,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AACH;"}
@@ -36,5 +36,10 @@ export declare class GraphQLService {
36
36
  * @throws {HTTPError} For HTTP/network errors only
37
37
  */
38
38
  mutate<T>(mutation: string, variables?: Record<string, unknown>): Promise<APIResponse<T>>;
39
+ /**
40
+ * Cleanup all HTTP connections and resources
41
+ * Call this when the service is no longer needed
42
+ */
43
+ destroy(): Promise<void>;
39
44
  }
40
45
  //# sourceMappingURL=graphql-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-service.d.ts","sourceRoot":"","sources":["../../../../src/services/erp-api-services/graphql/graphql-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;YAa5D,UAAU;IASxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;;;OAMG;IACG,KAAK,CAAC,CAAC,EACX,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAgB1B;;;;;;OAMG;IACG,MAAM,CAAC,CAAC,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAe3B"}
1
+ {"version":3,"file":"graphql-service.d.ts","sourceRoot":"","sources":["../../../../src/services/erp-api-services/graphql/graphql-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;YAa5D,UAAU;IASxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;;;OAMG;IACG,KAAK,CAAC,CAAC,EACX,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAgB1B;;;;;;OAMG;IACG,MAAM,CAAC,CAAC,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAgB1B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -31,5 +31,10 @@ export declare class RestAPIService {
31
31
  get<T>(endpoint: string, query?: QueryParams): Promise<APIResponse<T[]>>;
32
32
  patch<T>(endpoint: string, id: string, data: Partial<T>): Promise<APIResponse<T>>;
33
33
  post<TRequest, TResponse = TRequest>(endpoint: string, data: TRequest): Promise<APIResponse<TResponse>>;
34
+ /**
35
+ * Cleanup all HTTP connections and resources
36
+ * Call this when the service is no longer needed
37
+ */
38
+ destroy(): Promise<void>;
34
39
  }
35
40
  //# sourceMappingURL=rest-api-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rest-api-service.d.ts","sourceRoot":"","sources":["../../../../src/services/erp-api-services/rest/rest-api-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAGZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKrD;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAS;gBAG9B,MAAM,EAAE,YAAY,EACpB,aAAa,CAAC,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM;YAWZ,UAAU;IASxB,OAAO,CAAC,gBAAgB;IA+BxB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,QAAQ;IASV,GAAG,CAAC,CAAC,EACT,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,WAAgB,GACtB,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAkCtB,KAAK,CAAC,CAAC,EACX,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAoBpB,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,QAAQ,EACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;CAmBnC"}
1
+ {"version":3,"file":"rest-api-service.d.ts","sourceRoot":"","sources":["../../../../src/services/erp-api-services/rest/rest-api-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAGZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKrD;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAS;gBAG9B,MAAM,EAAE,YAAY,EACpB,aAAa,CAAC,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM;YAWZ,UAAU;IASxB,OAAO,CAAC,gBAAgB;IA+BxB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,QAAQ;IASV,GAAG,CAAC,CAAC,EACT,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,WAAgB,GACtB,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAkCtB,KAAK,CAAC,CAAC,EACX,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAoBpB,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,QAAQ,EACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAoBlC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -210,5 +210,10 @@ export declare class MMApiClient {
210
210
  * @returns Promise with the resources data
211
211
  */
212
212
  fetchResourcesFromGraphQL(): Promise<MMGraphQLResourceResponse>;
213
+ /**
214
+ * Cleanup all HTTP connections and resources
215
+ * Call this when the service is no longer needed
216
+ */
217
+ destroy(): Promise<void>;
213
218
  }
214
219
  //# sourceMappingURL=mm-api-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mm-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/mm-api-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mm-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/mm-api-service.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,9 @@ export interface MM200LaborTicketResponse extends MMApiBaseResponse {
56
56
  * Response for partial success of non-labor ticket entities
57
57
  * Used for: Resources, Parts, PartOperations, WorkOrders, WorkOrderOperations, Persons, Reasons
58
58
  *
59
+ * Note: The API may internally re-batch client submissions. Each error represents
60
+ * a batch that failed due to at least one record having issues.
61
+ *
59
62
  * Example response:
60
63
  * {
61
64
  * message: "WorkOrderOperations partially imported with errors",
@@ -69,7 +72,7 @@ export interface MM200LaborTicketResponse extends MMApiBaseResponse {
69
72
  * batch: 1,
70
73
  * path: "$.selectionSet.insertErpWorkOrderOperations.args.objects",
71
74
  * code: "constraint-violation",
72
- * batchData: [{ workOrderId: "24-0196", ... }]
75
+ * batchData: [{ workOrderId: "24-0196", ... }] // All records in failing batch
73
76
  * }
74
77
  * ]
75
78
  * },
@@ -95,6 +98,9 @@ export interface MM207NonLaborTicketResponse extends MMApiBaseResponse {
95
98
  /**
96
99
  * Response for partial success of labor tickets
97
100
  *
101
+ * Note: The API may internally re-batch client submissions. Each error represents
102
+ * a batch that failed due to at least one record having issues.
103
+ *
98
104
  * Example response:
99
105
  * {
100
106
  * message: "Labor tickets partially imported with errors",
@@ -107,7 +113,7 @@ export interface MM207NonLaborTicketResponse extends MMApiBaseResponse {
107
113
  * batch: 1,
108
114
  * path: "$.selectionSet.updateErpLaborTickets.args.objects",
109
115
  * code: "constraint-violation",
110
- * batchData: [{ workOrderId: "24-0196", ... }]
116
+ * batchData: [{ workOrderId: "24-0196", ... }] // All records in failing batch
111
117
  * }
112
118
  * ],
113
119
  * insertErrors: [
@@ -116,7 +122,7 @@ export interface MM207NonLaborTicketResponse extends MMApiBaseResponse {
116
122
  * batch: 1,
117
123
  * path: "$.selectionSet.insertErpLaborTickets.args.objects",
118
124
  * code: "constraint-violation",
119
- * batchData: [{ workOrderId: "24-0191", ... }]
125
+ * batchData: [{ workOrderId: "24-0191", ... }] // All records in failing batch
120
126
  * }
121
127
  * ]
122
128
  * },
@@ -149,8 +155,13 @@ export interface MM207LaborTicketResponse extends MMApiBaseResponse {
149
155
  * Exception structure for complete failure of non-labor ticket entities
150
156
  * Used for: Resources, Parts, PartOperations, WorkOrders, WorkOrderOperations, Persons, Reasons
151
157
  *
158
+ * IMPORTANT: This structure only applies to 500 errors caused by data validation failures.
159
+ * Other 500 errors (network issues, server errors, etc.) may have different structures.
152
160
  * This structure appears in caught exceptions when the API returns 500 status
153
- * for validation issues that contain structured error information.
161
+ * specifically for validation issues that contain structured error information.
162
+ *
163
+ * Note: The API may internally re-batch client submissions. Each error represents
164
+ * a batch that failed due to at least one record having issues.
154
165
  *
155
166
  * Example exception.data structure:
156
167
  * {
@@ -162,7 +173,7 @@ export interface MM207LaborTicketResponse extends MMApiBaseResponse {
162
173
  * errors: [
163
174
  * {
164
175
  * message: "GraphQL Error: Foreign key violation...",
165
- * batchData: [{ workOrderId: "24-0196", ... }]
176
+ * batchData: [{ workOrderId: "24-0196", ... }] // All records in failing batch
166
177
  * }
167
178
  * ]
168
179
  * }
@@ -186,8 +197,13 @@ export interface MM500NonLaborTicketException {
186
197
  /**
187
198
  * Exception structure for complete failure of labor tickets
188
199
  *
200
+ * IMPORTANT: This structure only applies to 500 errors caused by data validation failures.
201
+ * Other 500 errors (network issues, server errors, etc.) may have different structures.
189
202
  * This structure appears in caught exceptions when the API returns 500 status
190
- * for validation issues that contain structured error information.
203
+ * specifically for validation issues that contain structured error information.
204
+ *
205
+ * Note: The API may internally re-batch client submissions. Each error represents
206
+ * a batch that failed due to at least one record having issues.
191
207
  *
192
208
  * Example exception.data structure:
193
209
  * {
@@ -196,13 +212,13 @@ export interface MM500NonLaborTicketException {
196
212
  * updateErrors: [
197
213
  * {
198
214
  * message: "GraphQL Error: Foreign key violation...",
199
- * batchData: [{ workOrderId: "24-0196", ... }]
215
+ * batchData: [{ workOrderId: "24-0196", ... }] // All records in failing batch
200
216
  * }
201
217
  * ],
202
218
  * insertErrors: [
203
219
  * {
204
220
  * message: "GraphQL Error: Foreign key violation...",
205
- * batchData: [{ workOrderId: "24-0191", ... }]
221
+ * batchData: [{ workOrderId: "24-0191", ... }] // All records in failing batch
206
222
  * }
207
223
  * ]
208
224
  * }
@@ -1 +1 @@
1
- {"version":3,"file":"mm-response-interfaces.d.ts","sourceRoot":"","sources":["../../../../src/services/mm-api-service/types/mm-response-interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mm-response-interfaces.d.ts","sourceRoot":"","sources":["../../../../src/services/mm-api-service/types/mm-response-interfaces.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,8 @@ export interface HTTPResponse<T = unknown> {
19
19
  }
20
20
  export interface HTTPClient {
21
21
  request<T = unknown>(config: HTTPRequestConfig): Promise<HTTPResponse<T>>;
22
- handleError(error: unknown, requestConfig?: HTTPRequestConfig): HTTPError;
22
+ handleError(error: unknown): HTTPError;
23
+ destroy(): Promise<void>;
23
24
  }
24
25
  export interface HTTPClientConfig {
25
26
  baseUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAGA,qBAAa,SAAU,SAAQ,KAAK;IAGzB,MAAM,EAAE,MAAM;IACd,IAAI,CAAC,EAAE,MAAM;IACb,IAAI,CAAC,EAAE,OAAO;gBAHrB,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,IAAI,CAAC,EAAE,OAAO,YAAA;CAKxB;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC3E;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;CAGzD"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAGA,qBAAa,SAAU,SAAQ,KAAK;IAGzB,MAAM,EAAE,MAAM;IACd,IAAI,CAAC,EAAE,MAAM;IACb,IAAI,CAAC,EAAE,OAAO;gBAHrB,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,IAAI,CAAC,EAAE,OAAO,YAAA;CAKxB;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;CAGzD"}
@@ -27,6 +27,7 @@ export { BatchCacheManager } from "../services/caching-service/batch-cache-manag
27
27
  export { StandardProcessDrivers } from "./standard-process-drivers/";
28
28
  export type { WriteEntitiesToMMResult, MMBatchValidationError, } from "./standard-process-drivers/";
29
29
  export { getCachedTimezoneOffset } from "./local-data-store/jobs-shared-data";
30
+ export { getInitialLoadComplete, setInitialLoadComplete, } from "./local-data-store/jobs-shared-data";
30
31
  /**
31
32
  * ERP API utilities
32
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,cAAc,cAAc,CAAC;AAE7B;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,YAAY,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAEpF;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EACV,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E;;GAEG;AACH,cAAc,oDAAoD,CAAC;AACnE,cAAc,oDAAoD,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;GAEG;AACH,cAAc,2BAA2B,CAAC;AAE1C;;GAEG;AACH,cAAc,2BAA2B,CAAC;AAE1C;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAExE;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,cAAc,cAAc,CAAC;AAE7B;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,YAAY,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAEpF;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EACV,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAG9E,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,qCAAqC,CAAC;AAE7C;;GAEG;AACH,cAAc,oDAAoD,CAAC;AACnE,cAAc,oDAAoD,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;GAEG;AACH,cAAc,2BAA2B,CAAC;AAE1C;;GAEG;AACH,cAAc,2BAA2B,CAAC;AAE1C;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAExE;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -13,7 +13,7 @@ export declare class ErrorProcessor {
13
13
  */
14
14
  static createFailedRecordKeySet(entityType: ERPObjType, batchErrors: Array<{
15
15
  message: string;
16
- errorEntities: IToRESTApiObject[];
16
+ affectedEntities: IToRESTApiObject[];
17
17
  }>): Set<string>;
18
18
  /**
19
19
  * Filters out failed records, returning only successful ones
@@ -32,12 +32,12 @@ export declare class ErrorProcessor {
32
32
  */
33
33
  static cacheSuccessfulRecordsOnPartialFailure(entityType: ERPObjType, toProcess: IToRESTApiObject[], batchErrors: Array<{
34
34
  message: string;
35
- errorEntities: IToRESTApiObject[];
35
+ affectedEntities: IToRESTApiObject[];
36
36
  }>, batchCacheManager: BatchCacheManager): Promise<void>;
37
37
  /**
38
38
  * Extracts error count and batch errors from MM API response for partial failures (HTTP 207)
39
39
  * This supports all entities, including the slightly different format for labor tickets.
40
- * In case of labor tickets, the updateErrors and insertErrors arrays are combined into errorEntities.
40
+ * In case of labor tickets, the updateErrors and insertErrors arrays are combined into affectedEntities.
41
41
  * @param mmApiResponse The full MM API response object
42
42
  * @param entityType The type of entity being processed (determines response structure)
43
43
  * @returns Object containing errorCount and batchErrors
@@ -47,7 +47,7 @@ export declare class ErrorProcessor {
47
47
  errorCount: number;
48
48
  batchErrors: Array<{
49
49
  message: string;
50
- errorEntities: IToRESTApiObject[];
50
+ affectedEntities: IToRESTApiObject[];
51
51
  }>;
52
52
  };
53
53
  /**
@@ -61,7 +61,7 @@ export declare class ErrorProcessor {
61
61
  errorCount: number;
62
62
  batchErrors: Array<{
63
63
  message: string;
64
- errorEntities: IToRESTApiObject[];
64
+ affectedEntities: IToRESTApiObject[];
65
65
  }>;
66
66
  } | null;
67
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error-processor.d.ts","sourceRoot":"","sources":["../../../src/utils/standard-process-drivers/error-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AAIvC;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAC7B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,KAAK,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,gBAAgB,EAAE,CAAC;KACnC,CAAC,GACD,GAAG,CAAC,MAAM,CAAC;IAuBd;;;;;;OAMG;IACH,MAAM,CAAC,uBAAuB,CAC5B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GACxB,gBAAgB,EAAE;IAuBrB;;;;;;OAMG;WACU,sCAAsC,CACjD,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAAE,EAC7B,WAAW,EAAE,KAAK,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,gBAAgB,EAAE,CAAC;KACnC,CAAC,EACF,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,IAAI,CAAC;IAqBhB;;;;;;;;OAQG;IACH,MAAM,CAAC,mBAAmB,CACxB,aAAa,EAAE,2BAA2B,GAAG,wBAAwB,EACrE,UAAU,EAAE,UAAU,GACrB;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,aAAa,EAAE,gBAAgB,EAAE,CAAC;SACnC,CAAC,CAAC;KACJ;IAqGD;;;;;;OAMG;IACH,MAAM,CAAC,mCAAmC,CACxC,SAAS,EAAE,OAAO,EAClB,UAAU,EAAE,UAAU,GACrB;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,aAAa,EAAE,gBAAgB,EAAE,CAAC;SACnC,CAAC,CAAC;KACJ,GAAG,IAAI;CAkKT"}
1
+ {"version":3,"file":"error-processor.d.ts","sourceRoot":"","sources":["../../../src/utils/standard-process-drivers/error-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AAIvC;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAC7B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,KAAK,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;KACtC,CAAC,GACD,GAAG,CAAC,MAAM,CAAC;IAuBd;;;;;;OAMG;IACH,MAAM,CAAC,uBAAuB,CAC5B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GACxB,gBAAgB,EAAE;IAuBrB;;;;;;OAMG;WACU,sCAAsC,CACjD,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAAE,EAC7B,WAAW,EAAE,KAAK,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;KACtC,CAAC,EACF,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,IAAI,CAAC;IAqBhB;;;;;;;;OAQG;IACH,MAAM,CAAC,mBAAmB,CACxB,aAAa,EAAE,2BAA2B,GAAG,wBAAwB,EACrE,UAAU,EAAE,UAAU,GACrB;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;SACtC,CAAC,CAAC;KACJ;IAqGD;;;;;;OAMG;IACH,MAAM,CAAC,mCAAmC,CACxC,SAAS,EAAE,OAAO,EAClB,UAAU,EAAE,UAAU,GACrB;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;SACtC,CAAC,CAAC;KACJ,GAAG,IAAI;CAkKT"}
@@ -19,7 +19,7 @@ export declare class MMBatchValidationError extends Error {
19
19
  readonly httpStatus: number;
20
20
  readonly batchErrors: Array<{
21
21
  message: string;
22
- errorEntities: IToRESTApiObject[];
22
+ affectedEntities: IToRESTApiObject[];
23
23
  }>;
24
24
  constructor(options: {
25
25
  message: string;
@@ -30,7 +30,7 @@ export declare class MMBatchValidationError extends Error {
30
30
  httpStatus: number;
31
31
  batchErrors: Array<{
32
32
  message: string;
33
- errorEntities: IToRESTApiObject[];
33
+ affectedEntities: IToRESTApiObject[];
34
34
  }>;
35
35
  });
36
36
  }
@@ -79,9 +79,10 @@ export declare class StandardProcessDrivers {
79
79
  *
80
80
  * } catch (error) {
81
81
  * if (error instanceof MMBatchValidationError) {
82
- * // HTTP 207 - Partial success with some validation errors
83
- * // HTTP 500 - A specific type of which represent complete failure due to validation issues;
82
+ * // HTTP 207 - Partial success with some batches failing due to validation errors
83
+ * // HTTP 500 - A specific type representing complete failure due to validation issues;
84
84
  * // other 500 types represent failure due to other issues and are not converted to MMBatchValidationError
85
+ * // Note: Each batch error contains ALL entities from the failing batch, not necessarily just the failed ones
85
86
  *
86
87
  * console.log(`⚠️ Batch processing completed with errors (HTTP ${error.httpStatus})`);
87
88
  * console.log(`📊 Metrics: ${error.upsertedEntities} upserted, ${error.localDedupeCount} locally deduplicated, ${error.apiDedupeCount} API deduplicated`);
@@ -90,18 +91,18 @@ export declare class StandardProcessDrivers {
90
91
  * // Process specific batch errors for retry or logging
91
92
  * error.batchErrors.forEach((batchError, index) => {
92
93
  * console.log(`Batch ${index + 1} error: ${batchError.message}`);
93
- * console.log(`Affected entities:`, batchError.errorEntities);
94
+ * console.log(`All entities in failing batch:`, batchError.affectedEntities);
94
95
  *
95
- * // Example: Queue failed entities for retry
96
- * await queueForRetry(batchError.errorEntities);
96
+ * // Example: Queue entire failing batch for retry (contains both successful and failed entities)
97
+ * await queueForRetry(batchError.affectedEntities);
97
98
  * });
98
99
  *
99
100
  * // Decide whether to continue or halt based on httpStatus
100
101
  * if (error.httpStatus === 207) {
101
- * // Partial success - some records processed successfully
102
+ * // Partial success - some batches processed successfully, others failed
102
103
  * console.log('⚠️ Continuing with partial success');
103
104
  * } else if (error.httpStatus === 500) {
104
- * // Complete failure - no records processed
105
+ * // Complete failure - all batches failed due to validation issues
105
106
  * console.log('🛑 Complete failure - no records processed');
106
107
  * throw error; // Re-throw if complete failure should halt the process
107
108
  * }
@@ -1 +1 @@
1
- {"version":3,"file":"standard-process-drivers.d.ts","sourceRoot":"","sources":["../../../src/utils/standard-process-drivers/standard-process-drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EAKrB,MAAM,+BAA+B,CAAC;AAIvC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,WAAW,EAAE,KAAK,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,gBAAgB,EAAE,CAAC;KACnC,CAAC,CAAC;gBAES,OAAO,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,aAAa,EAAE,gBAAgB,EAAE,CAAC;SACnC,CAAC,CAAC;KACJ;CAUF;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IACjC;;;;;;;;OAQG;WACU,qBAAqB,CAChC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;OAMG;WACU,uBAAuB,CAClC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuEG;WACU,iBAAiB,CAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAAE,EAC7B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC,uBAAuB,CAAC;IAQnC;;;;;;;;;;;;;;;OAeG;WACU,uBAAuB,CAClC,cAAc,EAAE,oBAAoB,EACpC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC;QACT,KAAK,EAAE,uBAAuB,CAAC;QAC/B,cAAc,EAAE,uBAAuB,CAAC;QACxC,UAAU,EAAE,uBAAuB,CAAC;QACpC,mBAAmB,EAAE,uBAAuB,CAAC;KAC9C,CAAC;IAuCF;;;;;;;;;;;;;;OAcG;WACU,+BAA+B,CAC1C,aAAa,EAAE,GAAG,EAAE,EACpB,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC;QACT,KAAK,EAAE,uBAAuB,CAAC;QAC/B,cAAc,EAAE,uBAAuB,CAAC;QACxC,UAAU,EAAE,uBAAuB,CAAC;QACpC,mBAAmB,EAAE,uBAAuB,CAAC;KAC9C,CAAC;CAkMH"}
1
+ {"version":3,"file":"standard-process-drivers.d.ts","sourceRoot":"","sources":["../../../src/utils/standard-process-drivers/standard-process-drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EAKrB,MAAM,+BAA+B,CAAC;AAIvC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,WAAW,EAAE,KAAK,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;KACtC,CAAC,CAAC;gBAES,OAAO,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;SACtC,CAAC,CAAC;KACJ;CAUF;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IACjC;;;;;;;;OAQG;WACU,qBAAqB,CAChC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;OAMG;WACU,uBAAuB,CAClC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwEG;WACU,iBAAiB,CAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAAE,EAC7B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC,uBAAuB,CAAC;IAQnC;;;;;;;;;;;;;;;OAeG;WACU,uBAAuB,CAClC,cAAc,EAAE,oBAAoB,EACpC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC;QACT,KAAK,EAAE,uBAAuB,CAAC;QAC/B,cAAc,EAAE,uBAAuB,CAAC;QACxC,UAAU,EAAE,uBAAuB,CAAC;QACpC,mBAAmB,EAAE,uBAAuB,CAAC;KAC9C,CAAC;IAuCF;;;;;;;;;;;;;;OAcG;WACU,+BAA+B,CAC1C,aAAa,EAAE,GAAG,EAAE,EACpB,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC;QACT,KAAK,EAAE,uBAAuB,CAAC;QAC/B,cAAc,EAAE,uBAAuB,CAAC;QACxC,UAAU,EAAE,uBAAuB,CAAC;QACpC,mBAAmB,EAAE,uBAAuB,CAAC;KAC9C,CAAC;CAkMH"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@machinemetrics/mm-erp-sdk",
3
3
  "description": "A library for syncing data between MachineMetrics and ERP systems",
4
- "version": "0.1.1-beta.6",
4
+ "version": "0.1.2",
5
5
  "license": "MIT",
6
6
  "author": "machinemetrics",
7
7
  "main": "dist/mm-erp-sdk.js",
@@ -39,7 +39,7 @@
39
39
  "@types/mssql": "^9.1.6",
40
40
  "@types/node": "^20.0.0",
41
41
  "@types/xxhashjs": "^0.2.4",
42
- "prettier": "^3.3.3",
42
+ "prettier": "^3.6.2",
43
43
  "typescript": "^5.8.3",
44
44
  "vite": "^5.3.4"
45
45
  },
package/src/index.ts CHANGED
@@ -16,14 +16,14 @@ export type { ERPApiConfig } from "./services/erp-api-services/types";
16
16
 
17
17
  // MM API client and types
18
18
  export { MMApiClient } from "./services/mm-api-service";
19
- export type {
19
+ export type {
20
20
  MMReceiveLaborTicket,
21
21
  MMReceiveLaborTicketReason,
22
22
  MMReceiveLaborTicketWorkOrderOperation,
23
23
  IToRESTApiObject,
24
24
  } from "./services/mm-api-service";
25
25
 
26
- export {
26
+ export {
27
27
  MMSendPerson,
28
28
  MMSendResource,
29
29
  MMSendPart,
@@ -50,6 +50,9 @@ export {
50
50
  convertToLocalTime,
51
51
  } from "./utils";
52
52
 
53
+ // Local data store
54
+ export { getInitialLoadComplete, setInitialLoadComplete } from "./utils";
55
+
53
56
  // HTTP client factory and types for custom API integrations
54
57
  export { HTTPClientFactory } from "./utils/http-client";
55
58
  export type { HTTPResponse } from "./utils/http-client";
@@ -68,6 +71,7 @@ export type { IERPLaborTicketHandler } from "./types/erp-connector";
68
71
 
69
72
  // Process drivers and utilities
70
73
  export { StandardProcessDrivers, getCachedTimezoneOffset } from "./utils";
74
+ export type { WriteEntitiesToMMResult, MMBatchValidationError } from "./utils";
71
75
 
72
76
  // API services
73
77
  export { RestAPIService } from "./services/erp-api-services/rest/rest-api-service";
@@ -20,7 +20,6 @@ export class CoreConfiguration {
20
20
  public readonly cacheTTL: number;
21
21
 
22
22
  // ERP API Service
23
- public readonly erpApiRetryAttemptsDef: number; //Retry attempts for ERP API
24
23
  public readonly erpApiPagingLimit: number; //Pagination limit for ERP API
25
24
 
26
25
  // Job timing Intervals
@@ -60,14 +59,6 @@ export class CoreConfiguration {
60
59
  this.mmApiRetryAttempts = parseInt(process.env.RETRY_ATTEMPTS || "0");
61
60
  //#endregion MM API (aka "Mapping") Service
62
61
 
63
- //#region ERP API Service
64
- /**
65
- * Number of retry attempts for ERP API calls
66
- */
67
- this.erpApiRetryAttemptsDef = parseInt(
68
- process.env.ERP_API_RETRY_ATTEMPTS_DEF || "3"
69
- );
70
-
71
62
  /**
72
63
  * Default pagination limit for ERP API
73
64
  */
@@ -25,13 +25,16 @@ const main = async () => {
25
25
  throw error; // Rethrow so Bree can handle it properly
26
26
  } finally {
27
27
  await cacheManager.destroy();
28
+ logger.info(`==========Completed clean-up-expired-cache job==========`);
28
29
  }
29
30
  };
30
31
 
31
32
  // For Bree compatibility - check if this is running as a worker
32
33
  if (require.main === module) {
33
34
  // This is called when Bree runs this file as a worker
34
- main();
35
+ (async () => {
36
+ await main();
37
+ })();
35
38
  } else {
36
39
  // Export for potential testing or direct usage
37
40
  module.exports = main;
@@ -47,9 +47,11 @@ const isMainModule = import.meta.url === `file://${process.argv[1]}`;
47
47
 
48
48
  if (isMainModule) {
49
49
  // This is called when Bree runs this file as a worker
50
- main().catch(() => {
51
- process.exit(1);
52
- });
50
+ try {
51
+ await main();
52
+ } catch {
53
+ process.exitCode = 1; // prefer exitCode so stdout/stderr can flush
54
+ }
53
55
  }
54
56
 
55
57
  export default main;