@machinemetrics/mm-erp-sdk 0.2.0-beta.3 → 0.3.0-beta.0
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.
- package/README.md +5 -0
- package/dist/index.d.ts +42 -43
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +48 -0
- package/dist/index.js.map +1 -0
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/knexfile.js +19 -0
- package/dist/knexfile.js.map +1 -0
- package/dist/migrations/20241015162631_create_cache_table.d.ts +4 -0
- package/dist/migrations/20241015162631_create_cache_table.d.ts.map +1 -0
- package/dist/migrations/20241015162631_create_cache_table.js +11 -15
- package/dist/migrations/20241015162631_create_cache_table.js.map +1 -1
- package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts +4 -0
- package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts.map +1 -0
- package/dist/migrations/20241015162632_create_sdk_cache_table.js +11 -15
- package/dist/migrations/20241015162632_create_sdk_cache_table.js.map +1 -1
- package/dist/migrations/20250103162631_create_record_tracking_table.d.ts +4 -0
- package/dist/migrations/20250103162631_create_record_tracking_table.d.ts.map +1 -0
- package/dist/migrations/20250103162631_create_record_tracking_table.js +14 -15
- package/dist/migrations/20250103162631_create_record_tracking_table.js.map +1 -1
- package/dist/services/caching-service/batch-cache-manager.d.ts +1 -1
- package/dist/services/caching-service/batch-cache-manager.d.ts.map +1 -1
- package/dist/services/caching-service/batch-cache-manager.js +84 -0
- package/dist/services/caching-service/batch-cache-manager.js.map +1 -0
- package/dist/services/caching-service/hashed-cache-manager.d.ts +2 -2
- package/dist/services/caching-service/hashed-cache-manager.d.ts.map +1 -1
- package/dist/services/caching-service/hashed-cache-manager.js +223 -0
- package/dist/services/caching-service/hashed-cache-manager.js.map +1 -0
- package/dist/services/caching-service/index.d.ts +1 -1
- package/dist/services/caching-service/index.d.ts.map +1 -1
- package/dist/services/caching-service/index.js +2 -0
- package/dist/services/caching-service/index.js.map +1 -0
- package/dist/services/caching-service/record-tracking-manager.d.ts +1 -1
- package/dist/services/caching-service/record-tracking-manager.d.ts.map +1 -1
- package/dist/services/caching-service/record-tracking-manager.js +28 -0
- package/dist/services/caching-service/record-tracking-manager.js.map +1 -0
- package/dist/services/data-sync-service/configuration-manager.d.ts +1 -1
- package/dist/services/data-sync-service/configuration-manager.d.ts.map +1 -1
- package/dist/services/data-sync-service/configuration-manager.js +163 -0
- package/dist/services/data-sync-service/configuration-manager.js.map +1 -0
- package/dist/services/data-sync-service/data-sync-service.d.ts.map +1 -1
- package/dist/services/data-sync-service/data-sync-service.js +95 -0
- package/dist/services/data-sync-service/data-sync-service.js.map +1 -0
- package/dist/services/data-sync-service/index.d.ts +3 -3
- package/dist/services/data-sync-service/index.d.ts.map +1 -1
- package/dist/services/data-sync-service/index.js +10 -0
- package/dist/services/data-sync-service/index.js.map +1 -0
- package/dist/services/data-sync-service/jobs/clean-up-expired-cache.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js +42 -40
- package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js.map +1 -1
- package/dist/services/data-sync-service/jobs/from-erp.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/from-erp.js +50 -37
- package/dist/services/data-sync-service/jobs/from-erp.js.map +1 -1
- package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js +38 -36
- package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js.map +1 -1
- package/dist/services/data-sync-service/jobs/run-migrations.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/run-migrations.js +24 -22
- package/dist/services/data-sync-service/jobs/run-migrations.js.map +1 -1
- package/dist/services/data-sync-service/jobs/to-erp.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/to-erp.js +49 -49
- package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
- package/dist/services/erp-api-services/errors.d.ts +1 -1
- package/dist/services/erp-api-services/errors.d.ts.map +1 -1
- package/dist/services/erp-api-services/errors.js +83 -0
- package/dist/services/erp-api-services/errors.js.map +1 -0
- package/dist/services/erp-api-services/graphql/graphql-service.d.ts +2 -2
- package/dist/services/erp-api-services/graphql/graphql-service.d.ts.map +1 -1
- package/dist/services/erp-api-services/graphql/graphql-service.js +102 -0
- package/dist/services/erp-api-services/graphql/graphql-service.js.map +1 -0
- package/dist/services/erp-api-services/graphql/types.js +6 -0
- package/dist/services/erp-api-services/graphql/types.js.map +1 -0
- package/dist/services/erp-api-services/index.d.ts +8 -8
- package/dist/services/erp-api-services/index.d.ts.map +1 -1
- package/dist/services/erp-api-services/index.js +13 -0
- package/dist/services/erp-api-services/index.js.map +1 -0
- package/dist/services/erp-api-services/oauth-client.js +41 -0
- package/dist/services/erp-api-services/oauth-client.js.map +1 -0
- package/dist/services/erp-api-services/rest/get-query-params.js +23 -0
- package/dist/services/erp-api-services/rest/get-query-params.js.map +1 -0
- package/dist/services/erp-api-services/rest/rest-api-service.d.ts +2 -2
- package/dist/services/erp-api-services/rest/rest-api-service.d.ts.map +1 -1
- package/dist/services/erp-api-services/rest/rest-api-service.js +163 -0
- package/dist/services/erp-api-services/rest/rest-api-service.js.map +1 -0
- package/dist/services/erp-api-services/types.d.ts +2 -2
- package/dist/services/erp-api-services/types.d.ts.map +1 -1
- package/dist/services/erp-api-services/types.js +2 -0
- package/dist/services/erp-api-services/types.js.map +1 -0
- package/dist/services/mm-api-service/index.d.ts +6 -13
- package/dist/services/mm-api-service/index.d.ts.map +1 -1
- package/dist/services/mm-api-service/index.js +15 -0
- package/dist/services/mm-api-service/index.js.map +1 -0
- package/dist/services/mm-api-service/mm-api-service.d.ts +7 -13
- package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
- package/dist/services/mm-api-service/mm-api-service.js +519 -0
- package/dist/services/mm-api-service/mm-api-service.js.map +1 -0
- package/dist/services/mm-api-service/token-mgr.js +113 -0
- package/dist/services/mm-api-service/token-mgr.js.map +1 -0
- package/dist/services/mm-api-service/types/checkpoint.js +2 -0
- package/dist/services/mm-api-service/types/checkpoint.js.map +1 -0
- package/dist/services/mm-api-service/types/entity-transformer.d.ts +2 -2
- package/dist/services/mm-api-service/types/entity-transformer.d.ts.map +1 -1
- package/dist/services/mm-api-service/types/entity-transformer.js +186 -0
- package/dist/services/mm-api-service/types/entity-transformer.js.map +1 -0
- package/dist/services/mm-api-service/types/mm-response-interfaces.js +34 -0
- package/dist/services/mm-api-service/types/mm-response-interfaces.js.map +1 -0
- package/dist/services/mm-api-service/types/receive-types.d.ts +0 -3
- package/dist/services/mm-api-service/types/receive-types.d.ts.map +1 -1
- package/dist/services/mm-api-service/types/receive-types.js +55 -0
- package/dist/services/mm-api-service/types/receive-types.js.map +1 -0
- package/dist/services/mm-api-service/types/send-types.js +337 -0
- package/dist/services/mm-api-service/types/send-types.js.map +1 -0
- package/dist/services/psql-erp-service/configuration.js +2 -0
- package/dist/services/psql-erp-service/configuration.js.map +1 -0
- package/dist/services/psql-erp-service/index.d.ts +3 -3
- package/dist/services/psql-erp-service/index.d.ts.map +1 -1
- package/dist/services/psql-erp-service/index.js +10 -0
- package/dist/services/psql-erp-service/index.js.map +1 -0
- package/dist/services/psql-erp-service/internal/types/psql-types.js +5 -0
- package/dist/services/psql-erp-service/internal/types/psql-types.js.map +1 -0
- package/dist/services/psql-erp-service/psql-helpers.js +99 -0
- package/dist/services/psql-erp-service/psql-helpers.js.map +1 -0
- package/dist/services/psql-erp-service/psql-service.d.ts +2 -2
- package/dist/services/psql-erp-service/psql-service.d.ts.map +1 -1
- package/dist/services/psql-erp-service/psql-service.js +187 -0
- package/dist/services/psql-erp-service/psql-service.js.map +1 -0
- package/dist/services/reporting-service/index.d.ts +1 -1
- package/dist/services/reporting-service/index.d.ts.map +1 -1
- package/dist/services/reporting-service/index.js +5 -0
- package/dist/services/reporting-service/index.js.map +1 -0
- package/dist/services/reporting-service/logger.d.ts.map +1 -1
- package/dist/services/reporting-service/logger.js +221 -0
- package/dist/services/reporting-service/logger.js.map +1 -0
- package/dist/services/sql-server-erp-service/configuration.js +2 -0
- package/dist/services/sql-server-erp-service/configuration.js.map +1 -0
- package/dist/services/sql-server-erp-service/index.d.ts +3 -3
- package/dist/services/sql-server-erp-service/index.d.ts.map +1 -1
- package/dist/services/sql-server-erp-service/index.js +11 -0
- package/dist/services/sql-server-erp-service/index.js.map +1 -0
- package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts +2 -2
- package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts.map +1 -1
- package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js +50 -0
- package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js.map +1 -0
- package/dist/services/sql-server-erp-service/internal/sql-server-config.js +40 -0
- package/dist/services/sql-server-erp-service/internal/sql-server-config.js.map +1 -0
- package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js +36 -0
- package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js.map +1 -0
- package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js +2 -0
- package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js.map +1 -0
- package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts +3 -3
- package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts.map +1 -1
- package/dist/services/sql-server-erp-service/sql-server-helpers.js +66 -0
- package/dist/services/sql-server-erp-service/sql-server-helpers.js.map +1 -0
- package/dist/services/sql-server-erp-service/sql-server-service.d.ts +2 -2
- package/dist/services/sql-server-erp-service/sql-server-service.d.ts.map +1 -1
- package/dist/services/sql-server-erp-service/sql-server-service.js +154 -0
- package/dist/services/sql-server-erp-service/sql-server-service.js.map +1 -0
- package/dist/services/sql-server-erp-service/types/sql-input-param.js +2 -0
- package/dist/services/sql-server-erp-service/types/sql-input-param.js.map +1 -0
- package/dist/services/sqlite-service/index.d.ts +1 -1
- package/dist/services/sqlite-service/index.d.ts.map +1 -1
- package/dist/services/sqlite-service/index.js +2 -0
- package/dist/services/sqlite-service/index.js.map +1 -0
- package/dist/services/sqlite-service/sqlite-coordinator.js +60 -0
- package/dist/services/sqlite-service/sqlite-coordinator.js.map +1 -0
- package/dist/types/erp-connector.d.ts +9 -2
- package/dist/types/erp-connector.d.ts.map +1 -1
- package/dist/types/erp-connector.js +2 -0
- package/dist/types/erp-connector.js.map +1 -0
- package/dist/types/erp-types.js +13 -0
- package/dist/types/erp-types.js.map +1 -0
- package/dist/types/flattened-work-order.d.ts +99 -0
- package/dist/types/flattened-work-order.d.ts.map +1 -0
- package/dist/types/flattened-work-order.js +2 -0
- package/dist/types/flattened-work-order.js.map +1 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/application-initializer.js +55 -0
- package/dist/utils/application-initializer.js.map +1 -0
- package/dist/utils/cleanup-numbers.js +6 -0
- package/dist/utils/cleanup-numbers.js.map +1 -0
- package/dist/utils/connector-factory.d.ts +1 -1
- package/dist/utils/connector-factory.d.ts.map +1 -1
- package/dist/utils/connector-factory.js +34 -0
- package/dist/utils/connector-factory.js.map +1 -0
- package/dist/utils/connector-log/log-deduper.d.ts +1 -1
- package/dist/utils/connector-log/log-deduper.d.ts.map +1 -1
- package/dist/utils/connector-log/log-deduper.js +240 -0
- package/dist/utils/connector-log/log-deduper.js.map +1 -0
- package/dist/utils/connector-log/mm-connector-logger-example.d.ts +1 -0
- package/dist/utils/connector-log/mm-connector-logger-example.js +88 -0
- package/dist/utils/connector-log/mm-connector-logger-example.js.map +1 -0
- package/dist/utils/connector-log/mm-connector-logger.d.ts +1 -1
- package/dist/utils/connector-log/mm-connector-logger.d.ts.map +1 -1
- package/dist/utils/connector-log/mm-connector-logger.js +151 -0
- package/dist/utils/connector-log/mm-connector-logger.js.map +1 -0
- package/dist/utils/data-transformation.js +38 -0
- package/dist/utils/data-transformation.js.map +1 -0
- package/dist/utils/env.d.ts +8 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +58 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/erp-timezone-utils.d.ts +20 -0
- package/dist/utils/erp-timezone-utils.d.ts.map +1 -0
- package/dist/utils/erp-timezone-utils.js +75 -0
- package/dist/utils/erp-timezone-utils.js.map +1 -0
- package/dist/utils/erp-type-from-entity.d.ts +1 -1
- package/dist/utils/erp-type-from-entity.d.ts.map +1 -1
- package/dist/utils/erp-type-from-entity.js +6 -0
- package/dist/utils/erp-type-from-entity.js.map +1 -0
- package/dist/utils/error-utils.js +21 -0
- package/dist/utils/error-utils.js.map +1 -0
- package/dist/utils/http-client.js +189 -0
- package/dist/utils/http-client.js.map +1 -0
- package/dist/utils/index.d.ts +34 -38
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +66 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/local-data-store/database-lock.js +68 -0
- package/dist/utils/local-data-store/database-lock.js.map +1 -0
- package/dist/utils/local-data-store/jobs-shared-data.d.ts +2 -0
- package/dist/utils/local-data-store/jobs-shared-data.d.ts.map +1 -1
- package/dist/utils/local-data-store/jobs-shared-data.js +118 -0
- package/dist/utils/local-data-store/jobs-shared-data.js.map +1 -0
- package/dist/utils/mm-labor-ticket-helpers.d.ts +4 -5
- package/dist/utils/mm-labor-ticket-helpers.d.ts.map +1 -1
- package/dist/utils/mm-labor-ticket-helpers.js +28 -0
- package/dist/utils/mm-labor-ticket-helpers.js.map +1 -0
- package/dist/utils/removeExtraneousFields.d.ts +1 -1
- package/dist/utils/removeExtraneousFields.d.ts.map +1 -1
- package/dist/utils/removeExtraneousFields.js +16 -0
- package/dist/utils/removeExtraneousFields.js.map +1 -0
- package/dist/utils/removeIdFieldFromPayload.d.ts +1 -1
- package/dist/utils/removeIdFieldFromPayload.d.ts.map +1 -1
- package/dist/utils/removeIdFieldFromPayload.js +16 -0
- package/dist/utils/removeIdFieldFromPayload.js.map +1 -0
- package/dist/utils/resource-group.d.ts +1 -1
- package/dist/utils/resource-group.d.ts.map +1 -1
- package/dist/utils/resource-group.js +59 -0
- package/dist/utils/resource-group.js.map +1 -0
- package/dist/utils/standard-process-drivers/error-processor.d.ts +3 -3
- package/dist/utils/standard-process-drivers/error-processor.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/error-processor.js +262 -0
- package/dist/utils/standard-process-drivers/error-processor.js.map +1 -0
- package/dist/utils/standard-process-drivers/index.d.ts +3 -3
- package/dist/utils/standard-process-drivers/index.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/index.js +4 -0
- package/dist/utils/standard-process-drivers/index.js.map +1 -0
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts +16 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js +299 -0
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js.map +1 -0
- package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts +11 -5
- package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/mm-entity-processor.js +174 -0
- package/dist/utils/standard-process-drivers/mm-entity-processor.js.map +1 -0
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +12 -6
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.js +333 -0
- package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +1 -0
- package/dist/utils/time-utils.d.ts.map +1 -1
- package/dist/utils/time-utils.js +103 -0
- package/dist/utils/time-utils.js.map +1 -0
- package/dist/utils/timezone.js +105 -0
- package/dist/utils/timezone.js.map +1 -0
- package/dist/utils/trimObjectValues.js +11 -0
- package/dist/utils/trimObjectValues.js.map +1 -0
- package/dist/utils/uniqueRows.js +35 -0
- package/dist/utils/uniqueRows.js.map +1 -0
- package/package.json +8 -10
- package/src/index.ts +42 -45
- package/src/knexfile.ts +1 -0
- package/src/services/caching-service/batch-cache-manager.ts +2 -2
- package/src/services/caching-service/hashed-cache-manager.ts +5 -5
- package/src/services/caching-service/index.ts +1 -1
- package/src/services/caching-service/record-tracking-manager.ts +2 -2
- package/src/services/data-sync-service/configuration-manager.ts +52 -39
- package/src/services/data-sync-service/data-sync-service.ts +10 -19
- package/src/services/data-sync-service/index.ts +3 -3
- package/src/services/data-sync-service/jobs/clean-up-expired-cache.ts +5 -4
- package/src/services/data-sync-service/jobs/from-erp.ts +12 -6
- package/src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts +4 -3
- package/src/services/data-sync-service/jobs/run-migrations.ts +4 -3
- package/src/services/data-sync-service/jobs/to-erp.ts +5 -14
- package/src/services/erp-api-services/errors.ts +3 -3
- package/src/services/erp-api-services/graphql/graphql-service.ts +5 -5
- package/src/services/erp-api-services/index.ts +8 -8
- package/src/services/erp-api-services/rest/rest-api-service.ts +4 -4
- package/src/services/erp-api-services/types.ts +2 -2
- package/src/services/mm-api-service/index.ts +6 -14
- package/src/services/mm-api-service/mm-api-service.ts +13 -30
- package/src/services/mm-api-service/token-mgr.ts +4 -4
- package/src/services/mm-api-service/types/entity-transformer.ts +3 -3
- package/src/services/mm-api-service/types/receive-types.ts +0 -1
- package/src/services/psql-erp-service/index.ts +3 -3
- package/src/services/psql-erp-service/psql-service.ts +4 -4
- package/src/services/reporting-service/index.ts +1 -1
- package/src/services/reporting-service/logger.ts +116 -81
- package/src/services/sql-server-erp-service/index.ts +3 -3
- package/src/services/sql-server-erp-service/internal/sql-labor-ticket-operations.ts +2 -2
- package/src/services/sql-server-erp-service/internal/sql-transaction-manager.ts +1 -1
- package/src/services/sql-server-erp-service/sql-server-helpers.ts +6 -6
- package/src/services/sql-server-erp-service/sql-server-service.ts +4 -4
- package/src/services/sqlite-service/index.ts +1 -1
- package/src/services/sqlite-service/sqlite-coordinator.ts +2 -2
- package/src/types/erp-connector.ts +9 -2
- package/src/types/flattened-work-order.ts +108 -0
- package/src/types/index.ts +10 -2
- package/src/utils/application-initializer.ts +5 -5
- package/src/utils/connector-factory.ts +2 -2
- package/src/utils/connector-log/log-deduper.ts +2 -2
- package/src/utils/connector-log/mm-connector-logger.ts +3 -3
- package/src/utils/env.ts +75 -0
- package/src/utils/erp-timezone-utils.ts +99 -0
- package/src/utils/erp-type-from-entity.ts +1 -1
- package/src/utils/http-client.ts +5 -4
- package/src/utils/index.ts +38 -39
- package/src/utils/local-data-store/database-lock.ts +1 -1
- package/src/utils/local-data-store/jobs-shared-data.ts +2 -0
- package/src/utils/mm-labor-ticket-helpers.ts +12 -9
- package/src/utils/removeExtraneousFields.ts +1 -1
- package/src/utils/removeIdFieldFromPayload.ts +1 -1
- package/src/utils/resource-group.ts +2 -2
- package/src/utils/standard-process-drivers/error-processor.ts +5 -5
- package/src/utils/standard-process-drivers/index.ts +3 -3
- package/src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts +225 -69
- package/src/utils/standard-process-drivers/mm-entity-processor.ts +14 -8
- package/src/utils/standard-process-drivers/standard-process-drivers.ts +39 -25
- package/src/utils/time-utils.ts +14 -3
- package/src/utils/timezone.ts +2 -2
- package/dist/config-CvA-mFWF.js +0 -418
- package/dist/config-CvA-mFWF.js.map +0 -1
- package/dist/connector-factory-BPm2GVVF.js +0 -30
- package/dist/connector-factory-BPm2GVVF.js.map +0 -1
- package/dist/hashed-cache-manager-B15NN8hK.js +0 -322
- package/dist/hashed-cache-manager-B15NN8hK.js.map +0 -1
- package/dist/index-D8qO1NyK.js +0 -192
- package/dist/index-D8qO1NyK.js.map +0 -1
- package/dist/knexfile-Bng2Ru9c.js +0 -20
- package/dist/knexfile-Bng2Ru9c.js.map +0 -1
- package/dist/logger-BWw0_z9q.js +0 -17557
- package/dist/logger-BWw0_z9q.js.map +0 -1
- package/dist/mm-erp-sdk.js +0 -4978
- package/dist/mm-erp-sdk.js.map +0 -1
- package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts +0 -30
- package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts.map +0 -1
- package/dist/services/mm-api-service/company-info.d.ts +0 -13
- package/dist/services/mm-api-service/company-info.d.ts.map +0 -1
- package/dist/services/nats-service/nats-service.d.ts +0 -114
- package/dist/services/nats-service/nats-service.d.ts.map +0 -1
- package/dist/services/nats-service/test-nats-subscriber.d.ts +0 -6
- package/dist/services/nats-service/test-nats-subscriber.d.ts.map +0 -1
- package/dist/utils/error-formatter.d.ts +0 -19
- package/dist/utils/error-formatter.d.ts.map +0 -1
- package/src/services/data-sync-service/nats-labor-ticket-listener.ts +0 -342
- package/src/services/mm-api-service/company-info.ts +0 -87
- package/src/services/nats-service/nats-service.ts +0 -351
- package/src/services/nats-service/test-nats-subscriber.ts +0 -96
- package/src/utils/error-formatter.ts +0 -205
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { DateTime } from "luxon";
|
|
2
|
+
import logger from "../services/reporting-service/logger.js";
|
|
3
|
+
import { getCachedTimezoneName } from "./local-data-store/jobs-shared-data.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Retrieves the ERP timezone name that should have been cached during initialization.
|
|
7
|
+
* @throws Error when the timezone cache has not been populated.
|
|
8
|
+
*/
|
|
9
|
+
export function getERPTimezone(): string {
|
|
10
|
+
const timezone = getCachedTimezoneName();
|
|
11
|
+
if (!timezone) {
|
|
12
|
+
throw new Error(
|
|
13
|
+
"ERP timezone is not cached. Run getTimezoneOffsetAndPersist() to populate it."
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
return timezone;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Converts a UTC ISO-8601 datetime string to the ERP's local timezone (also ISO-8601).
|
|
21
|
+
* @param utcDateTime ISO-8601 datetime string representing UTC time.
|
|
22
|
+
* @param timezone Optional timezone override; defaults to the cached ERP timezone.
|
|
23
|
+
* @returns ISO-8601 string in the ERP timezone.
|
|
24
|
+
*/
|
|
25
|
+
export function convertUtcDateTimeToErpLocal(
|
|
26
|
+
utcDateTime: string,
|
|
27
|
+
timezone?: string
|
|
28
|
+
): string {
|
|
29
|
+
if (!utcDateTime) {
|
|
30
|
+
throw new Error("convertUtcDateTimeToErpLocal requires a non-empty UTC datetime string");
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const targetZone = timezone ?? getERPTimezone();
|
|
34
|
+
const parsedUtc = DateTime.fromISO(utcDateTime, { zone: "utc" });
|
|
35
|
+
if (!parsedUtc.isValid) {
|
|
36
|
+
throw new Error(
|
|
37
|
+
`Invalid UTC datetime "${utcDateTime}": ${parsedUtc.invalidReason}`
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const localized = parsedUtc.setZone(targetZone);
|
|
42
|
+
if (!localized.isValid) {
|
|
43
|
+
throw new Error(
|
|
44
|
+
`Unable to convert UTC datetime "${utcDateTime}" to target zone "${targetZone}": ${localized.invalidReason}`
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return localized.toISO();
|
|
49
|
+
} catch (error) {
|
|
50
|
+
logger.error("convertUtcDateTimeToErpLocal: Failed to convert datetime", {
|
|
51
|
+
utcDateTime,
|
|
52
|
+
error,
|
|
53
|
+
});
|
|
54
|
+
throw new Error(
|
|
55
|
+
"Failed to convert UTC datetime to ERP local timezone. See logs for details."
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Converts an ERP-local ISO-8601 datetime string to UTC (still ISO-8601).
|
|
62
|
+
* @param localDateTime ISO-8601 datetime string representing ERP local time.
|
|
63
|
+
* @param timezone Optional timezone override; defaults to the cached ERP timezone.
|
|
64
|
+
* @returns ISO-8601 string in UTC.
|
|
65
|
+
*/
|
|
66
|
+
export function convertErpLocalDateTimeToUtc(
|
|
67
|
+
localDateTime: string,
|
|
68
|
+
timezone?: string
|
|
69
|
+
): string {
|
|
70
|
+
if (!localDateTime) {
|
|
71
|
+
throw new Error("convertErpLocalDateTimeToUtc requires a non-empty local datetime string");
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
const sourceZone = timezone ?? getERPTimezone();
|
|
75
|
+
const parsedLocal = DateTime.fromISO(localDateTime, { zone: sourceZone });
|
|
76
|
+
if (!parsedLocal.isValid) {
|
|
77
|
+
throw new Error(
|
|
78
|
+
`Invalid ERP local datetime "${localDateTime}" for zone "${sourceZone}": ${parsedLocal.invalidReason}`
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const utcDateTime = parsedLocal.setZone("utc");
|
|
83
|
+
if (!utcDateTime.isValid) {
|
|
84
|
+
throw new Error(
|
|
85
|
+
`Unable to convert ERP local datetime "${localDateTime}" to UTC: ${utcDateTime.invalidReason}`
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return utcDateTime.toISO();
|
|
90
|
+
} catch (error) {
|
|
91
|
+
logger.error("convertErpLocalDateTimeToUtc: Failed to convert datetime", {
|
|
92
|
+
localDateTime,
|
|
93
|
+
error,
|
|
94
|
+
});
|
|
95
|
+
throw new Error(
|
|
96
|
+
"Failed to convert ERP local datetime to UTC. See logs for details."
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
}
|
package/src/utils/http-client.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import axios, { AxiosError, AxiosInstance, AxiosRequestConfig } from "axios";
|
|
2
|
-
import logger from "../services/reporting-service/logger";
|
|
2
|
+
import logger from "../services/reporting-service/logger.js";
|
|
3
3
|
|
|
4
4
|
export class HTTPError extends Error {
|
|
5
5
|
constructor(
|
|
@@ -64,10 +64,9 @@ class AxiosClient implements HTTPClient {
|
|
|
64
64
|
* It can be convenient to set `baseURL` for an instance of axios to pass relative URLs to methods of that instance.
|
|
65
65
|
*/
|
|
66
66
|
constructor(baseUrl: string, retryAttempts: number) {
|
|
67
|
-
const timeout = parseInt(process.env.MM_API_TIMEOUT || "30000");
|
|
68
67
|
this.client = axios.create({
|
|
69
68
|
baseURL: baseUrl,
|
|
70
|
-
timeout:
|
|
69
|
+
timeout: 30000,
|
|
71
70
|
headers: {
|
|
72
71
|
"Content-Type": "application/json",
|
|
73
72
|
},
|
|
@@ -109,7 +108,7 @@ class AxiosClient implements HTTPClient {
|
|
|
109
108
|
params: config.params,
|
|
110
109
|
signal: controller.signal,
|
|
111
110
|
};
|
|
112
|
-
|
|
111
|
+
// MLW TODO
|
|
113
112
|
logger.info("HTTP request starting", {
|
|
114
113
|
url: config.url,
|
|
115
114
|
method: config.method,
|
|
@@ -128,8 +127,10 @@ class AxiosClient implements HTTPClient {
|
|
|
128
127
|
try {
|
|
129
128
|
for (let attempt = 0; attempt <= this.retryAttempts; attempt++) {
|
|
130
129
|
try {
|
|
130
|
+
// MLW TODO
|
|
131
131
|
logger.info(`HTTP request attempt ${attempt + 1}/${this.retryAttempts + 1}`);
|
|
132
132
|
const response = await this.client.request<T>(axiosConfig);
|
|
133
|
+
// MLW TODO
|
|
133
134
|
logger.info("HTTP request succeeded", { status: response.status });
|
|
134
135
|
return {
|
|
135
136
|
data: response.data,
|
package/src/utils/index.ts
CHANGED
|
@@ -1,93 +1,92 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Utility functions for data manipulation
|
|
3
3
|
*/
|
|
4
|
-
export { getUniqueRows } from "./uniqueRows";
|
|
5
|
-
export { removeExtraneousFields } from "./removeExtraneousFields";
|
|
6
|
-
export { getPayloadWithoutIDField } from "./removeIdFieldFromPayload";
|
|
7
|
-
export { trimObjectValues } from "./trimObjectValues";
|
|
8
|
-
export { cleanupNumbers } from "./cleanup-numbers";
|
|
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
9
|
export {
|
|
10
10
|
addNewFieldFromExternalSource,
|
|
11
11
|
addNewFieldFromLookupField,
|
|
12
|
-
} from "./data-transformation";
|
|
12
|
+
} from "./data-transformation.js";
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Timezone and time-related utilities
|
|
16
16
|
*/
|
|
17
|
-
export { getTimezoneOffsetAndPersist } from "./time-utils";
|
|
18
|
-
export { formatDateWithTZOffset, convertToLocalTime, toISOWithOffset } from "./timezone";
|
|
19
|
-
export { applyTimezoneOffsetsToFields } from "./time-utils";
|
|
20
|
-
export
|
|
17
|
+
export { getTimezoneOffsetAndPersist } from "./time-utils.js";
|
|
18
|
+
export { formatDateWithTZOffset, convertToLocalTime, toISOWithOffset } from "./timezone.js";
|
|
19
|
+
export { applyTimezoneOffsetsToFields } from "./time-utils.js";
|
|
20
|
+
export {
|
|
21
|
+
convertUtcDateTimeToErpLocal,
|
|
22
|
+
convertErpLocalDateTimeToUtc,
|
|
23
|
+
getERPTimezone,
|
|
24
|
+
} from "./erp-timezone-utils.js";
|
|
25
|
+
export * from "./time-utils.js";
|
|
21
26
|
|
|
22
27
|
/**
|
|
23
28
|
* Caching and record tracking utilities
|
|
24
29
|
*/
|
|
25
|
-
export { RecordTrackingManager } from "../services/caching-service/record-tracking-manager";
|
|
26
|
-
export type { RecordTrackingObject } from "../services/caching-service/record-tracking-manager";
|
|
27
|
-
export { HashedCacheManager } from "../services/caching-service/hashed-cache-manager";
|
|
28
|
-
export { BatchCacheManager } from "../services/caching-service/batch-cache-manager";
|
|
30
|
+
export { RecordTrackingManager } from "../services/caching-service/record-tracking-manager.js";
|
|
31
|
+
export type { RecordTrackingObject } from "../services/caching-service/record-tracking-manager.js";
|
|
32
|
+
export { HashedCacheManager } from "../services/caching-service/hashed-cache-manager.js";
|
|
33
|
+
export { BatchCacheManager } from "../services/caching-service/batch-cache-manager.js";
|
|
29
34
|
|
|
30
35
|
/**
|
|
31
36
|
* Process and data transformation utilities
|
|
32
37
|
*/
|
|
33
|
-
export { StandardProcessDrivers } from "./standard-process-drivers/";
|
|
34
|
-
export type { WriteEntitiesToMMResult } from "./standard-process-drivers/";
|
|
35
|
-
export { MMBatchValidationError } from "./standard-process-drivers/";
|
|
38
|
+
export { StandardProcessDrivers } from "./standard-process-drivers/index.js";
|
|
39
|
+
export type { WriteEntitiesToMMResult } from "./standard-process-drivers/index.js";
|
|
40
|
+
export { MMBatchValidationError } from "./standard-process-drivers/index.js";
|
|
36
41
|
export {
|
|
37
42
|
getCachedTimezoneOffset,
|
|
38
43
|
getCachedTimezoneName,
|
|
39
|
-
} from "./local-data-store/jobs-shared-data";
|
|
44
|
+
} from "./local-data-store/jobs-shared-data.js";
|
|
40
45
|
|
|
41
46
|
// Local data store
|
|
42
47
|
export {
|
|
43
48
|
getInitialLoadComplete,
|
|
44
49
|
setInitialLoadComplete,
|
|
45
|
-
} from "./local-data-store/jobs-shared-data";
|
|
50
|
+
} from "./local-data-store/jobs-shared-data.js";
|
|
46
51
|
|
|
47
52
|
/**
|
|
48
53
|
* ERP API utilities
|
|
49
54
|
*/
|
|
50
|
-
export * from "../services/erp-api-services/rest/rest-api-service";
|
|
51
|
-
export * from "../services/erp-api-services/rest/get-query-params";
|
|
52
|
-
export { getERPAPITypeFromEntity } from "./erp-type-from-entity";
|
|
55
|
+
export * from "../services/erp-api-services/rest/rest-api-service.js";
|
|
56
|
+
export * from "../services/erp-api-services/rest/get-query-params.js";
|
|
57
|
+
export { getERPAPITypeFromEntity } from "./erp-type-from-entity.js";
|
|
53
58
|
|
|
54
59
|
/**
|
|
55
60
|
* HTTP Client utilities
|
|
56
61
|
*/
|
|
57
|
-
export { HTTPClientFactory } from "./http-client";
|
|
58
|
-
export { HTTPError } from "./http-client";
|
|
59
|
-
export type { HTTPClient, HTTPRequestConfig, HTTPResponse } from "./http-client";
|
|
62
|
+
export { HTTPClientFactory } from "./http-client.js";
|
|
63
|
+
export { HTTPError } from "./http-client.js";
|
|
64
|
+
export type { HTTPClient, HTTPRequestConfig, HTTPResponse } from "./http-client.js";
|
|
60
65
|
|
|
61
66
|
/**
|
|
62
67
|
* MM Labor Ticket utilities
|
|
63
68
|
*/
|
|
64
|
-
export * from "./mm-labor-ticket-helpers";
|
|
65
|
-
export { getErrorType } from './error-utils';
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Error formatting utilities
|
|
69
|
-
*/
|
|
70
|
-
export { formatError, formatErrorForLogging } from './error-formatter';
|
|
71
|
-
export type { FormattedError } from './error-formatter';
|
|
69
|
+
export * from "./mm-labor-ticket-helpers.js";
|
|
70
|
+
export { getErrorType } from './error-utils.js';
|
|
72
71
|
|
|
73
72
|
/**
|
|
74
73
|
* MM Connector Logger utilities
|
|
75
74
|
*/
|
|
76
|
-
export { MMConnectorLogger, LogEntry, type LogResponse, type LogLevelString } from './connector-log/mm-connector-logger';
|
|
77
|
-
export { FileLogDeduper } from './connector-log/log-deduper';
|
|
75
|
+
export { MMConnectorLogger, LogEntry, type LogResponse, type LogLevelString } from './connector-log/mm-connector-logger.js';
|
|
76
|
+
export { FileLogDeduper } from './connector-log/log-deduper.js';
|
|
78
77
|
|
|
79
78
|
/**
|
|
80
79
|
* Application initializer
|
|
81
80
|
*/
|
|
82
|
-
export * from "./application-initializer";
|
|
81
|
+
export * from "./application-initializer.js";
|
|
83
82
|
|
|
84
83
|
/**
|
|
85
84
|
* GraphQL utilities
|
|
86
85
|
*/
|
|
87
|
-
export { GraphQLService } from "../services/erp-api-services/graphql/graphql-service";
|
|
88
|
-
export { OAuthClient } from "../services/erp-api-services/oauth-client";
|
|
86
|
+
export { GraphQLService } from "../services/erp-api-services/graphql/graphql-service.js";
|
|
87
|
+
export { OAuthClient } from "../services/erp-api-services/oauth-client.js";
|
|
89
88
|
|
|
90
89
|
/**
|
|
91
90
|
* Connector factory utilities
|
|
92
91
|
*/
|
|
93
|
-
export { createConnectorFromPath } from "./connector-factory";
|
|
92
|
+
export { createConnectorFromPath } from "./connector-factory.js";
|
|
@@ -72,6 +72,8 @@ export const setInitialLoadComplete = (complete: boolean): void => {
|
|
|
72
72
|
};
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
|
+
* @deprecated The cached numeric offset cannot account for DST changes.
|
|
76
|
+
* Prefer using the cached timezone name with Luxon helpers for conversions.
|
|
75
77
|
* Gets the company's cached current timezone offset (e.g., -5)
|
|
76
78
|
* @returns The cached timezone offset or 0 if not found
|
|
77
79
|
*/
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { MMReceiveLaborTicket } from "../services/mm-api-service/types/receive-types.js";
|
|
2
|
+
import { convertUtcDateTimeToErpLocal, getERPTimezone } from "./erp-timezone-utils.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Converts key datetime fields from UTC (MachineMetrics API) to the ERP's local timezone.
|
|
6
|
+
* All inputs/outputs are ISO-8601 strings, and invalid inputs throw errors.
|
|
7
7
|
* @param laborTicket The MMApiReceiveLaborTicket object to convert
|
|
8
|
-
* @param timezoneOffset The timezone offset to apply
|
|
9
8
|
*/
|
|
10
9
|
export function convertLaborTicketToLocalTimezone(
|
|
11
|
-
laborTicket: MMReceiveLaborTicket
|
|
12
|
-
timezoneOffset: number
|
|
10
|
+
laborTicket: MMReceiveLaborTicket
|
|
13
11
|
): MMReceiveLaborTicket {
|
|
14
12
|
const timeFields = [
|
|
15
13
|
"clockIn",
|
|
@@ -20,9 +18,14 @@ export function convertLaborTicketToLocalTimezone(
|
|
|
20
18
|
"workOrderOperationClosedDate",
|
|
21
19
|
] as const;
|
|
22
20
|
|
|
21
|
+
const timezone = getERPTimezone();
|
|
23
22
|
timeFields.forEach((field) => {
|
|
24
|
-
const
|
|
25
|
-
|
|
23
|
+
const value = laborTicket[field];
|
|
24
|
+
if (value) {
|
|
25
|
+
laborTicket[field] = convertUtcDateTimeToErpLocal(value, timezone);
|
|
26
|
+
} else {
|
|
27
|
+
laborTicket[field] = null;
|
|
28
|
+
}
|
|
26
29
|
});
|
|
27
30
|
return laborTicket;
|
|
28
31
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import logger from "../services/reporting-service/logger";
|
|
1
|
+
import logger from "../services/reporting-service/logger.js";
|
|
2
2
|
import {
|
|
3
3
|
MMApiClient,
|
|
4
4
|
MMGraphQLResourceResponse,
|
|
5
5
|
MMMachineGroupsResponse,
|
|
6
|
-
} from "../services/mm-api-service";
|
|
6
|
+
} from "../services/mm-api-service/index.js";
|
|
7
7
|
|
|
8
8
|
// The GraphQLResourceTypes interface has been replaced by the centralized
|
|
9
9
|
// MM response interfaces: MMGraphQLResourceResponse and MMMachineGroupsResponse
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ERPObjType } from "../../types/erp-types";
|
|
2
|
-
import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager";
|
|
1
|
+
import { ERPObjType } from "../../types/erp-types.js";
|
|
2
|
+
import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager.js";
|
|
3
3
|
import {
|
|
4
4
|
IToRESTApiObject,
|
|
5
5
|
MM207NonLaborTicketResponse,
|
|
6
6
|
MM207LaborTicketResponse,
|
|
7
|
-
} from "../../services/mm-api-service";
|
|
8
|
-
import { EntityTransformer } from "../../services/mm-api-service/types/entity-transformer";
|
|
9
|
-
import logger from "../../services/reporting-service/logger";
|
|
7
|
+
} from "../../services/mm-api-service/index.js";
|
|
8
|
+
import { EntityTransformer } from "../../services/mm-api-service/types/entity-transformer.js";
|
|
9
|
+
import logger from "../../services/reporting-service/logger.js";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Handles error processing and record management utilities for MM API operations
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Public exports for standard-process-drivers
|
|
2
|
-
export { StandardProcessDrivers } from "./standard-process-drivers";
|
|
3
|
-
export type { WriteEntitiesToMMResult } from "./standard-process-drivers";
|
|
4
|
-
export { MMBatchValidationError } from "./standard-process-drivers";
|
|
2
|
+
export { StandardProcessDrivers } from "./standard-process-drivers.js";
|
|
3
|
+
export type { WriteEntitiesToMMResult } from "./standard-process-drivers.js";
|
|
4
|
+
export { MMBatchValidationError } from "./standard-process-drivers.js";
|