@machinemetrics/mm-erp-sdk 0.2.0-beta.0 → 0.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -5
- package/dist/config-CvA-mFWF.js +418 -0
- package/dist/config-CvA-mFWF.js.map +1 -0
- package/dist/connector-factory-BPm2GVVF.js +30 -0
- package/dist/connector-factory-BPm2GVVF.js.map +1 -0
- package/dist/hashed-cache-manager-B15NN8hK.js +322 -0
- package/dist/hashed-cache-manager-B15NN8hK.js.map +1 -0
- package/dist/index-D8qO1NyK.js +192 -0
- package/dist/index-D8qO1NyK.js.map +1 -0
- package/dist/index.d.ts +43 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/knexfile-Bng2Ru9c.js +20 -0
- package/dist/knexfile-Bng2Ru9c.js.map +1 -0
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/logger-BWw0_z9q.js +17557 -0
- package/dist/logger-BWw0_z9q.js.map +1 -0
- package/dist/migrations/20241015162631_create_cache_table.js +15 -11
- package/dist/migrations/20241015162631_create_cache_table.js.map +1 -1
- package/dist/migrations/20241015162632_create_sdk_cache_table.js +15 -11
- package/dist/migrations/20241015162632_create_sdk_cache_table.js.map +1 -1
- package/dist/migrations/20250103162631_create_record_tracking_table.js +15 -14
- package/dist/migrations/20250103162631_create_record_tracking_table.js.map +1 -1
- package/dist/mm-erp-sdk.js +4978 -0
- package/dist/mm-erp-sdk.js.map +1 -0
- 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/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/index.d.ts +1 -1
- package/dist/services/caching-service/index.d.ts.map +1 -1
- 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/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/data-sync-service.d.ts.map +1 -1
- 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/jobs/clean-up-expired-cache.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js +40 -42
- 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 +37 -50
- 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 +36 -38
- 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 +22 -24
- 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 +46 -50
- package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
- package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts +30 -0
- package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts.map +1 -0
- 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/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/index.d.ts +8 -8
- package/dist/services/erp-api-services/index.d.ts.map +1 -1
- 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/types.d.ts +2 -2
- package/dist/services/erp-api-services/types.d.ts.map +1 -1
- package/dist/services/mm-api-service/company-info.d.ts +13 -0
- package/dist/services/mm-api-service/company-info.d.ts.map +1 -0
- package/dist/services/mm-api-service/index.d.ts +13 -6
- package/dist/services/mm-api-service/index.d.ts.map +1 -1
- package/dist/services/mm-api-service/mm-api-service.d.ts +13 -7
- package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
- 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/receive-types.d.ts +3 -0
- package/dist/services/mm-api-service/types/receive-types.d.ts.map +1 -1
- package/dist/services/nats-service/nats-service.d.ts +114 -0
- package/dist/services/nats-service/nats-service.d.ts.map +1 -0
- package/dist/services/nats-service/test-nats-subscriber.d.ts +6 -0
- package/dist/services/nats-service/test-nats-subscriber.d.ts.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/psql-service.d.ts +2 -2
- package/dist/services/psql-erp-service/psql-service.d.ts.map +1 -1
- 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/logger.d.ts.map +1 -1
- 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/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/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-service.d.ts +2 -2
- package/dist/services/sql-server-erp-service/sql-server-service.d.ts.map +1 -1
- package/dist/services/sqlite-service/index.d.ts +1 -1
- package/dist/services/sqlite-service/index.d.ts.map +1 -1
- package/dist/types/erp-connector.d.ts +2 -9
- package/dist/types/erp-connector.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/connector-factory.d.ts +1 -1
- package/dist/utils/connector-factory.d.ts.map +1 -1
- 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/mm-connector-logger-example.d.ts +0 -1
- 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/erp-type-from-entity.d.ts +1 -1
- package/dist/utils/erp-type-from-entity.d.ts.map +1 -1
- package/dist/utils/error-formatter.d.ts +19 -0
- package/dist/utils/error-formatter.d.ts.map +1 -0
- package/dist/utils/index.d.ts +38 -34
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/local-data-store/jobs-shared-data.d.ts +0 -2
- package/dist/utils/local-data-store/jobs-shared-data.d.ts.map +1 -1
- package/dist/utils/mm-labor-ticket-helpers.d.ts +5 -4
- package/dist/utils/mm-labor-ticket-helpers.d.ts.map +1 -1
- package/dist/utils/removeExtraneousFields.d.ts +1 -1
- package/dist/utils/removeExtraneousFields.d.ts.map +1 -1
- package/dist/utils/removeIdFieldFromPayload.d.ts +1 -1
- package/dist/utils/removeIdFieldFromPayload.d.ts.map +1 -1
- package/dist/utils/resource-group.d.ts +1 -1
- package/dist/utils/resource-group.d.ts.map +1 -1
- 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/index.d.ts +3 -3
- package/dist/utils/standard-process-drivers/index.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts +1 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts +5 -11
- package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +6 -12
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
- package/dist/utils/time-utils.d.ts.map +1 -1
- package/package.json +10 -8
- package/src/index.ts +45 -42
- package/src/knexfile.ts +0 -1
- 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 +39 -52
- package/src/services/data-sync-service/data-sync-service.ts +19 -10
- package/src/services/data-sync-service/index.ts +3 -3
- package/src/services/data-sync-service/jobs/clean-up-expired-cache.ts +4 -5
- package/src/services/data-sync-service/jobs/from-erp.ts +6 -12
- package/src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts +3 -4
- package/src/services/data-sync-service/jobs/run-migrations.ts +3 -4
- package/src/services/data-sync-service/jobs/to-erp.ts +8 -5
- package/src/services/data-sync-service/nats-labor-ticket-listener.ts +341 -0
- 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/company-info.ts +87 -0
- package/src/services/mm-api-service/index.ts +14 -6
- package/src/services/mm-api-service/mm-api-service.ts +30 -13
- 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 +1 -0
- package/src/services/nats-service/nats-service.ts +351 -0
- package/src/services/nats-service/test-nats-subscriber.ts +96 -0
- 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 +81 -116
- 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 +2 -9
- package/src/types/index.ts +2 -10
- 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/erp-type-from-entity.ts +1 -1
- package/src/utils/error-formatter.ts +205 -0
- package/src/utils/http-client.ts +3 -2
- package/src/utils/index.ts +39 -38
- package/src/utils/local-data-store/database-lock.ts +1 -1
- package/src/utils/local-data-store/jobs-shared-data.ts +0 -2
- package/src/utils/mm-labor-ticket-helpers.ts +9 -12
- 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 +11 -16
- package/src/utils/standard-process-drivers/mm-entity-processor.ts +8 -14
- package/src/utils/standard-process-drivers/standard-process-drivers.ts +25 -39
- package/src/utils/time-utils.ts +3 -14
- package/src/utils/timezone.ts +2 -2
- package/dist/index.js +0 -48
- package/dist/index.js.map +0 -1
- package/dist/knexfile.js +0 -19
- package/dist/knexfile.js.map +0 -1
- package/dist/migrations/20241015162631_create_cache_table.d.ts +0 -4
- package/dist/migrations/20241015162631_create_cache_table.d.ts.map +0 -1
- package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts +0 -4
- package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts.map +0 -1
- package/dist/migrations/20250103162631_create_record_tracking_table.d.ts +0 -4
- package/dist/migrations/20250103162631_create_record_tracking_table.d.ts.map +0 -1
- package/dist/services/caching-service/batch-cache-manager.js +0 -84
- package/dist/services/caching-service/batch-cache-manager.js.map +0 -1
- package/dist/services/caching-service/hashed-cache-manager.js +0 -223
- package/dist/services/caching-service/hashed-cache-manager.js.map +0 -1
- package/dist/services/caching-service/index.js +0 -2
- package/dist/services/caching-service/index.js.map +0 -1
- package/dist/services/caching-service/record-tracking-manager.js +0 -28
- package/dist/services/caching-service/record-tracking-manager.js.map +0 -1
- package/dist/services/data-sync-service/configuration-manager.js +0 -163
- package/dist/services/data-sync-service/configuration-manager.js.map +0 -1
- package/dist/services/data-sync-service/data-sync-service.js +0 -95
- package/dist/services/data-sync-service/data-sync-service.js.map +0 -1
- package/dist/services/data-sync-service/index.js +0 -10
- package/dist/services/data-sync-service/index.js.map +0 -1
- package/dist/services/erp-api-services/errors.js +0 -83
- package/dist/services/erp-api-services/errors.js.map +0 -1
- package/dist/services/erp-api-services/graphql/graphql-service.js +0 -102
- package/dist/services/erp-api-services/graphql/graphql-service.js.map +0 -1
- package/dist/services/erp-api-services/graphql/types.js +0 -6
- package/dist/services/erp-api-services/graphql/types.js.map +0 -1
- package/dist/services/erp-api-services/index.js +0 -13
- package/dist/services/erp-api-services/index.js.map +0 -1
- package/dist/services/erp-api-services/oauth-client.js +0 -41
- package/dist/services/erp-api-services/oauth-client.js.map +0 -1
- package/dist/services/erp-api-services/rest/get-query-params.js +0 -23
- package/dist/services/erp-api-services/rest/get-query-params.js.map +0 -1
- package/dist/services/erp-api-services/rest/rest-api-service.js +0 -163
- package/dist/services/erp-api-services/rest/rest-api-service.js.map +0 -1
- package/dist/services/erp-api-services/types.js +0 -2
- package/dist/services/erp-api-services/types.js.map +0 -1
- package/dist/services/mm-api-service/index.js +0 -15
- package/dist/services/mm-api-service/index.js.map +0 -1
- package/dist/services/mm-api-service/mm-api-service.js +0 -519
- package/dist/services/mm-api-service/mm-api-service.js.map +0 -1
- package/dist/services/mm-api-service/token-mgr.js +0 -113
- package/dist/services/mm-api-service/token-mgr.js.map +0 -1
- package/dist/services/mm-api-service/types/checkpoint.js +0 -2
- package/dist/services/mm-api-service/types/checkpoint.js.map +0 -1
- package/dist/services/mm-api-service/types/entity-transformer.js +0 -186
- package/dist/services/mm-api-service/types/entity-transformer.js.map +0 -1
- package/dist/services/mm-api-service/types/mm-response-interfaces.js +0 -34
- package/dist/services/mm-api-service/types/mm-response-interfaces.js.map +0 -1
- package/dist/services/mm-api-service/types/receive-types.js +0 -55
- package/dist/services/mm-api-service/types/receive-types.js.map +0 -1
- package/dist/services/mm-api-service/types/send-types.js +0 -337
- package/dist/services/mm-api-service/types/send-types.js.map +0 -1
- package/dist/services/psql-erp-service/configuration.js +0 -2
- package/dist/services/psql-erp-service/configuration.js.map +0 -1
- package/dist/services/psql-erp-service/index.js +0 -10
- package/dist/services/psql-erp-service/index.js.map +0 -1
- package/dist/services/psql-erp-service/internal/types/psql-types.js +0 -5
- package/dist/services/psql-erp-service/internal/types/psql-types.js.map +0 -1
- package/dist/services/psql-erp-service/psql-helpers.js +0 -99
- package/dist/services/psql-erp-service/psql-helpers.js.map +0 -1
- package/dist/services/psql-erp-service/psql-service.js +0 -187
- package/dist/services/psql-erp-service/psql-service.js.map +0 -1
- package/dist/services/reporting-service/index.js +0 -5
- package/dist/services/reporting-service/index.js.map +0 -1
- package/dist/services/reporting-service/logger.js +0 -221
- package/dist/services/reporting-service/logger.js.map +0 -1
- package/dist/services/sql-server-erp-service/configuration.js +0 -2
- package/dist/services/sql-server-erp-service/configuration.js.map +0 -1
- package/dist/services/sql-server-erp-service/index.js +0 -11
- package/dist/services/sql-server-erp-service/index.js.map +0 -1
- package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js +0 -50
- package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js.map +0 -1
- package/dist/services/sql-server-erp-service/internal/sql-server-config.js +0 -40
- package/dist/services/sql-server-erp-service/internal/sql-server-config.js.map +0 -1
- package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js +0 -36
- package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js.map +0 -1
- package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js +0 -2
- package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js.map +0 -1
- package/dist/services/sql-server-erp-service/sql-server-helpers.js +0 -66
- package/dist/services/sql-server-erp-service/sql-server-helpers.js.map +0 -1
- package/dist/services/sql-server-erp-service/sql-server-service.js +0 -154
- package/dist/services/sql-server-erp-service/sql-server-service.js.map +0 -1
- package/dist/services/sql-server-erp-service/types/sql-input-param.js +0 -2
- package/dist/services/sql-server-erp-service/types/sql-input-param.js.map +0 -1
- package/dist/services/sqlite-service/index.js +0 -2
- package/dist/services/sqlite-service/index.js.map +0 -1
- package/dist/services/sqlite-service/sqlite-coordinator.js +0 -60
- package/dist/services/sqlite-service/sqlite-coordinator.js.map +0 -1
- package/dist/types/erp-connector.js +0 -2
- package/dist/types/erp-connector.js.map +0 -1
- package/dist/types/erp-types.js +0 -13
- package/dist/types/erp-types.js.map +0 -1
- package/dist/types/flattened-work-order.d.ts +0 -99
- package/dist/types/flattened-work-order.d.ts.map +0 -1
- package/dist/types/flattened-work-order.js +0 -2
- package/dist/types/flattened-work-order.js.map +0 -1
- package/dist/types/index.js +0 -6
- package/dist/types/index.js.map +0 -1
- package/dist/utils/application-initializer.js +0 -55
- package/dist/utils/application-initializer.js.map +0 -1
- package/dist/utils/cleanup-numbers.js +0 -6
- package/dist/utils/cleanup-numbers.js.map +0 -1
- package/dist/utils/connector-factory.js +0 -34
- package/dist/utils/connector-factory.js.map +0 -1
- package/dist/utils/connector-log/log-deduper.js +0 -240
- package/dist/utils/connector-log/log-deduper.js.map +0 -1
- package/dist/utils/connector-log/mm-connector-logger-example.js +0 -88
- package/dist/utils/connector-log/mm-connector-logger-example.js.map +0 -1
- package/dist/utils/connector-log/mm-connector-logger.js +0 -151
- package/dist/utils/connector-log/mm-connector-logger.js.map +0 -1
- package/dist/utils/data-transformation.js +0 -38
- package/dist/utils/data-transformation.js.map +0 -1
- package/dist/utils/env.d.ts +0 -8
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -58
- package/dist/utils/env.js.map +0 -1
- package/dist/utils/erp-timezone-utils.d.ts +0 -20
- package/dist/utils/erp-timezone-utils.d.ts.map +0 -1
- package/dist/utils/erp-timezone-utils.js +0 -75
- package/dist/utils/erp-timezone-utils.js.map +0 -1
- package/dist/utils/erp-type-from-entity.js +0 -6
- package/dist/utils/erp-type-from-entity.js.map +0 -1
- package/dist/utils/error-utils.js +0 -21
- package/dist/utils/error-utils.js.map +0 -1
- package/dist/utils/http-client.js +0 -186
- package/dist/utils/http-client.js.map +0 -1
- package/dist/utils/index.js +0 -66
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/local-data-store/database-lock.js +0 -68
- package/dist/utils/local-data-store/database-lock.js.map +0 -1
- package/dist/utils/local-data-store/jobs-shared-data.js +0 -118
- package/dist/utils/local-data-store/jobs-shared-data.js.map +0 -1
- package/dist/utils/mm-labor-ticket-helpers.js +0 -28
- package/dist/utils/mm-labor-ticket-helpers.js.map +0 -1
- package/dist/utils/removeExtraneousFields.js +0 -16
- package/dist/utils/removeExtraneousFields.js.map +0 -1
- package/dist/utils/removeIdFieldFromPayload.js +0 -16
- package/dist/utils/removeIdFieldFromPayload.js.map +0 -1
- package/dist/utils/resource-group.js +0 -59
- package/dist/utils/resource-group.js.map +0 -1
- package/dist/utils/standard-process-drivers/error-processor.js +0 -262
- package/dist/utils/standard-process-drivers/error-processor.js.map +0 -1
- package/dist/utils/standard-process-drivers/index.js +0 -4
- package/dist/utils/standard-process-drivers/index.js.map +0 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js +0 -173
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js.map +0 -1
- package/dist/utils/standard-process-drivers/mm-entity-processor.js +0 -174
- package/dist/utils/standard-process-drivers/mm-entity-processor.js.map +0 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.js +0 -333
- package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +0 -1
- package/dist/utils/time-utils.js +0 -103
- package/dist/utils/time-utils.js.map +0 -1
- package/dist/utils/timezone.js +0 -105
- package/dist/utils/timezone.js.map +0 -1
- package/dist/utils/trimObjectValues.js +0 -11
- package/dist/utils/trimObjectValues.js.map +0 -1
- package/dist/utils/uniqueRows.js +0 -35
- package/dist/utils/uniqueRows.js.map +0 -1
- package/src/types/flattened-work-order.ts +0 -108
- package/src/utils/env.ts +0 -75
- package/src/utils/erp-timezone-utils.ts +0 -99
package/src/utils/index.ts
CHANGED
|
@@ -1,92 +1,93 @@
|
|
|
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";
|
|
5
|
+
export { removeExtraneousFields } from "./removeExtraneousFields";
|
|
6
|
+
export { getPayloadWithoutIDField } from "./removeIdFieldFromPayload";
|
|
7
|
+
export { trimObjectValues } from "./trimObjectValues";
|
|
8
|
+
export { cleanupNumbers } from "./cleanup-numbers";
|
|
9
9
|
export {
|
|
10
10
|
addNewFieldFromExternalSource,
|
|
11
11
|
addNewFieldFromLookupField,
|
|
12
|
-
} from "./data-transformation
|
|
12
|
+
} from "./data-transformation";
|
|
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
|
|
21
|
-
convertUtcDateTimeToErpLocal,
|
|
22
|
-
convertErpLocalDateTimeToUtc,
|
|
23
|
-
getERPTimezone,
|
|
24
|
-
} from "./erp-timezone-utils.js";
|
|
25
|
-
export * from "./time-utils.js";
|
|
17
|
+
export { getTimezoneOffsetAndPersist } from "./time-utils";
|
|
18
|
+
export { formatDateWithTZOffset, convertToLocalTime, toISOWithOffset } from "./timezone";
|
|
19
|
+
export { applyTimezoneOffsetsToFields } from "./time-utils";
|
|
20
|
+
export * from "./time-utils";
|
|
26
21
|
|
|
27
22
|
/**
|
|
28
23
|
* Caching and record tracking utilities
|
|
29
24
|
*/
|
|
30
|
-
export { RecordTrackingManager } from "../services/caching-service/record-tracking-manager
|
|
31
|
-
export type { RecordTrackingObject } from "../services/caching-service/record-tracking-manager
|
|
32
|
-
export { HashedCacheManager } from "../services/caching-service/hashed-cache-manager
|
|
33
|
-
export { BatchCacheManager } from "../services/caching-service/batch-cache-manager
|
|
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";
|
|
34
29
|
|
|
35
30
|
/**
|
|
36
31
|
* Process and data transformation utilities
|
|
37
32
|
*/
|
|
38
|
-
export { StandardProcessDrivers } from "./standard-process-drivers/
|
|
39
|
-
export type { WriteEntitiesToMMResult } from "./standard-process-drivers/
|
|
40
|
-
export { MMBatchValidationError } from "./standard-process-drivers/
|
|
33
|
+
export { StandardProcessDrivers } from "./standard-process-drivers/";
|
|
34
|
+
export type { WriteEntitiesToMMResult } from "./standard-process-drivers/";
|
|
35
|
+
export { MMBatchValidationError } from "./standard-process-drivers/";
|
|
41
36
|
export {
|
|
42
37
|
getCachedTimezoneOffset,
|
|
43
38
|
getCachedTimezoneName,
|
|
44
|
-
} from "./local-data-store/jobs-shared-data
|
|
39
|
+
} from "./local-data-store/jobs-shared-data";
|
|
45
40
|
|
|
46
41
|
// Local data store
|
|
47
42
|
export {
|
|
48
43
|
getInitialLoadComplete,
|
|
49
44
|
setInitialLoadComplete,
|
|
50
|
-
} from "./local-data-store/jobs-shared-data
|
|
45
|
+
} from "./local-data-store/jobs-shared-data";
|
|
51
46
|
|
|
52
47
|
/**
|
|
53
48
|
* ERP API utilities
|
|
54
49
|
*/
|
|
55
|
-
export * from "../services/erp-api-services/rest/rest-api-service
|
|
56
|
-
export * from "../services/erp-api-services/rest/get-query-params
|
|
57
|
-
export { getERPAPITypeFromEntity } from "./erp-type-from-entity
|
|
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";
|
|
58
53
|
|
|
59
54
|
/**
|
|
60
55
|
* HTTP Client utilities
|
|
61
56
|
*/
|
|
62
|
-
export { HTTPClientFactory } from "./http-client
|
|
63
|
-
export { HTTPError } from "./http-client
|
|
64
|
-
export type { HTTPClient, HTTPRequestConfig, HTTPResponse } from "./http-client
|
|
57
|
+
export { HTTPClientFactory } from "./http-client";
|
|
58
|
+
export { HTTPError } from "./http-client";
|
|
59
|
+
export type { HTTPClient, HTTPRequestConfig, HTTPResponse } from "./http-client";
|
|
65
60
|
|
|
66
61
|
/**
|
|
67
62
|
* MM Labor Ticket utilities
|
|
68
63
|
*/
|
|
69
|
-
export * from "./mm-labor-ticket-helpers
|
|
70
|
-
export { getErrorType } from './error-utils
|
|
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';
|
|
71
72
|
|
|
72
73
|
/**
|
|
73
74
|
* MM Connector Logger utilities
|
|
74
75
|
*/
|
|
75
|
-
export { MMConnectorLogger, LogEntry, type LogResponse, type LogLevelString } from './connector-log/mm-connector-logger
|
|
76
|
-
export { FileLogDeduper } from './connector-log/log-deduper
|
|
76
|
+
export { MMConnectorLogger, LogEntry, type LogResponse, type LogLevelString } from './connector-log/mm-connector-logger';
|
|
77
|
+
export { FileLogDeduper } from './connector-log/log-deduper';
|
|
77
78
|
|
|
78
79
|
/**
|
|
79
80
|
* Application initializer
|
|
80
81
|
*/
|
|
81
|
-
export * from "./application-initializer
|
|
82
|
+
export * from "./application-initializer";
|
|
82
83
|
|
|
83
84
|
/**
|
|
84
85
|
* GraphQL utilities
|
|
85
86
|
*/
|
|
86
|
-
export { GraphQLService } from "../services/erp-api-services/graphql/graphql-service
|
|
87
|
-
export { OAuthClient } from "../services/erp-api-services/oauth-client
|
|
87
|
+
export { GraphQLService } from "../services/erp-api-services/graphql/graphql-service";
|
|
88
|
+
export { OAuthClient } from "../services/erp-api-services/oauth-client";
|
|
88
89
|
|
|
89
90
|
/**
|
|
90
91
|
* Connector factory utilities
|
|
91
92
|
*/
|
|
92
|
-
export { createConnectorFromPath } from "./connector-factory
|
|
93
|
+
export { createConnectorFromPath } from "./connector-factory";
|
|
@@ -72,8 +72,6 @@ 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.
|
|
77
75
|
* Gets the company's cached current timezone offset (e.g., -5)
|
|
78
76
|
* @returns The cached timezone offset or 0 if not found
|
|
79
77
|
*/
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { convertToLocalTime, toISOWithOffset } from "./timezone";
|
|
2
|
+
import { MMReceiveLaborTicket } from "../services/mm-api-service/types/receive-types";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Apply timezone offsets to datetime fields specifically for the MMApiReceiveLaborTicket object from the Zulu-based MM API
|
|
6
|
+
* (presumably) before sending to the ERP
|
|
7
7
|
* @param laborTicket The MMApiReceiveLaborTicket object to convert
|
|
8
|
+
* @param timezoneOffset The timezone offset to apply
|
|
8
9
|
*/
|
|
9
10
|
export function convertLaborTicketToLocalTimezone(
|
|
10
|
-
laborTicket: MMReceiveLaborTicket
|
|
11
|
+
laborTicket: MMReceiveLaborTicket,
|
|
12
|
+
timezoneOffset: number
|
|
11
13
|
): MMReceiveLaborTicket {
|
|
12
14
|
const timeFields = [
|
|
13
15
|
"clockIn",
|
|
@@ -18,14 +20,9 @@ export function convertLaborTicketToLocalTimezone(
|
|
|
18
20
|
"workOrderOperationClosedDate",
|
|
19
21
|
] as const;
|
|
20
22
|
|
|
21
|
-
const timezone = getERPTimezone();
|
|
22
23
|
timeFields.forEach((field) => {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
laborTicket[field] = convertUtcDateTimeToErpLocal(value, timezone);
|
|
26
|
-
} else {
|
|
27
|
-
laborTicket[field] = null;
|
|
28
|
-
}
|
|
24
|
+
const localTime = convertToLocalTime(laborTicket[field], timezoneOffset);
|
|
25
|
+
laborTicket[field] = localTime ? toISOWithOffset(localTime, timezoneOffset) : null;
|
|
29
26
|
});
|
|
30
27
|
return laborTicket;
|
|
31
28
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import logger from "../services/reporting-service/logger
|
|
1
|
+
import logger from "../services/reporting-service/logger";
|
|
2
2
|
import {
|
|
3
3
|
MMApiClient,
|
|
4
4
|
MMGraphQLResourceResponse,
|
|
5
5
|
MMMachineGroupsResponse,
|
|
6
|
-
} from "../services/mm-api-service
|
|
6
|
+
} from "../services/mm-api-service";
|
|
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";
|
|
2
|
+
import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager";
|
|
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";
|
|
8
|
+
import { EntityTransformer } from "../../services/mm-api-service/types/entity-transformer";
|
|
9
|
+
import logger from "../../services/reporting-service/logger";
|
|
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";
|
|
3
|
+
export type { WriteEntitiesToMMResult } from "./standard-process-drivers";
|
|
4
|
+
export { MMBatchValidationError } from "./standard-process-drivers";
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { IERPLaborTicketHandler } from "../../types/erp-connector
|
|
2
|
-
import { MMApiClient } from "../../services/mm-api-service/mm-api-service
|
|
3
|
-
import { MMReceiveLaborTicket } from "../../services/mm-api-service/types/receive-types
|
|
4
|
-
import { convertLaborTicketToLocalTimezone } from "../mm-labor-ticket-helpers
|
|
5
|
-
import
|
|
1
|
+
import { IERPLaborTicketHandler } from "../../types/erp-connector";
|
|
2
|
+
import { MMApiClient } from "../../services/mm-api-service/mm-api-service";
|
|
3
|
+
import { MMReceiveLaborTicket } from "../../services/mm-api-service/types/receive-types";
|
|
4
|
+
import { convertLaborTicketToLocalTimezone } from "../mm-labor-ticket-helpers";
|
|
5
|
+
import { getCachedTimezoneOffset } from "../local-data-store/jobs-shared-data";
|
|
6
|
+
import logger from "../../services/reporting-service/logger";
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Handles synchronization of labor tickets between MachineMetrics and ERP systems
|
|
@@ -53,12 +54,9 @@ export class LaborTicketERPSynchronizer {
|
|
|
53
54
|
|
|
54
55
|
// Find the most recent updatedAt timestamp from labor tickets. This will be used to update
|
|
55
56
|
// the checkpoint to ensure there is no gap of time for the next sync.
|
|
56
|
-
// Consider, for instance, a time offset between an edge and the cloud, or that
|
|
57
|
-
// a DST change may have occurred between the last checkpoint and Now.
|
|
58
57
|
const mostRecentUpdate = laborTicketsUpdates.reduce(
|
|
59
58
|
(latest: string | null, ticket: MMReceiveLaborTicket) => {
|
|
60
|
-
if (!ticket.updatedAt) return latest;
|
|
61
|
-
if (!latest) return ticket.updatedAt; // Initialize on first valid value
|
|
59
|
+
if (!latest || !ticket.updatedAt) return latest;
|
|
62
60
|
return new Date(ticket.updatedAt) > new Date(latest)
|
|
63
61
|
? ticket.updatedAt
|
|
64
62
|
: latest;
|
|
@@ -120,9 +118,6 @@ export class LaborTicketERPSynchronizer {
|
|
|
120
118
|
timestamp: mostRecentUpdate || fallbackTimestamp,
|
|
121
119
|
},
|
|
122
120
|
});
|
|
123
|
-
logger.info("syncLaborTicketsToERP: Checkpoint saved:", {
|
|
124
|
-
checkpointTimestamp: (mostRecentUpdate || fallbackTimestamp)
|
|
125
|
-
});
|
|
126
121
|
} catch (error) {
|
|
127
122
|
logger.error("syncLaborTicketsToERP: Error:", error);
|
|
128
123
|
}
|
|
@@ -219,10 +214,10 @@ export class LaborTicketERPSynchronizer {
|
|
|
219
214
|
): Promise<MMReceiveLaborTicket> {
|
|
220
215
|
let laborTicketResult: MMReceiveLaborTicket;
|
|
221
216
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
217
|
+
laborTicketResult = convertLaborTicketToLocalTimezone(
|
|
218
|
+
laborTicket,
|
|
219
|
+
getCachedTimezoneOffset()
|
|
220
|
+
);
|
|
226
221
|
|
|
227
222
|
logger.info(
|
|
228
223
|
`processing laborTicket, id=${laborTicket.laborTicketId}, ref=${laborTicket.laborTicketRef}`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ERPObjType } from "../../types/erp-types
|
|
2
|
-
import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager
|
|
1
|
+
import { ERPObjType } from "../../types/erp-types";
|
|
2
|
+
import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager";
|
|
3
3
|
import {
|
|
4
4
|
IToRESTApiObject,
|
|
5
5
|
MMSendPerson,
|
|
@@ -15,27 +15,21 @@ import {
|
|
|
15
15
|
MM200LaborTicketResponse,
|
|
16
16
|
MM207NonLaborTicketResponse,
|
|
17
17
|
MM207LaborTicketResponse,
|
|
18
|
-
} from "../../services/mm-api-service
|
|
19
|
-
import { MMApiClient } from "../../services/mm-api-service/mm-api-service
|
|
20
|
-
import { HTTPError } from "../http-client
|
|
18
|
+
} from "../../services/mm-api-service";
|
|
19
|
+
import { MMApiClient } from "../../services/mm-api-service/mm-api-service";
|
|
20
|
+
import { HTTPError } from "../http-client";
|
|
21
21
|
import {
|
|
22
22
|
WriteEntitiesToMMResult,
|
|
23
23
|
MMBatchValidationError,
|
|
24
|
-
} from "./standard-process-drivers
|
|
25
|
-
import { ErrorProcessor } from "./error-processor
|
|
24
|
+
} from "./standard-process-drivers";
|
|
25
|
+
import { ErrorProcessor } from "./error-processor";
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Handles processing of entities to the MachineMetrics API
|
|
29
29
|
*/
|
|
30
30
|
export class MMEntityProcessor {
|
|
31
31
|
/**
|
|
32
|
-
* Writes entities to MM API with deduplication and caching
|
|
33
|
-
*
|
|
34
|
-
* IMPORTANT: All datetime fields on `mmRecords` MUST already be expressed as
|
|
35
|
-
* ISO-8601 UTC strings (either trailing `Z` or an explicit offset). The SDK
|
|
36
|
-
* does not apply timezone conversion on this path. It forwards values directly
|
|
37
|
-
* to MachineMetrics and only reserializes them for validation. Connector code
|
|
38
|
-
* is responsible for converting local ERP times to UTC before invoking this API.
|
|
32
|
+
* Writes entities to MM API with deduplication and caching
|
|
39
33
|
*/
|
|
40
34
|
static async writeEntities(
|
|
41
35
|
entityType: ERPObjType,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { ERPObjType } from "../../types/erp-types
|
|
2
|
-
import { IERPLaborTicketHandler } from "../../types/erp-connector
|
|
3
|
-
import
|
|
4
|
-
import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager.js";
|
|
1
|
+
import { ERPObjType } from "../../types/erp-types";
|
|
2
|
+
import { IERPLaborTicketHandler } from "../../types/erp-connector";
|
|
3
|
+
import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager";
|
|
5
4
|
import {
|
|
6
5
|
IToRESTApiObject,
|
|
7
6
|
MMSendWorkOrderBatch,
|
|
@@ -9,9 +8,9 @@ import {
|
|
|
9
8
|
MMSendPartOperation,
|
|
10
9
|
MMSendWorkOrder,
|
|
11
10
|
MMSendWorkOrderOperation,
|
|
12
|
-
} from "../../services/mm-api-service
|
|
13
|
-
import { LaborTicketERPSynchronizer } from "./labor-ticket-erp-synchronizer
|
|
14
|
-
import { MMEntityProcessor } from "./mm-entity-processor
|
|
11
|
+
} from "../../services/mm-api-service";
|
|
12
|
+
import { LaborTicketERPSynchronizer } from "./labor-ticket-erp-synchronizer";
|
|
13
|
+
import { MMEntityProcessor } from "./mm-entity-processor";
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
16
|
* The result of writing entities to the MachineMetrics API on complete success.
|
|
@@ -249,12 +248,7 @@ export class StandardProcessDrivers {
|
|
|
249
248
|
* parts, part operations, work orders, and work order operations, then process them in the correct order
|
|
250
249
|
* to maintain referential integrity.
|
|
251
250
|
*
|
|
252
|
-
*
|
|
253
|
-
* as ISO-8601 UTC strings (trailing `Z` or explicit offset). The SDK does not attempt to infer or
|
|
254
|
-
* convert local ERP timestamps on this path; it simply validates and forwards the values to MM.
|
|
255
|
-
* Connector implementations should convert ERP-local times to UTC before invoking this method.
|
|
256
|
-
*
|
|
257
|
-
* @param flattenedData Array of flattened rows containing both work order and operation data (see `FlattenedWorkOrderRow`)
|
|
251
|
+
* @param flattenedData Array of flattened rows containing both work order and operation data (camelCase fields)
|
|
258
252
|
* @param batchCacheManager The batch cache manager instance; pass in null if caching is not desired
|
|
259
253
|
*
|
|
260
254
|
* @returns Combined results from all entity processing with detailed logging information
|
|
@@ -262,7 +256,7 @@ export class StandardProcessDrivers {
|
|
|
262
256
|
* @throws Error on other underlying issues (network, authentication, etc.)
|
|
263
257
|
*/
|
|
264
258
|
static async syncWorkOrderBatchFromFlattened(
|
|
265
|
-
flattenedData:
|
|
259
|
+
flattenedData: any[],
|
|
266
260
|
batchCacheManager: BatchCacheManager | null
|
|
267
261
|
): Promise<{
|
|
268
262
|
parts: WriteEntitiesToMMResult;
|
|
@@ -274,11 +268,6 @@ export class StandardProcessDrivers {
|
|
|
274
268
|
throw new Error("No flattened work order data provided");
|
|
275
269
|
}
|
|
276
270
|
|
|
277
|
-
const toStringOrFallback = (
|
|
278
|
-
value: string | number | null | undefined,
|
|
279
|
-
fallback = ""
|
|
280
|
-
): string => (value === undefined || value === null ? fallback : String(value));
|
|
281
|
-
|
|
282
271
|
// Process the flattened data - each row contains both work order and operation info
|
|
283
272
|
const uniqueParts = new Map();
|
|
284
273
|
const uniquePartOperations = new Map();
|
|
@@ -308,8 +297,8 @@ export class StandardProcessDrivers {
|
|
|
308
297
|
resourceId: row.resourceId, // → resourceId
|
|
309
298
|
cycleTimeMs: row.cycleTimeMs, // → cycleTimeMs
|
|
310
299
|
setupTimeMs: row.setupTimeMs, // → setupTimeMs
|
|
311
|
-
|
|
312
|
-
quantityPerPart: row.quantityPerPart
|
|
300
|
+
description: row.operationDescription || "", // → description
|
|
301
|
+
quantityPerPart: row.quantityPerPart || 1, // → quantityPerPart
|
|
313
302
|
});
|
|
314
303
|
}
|
|
315
304
|
|
|
@@ -362,8 +351,8 @@ export class StandardProcessDrivers {
|
|
|
362
351
|
const parts = Array.from(uniqueParts.values()).map(
|
|
363
352
|
(item) =>
|
|
364
353
|
new MMSendPart(
|
|
365
|
-
|
|
366
|
-
|
|
354
|
+
item.partNumber || "", // partNumber
|
|
355
|
+
item.partRevision || "", // partRevision
|
|
367
356
|
item.method || "Standard" // method
|
|
368
357
|
)
|
|
369
358
|
);
|
|
@@ -371,14 +360,14 @@ export class StandardProcessDrivers {
|
|
|
371
360
|
const partOperations = Array.from(uniquePartOperations.values()).map(
|
|
372
361
|
(item) =>
|
|
373
362
|
new MMSendPartOperation(
|
|
374
|
-
|
|
375
|
-
|
|
363
|
+
item.partNumber || "", // partNumber
|
|
364
|
+
item.partRevision || "", // partRevision
|
|
376
365
|
item.method || "Standard", // method
|
|
377
366
|
item.sequenceNumber?.toString() || "", // sequenceNumber
|
|
378
367
|
item.resourceId?.toString() || "", // resourceId
|
|
379
368
|
item.cycleTimeMs || 0, // cycleTimeMs
|
|
380
369
|
item.setupTimeMs || 0, // setupTimeMs
|
|
381
|
-
item.
|
|
370
|
+
item.description || "", // description
|
|
382
371
|
item.quantityPerPart || 1 // quantityPerPart
|
|
383
372
|
)
|
|
384
373
|
);
|
|
@@ -387,12 +376,10 @@ export class StandardProcessDrivers {
|
|
|
387
376
|
(item) =>
|
|
388
377
|
new MMSendWorkOrder(
|
|
389
378
|
item.workOrderId?.toString() || "", // workOrderId
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
379
|
+
item.lot || "", // lot
|
|
380
|
+
item.split || "", // split
|
|
381
|
+
item.sub || "", // sub
|
|
393
382
|
item.status || "Open", // status
|
|
394
|
-
// Datetimes are assumed to already be UTC (or include an explicit offset).
|
|
395
|
-
// We reserialize via Date solely to validate the ISO format before sending to MM.
|
|
396
383
|
item.dueDate ? new Date(item.dueDate).toISOString() : null, // dueDate
|
|
397
384
|
item.description || "", // description
|
|
398
385
|
item.scheduledStartDate
|
|
@@ -403,8 +390,8 @@ export class StandardProcessDrivers {
|
|
|
403
390
|
: null, // scheduledEndDate
|
|
404
391
|
item.closedDate ? new Date(item.closedDate).toISOString() : null, // closedDate
|
|
405
392
|
item.quantityRequired || 0, // quantityRequired
|
|
406
|
-
|
|
407
|
-
|
|
393
|
+
item.partNumber || "", // partNumber
|
|
394
|
+
item.partRevision || "", // partRevision
|
|
408
395
|
item.method || "Standard" // method
|
|
409
396
|
)
|
|
410
397
|
);
|
|
@@ -413,15 +400,14 @@ export class StandardProcessDrivers {
|
|
|
413
400
|
(item) =>
|
|
414
401
|
new MMSendWorkOrderOperation(
|
|
415
402
|
item.workOrderId?.toString() || "", // workOrderId
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
403
|
+
item.lot || "", // lot
|
|
404
|
+
item.split || "", // split
|
|
405
|
+
item.sub || "", // sub
|
|
419
406
|
item.sequenceNumber?.toString() || "", // sequenceNumber
|
|
420
407
|
item.resourceId?.toString() || "", // resourceId
|
|
421
408
|
item.startQuantity || 0, // startQuantity
|
|
422
409
|
item.finishQuantity || 0, // finishQuantity
|
|
423
410
|
item.expectedRejectRate || 0, // expectedRejectRate
|
|
424
|
-
// Same UTC expectation as above; reserialize to ensure valid ISO.
|
|
425
411
|
item.scheduledStartDate
|
|
426
412
|
? new Date(item.scheduledStartDate).toISOString()
|
|
427
413
|
: null, // scheduledStartDate
|
|
@@ -431,8 +417,8 @@ export class StandardProcessDrivers {
|
|
|
431
417
|
item.closedDate ? new Date(item.closedDate).toISOString() : null, // closedDate
|
|
432
418
|
item.cycleTimeMs || 0, // cycleTimeMs
|
|
433
419
|
item.setupTimeMs || 0, // setupTimeMs
|
|
434
|
-
parseFloat(
|
|
435
|
-
parseFloat(
|
|
420
|
+
parseFloat(item.productionburdenRateHourly || "0"), // productionburdenRateHourly
|
|
421
|
+
parseFloat(item.setupburdenRatehourly || "0"), // setupburdenRatehourly
|
|
436
422
|
item.operationType || "Production", // operationType
|
|
437
423
|
item.quantityPerPart || 1, // quantityPerPart
|
|
438
424
|
item.status || "Open" // status
|
package/src/utils/time-utils.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import logger from "../services/reporting-service/logger.js";
|
|
1
|
+
import logger from "../services/reporting-service/logger";
|
|
3
2
|
import {
|
|
4
3
|
setTimezoneOffsetInCache,
|
|
5
4
|
setTimezoneNameInCache,
|
|
6
|
-
} from "./local-data-store/jobs-shared-data
|
|
5
|
+
} from "./local-data-store/jobs-shared-data";
|
|
7
6
|
import {
|
|
8
7
|
convertToLocalTime,
|
|
9
8
|
formatDateWithTZOffset,
|
|
10
9
|
getTimezoneOffset,
|
|
11
|
-
} from "./timezone
|
|
10
|
+
} from "./timezone";
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* Calculates the difference in hours between two timestamps
|
|
@@ -118,16 +117,6 @@ export const getTimezoneOffsetAndPersist = async (
|
|
|
118
117
|
const { offset, timezone } = await getTimezoneOffset();
|
|
119
118
|
logger.info(`Timezone offset: ${offset} hours, timezone: ${timezone}`);
|
|
120
119
|
setTimezoneOffsetInCache(offset);
|
|
121
|
-
|
|
122
|
-
const now = DateTime.now().setZone(timezone);
|
|
123
|
-
if (!now.isValid) {
|
|
124
|
-
throw new Error(
|
|
125
|
-
`Invalid timezone name from Company properties: "${timezone}". ` +
|
|
126
|
-
`Must be a valid IANA timezone name (e.g., "America/Chicago"). ` +
|
|
127
|
-
`See: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones`
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
120
|
setTimezoneNameInCache(timezone);
|
|
132
121
|
success = true;
|
|
133
122
|
} catch (error) {
|
package/src/utils/timezone.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CoreConfiguration } from "../services/data-sync-service/configuration-manager
|
|
2
|
-
import { HTTPClientFactory } from "./http-client
|
|
1
|
+
import { CoreConfiguration } from "../services/data-sync-service/configuration-manager";
|
|
2
|
+
import { HTTPClientFactory } from "./http-client";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Gets the timezone offset in hours and timezone name for the company's timezone
|
package/dist/index.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Main entry point for the MM ERP Connector SDK.
|
|
3
|
-
* This file exports the public API that client code should use.
|
|
4
|
-
*/
|
|
5
|
-
export { ERPObjType } from "./types/erp-types.js";
|
|
6
|
-
// Configuration interfaces
|
|
7
|
-
export { ErpApiConnectionParams } from "./services/data-sync-service/configuration-manager.js";
|
|
8
|
-
export { getErpApiConnectionParams } from "./services/data-sync-service/configuration-manager.js";
|
|
9
|
-
export { buildLogicalCondition } from "./services/erp-api-services/rest/get-query-params.js";
|
|
10
|
-
// MM API client and types
|
|
11
|
-
export { MMApiClient } from "./services/mm-api-service/index.js";
|
|
12
|
-
export { MMReceiveLaborTicket } from "./services/mm-api-service/index.js";
|
|
13
|
-
export { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, } from "./services/mm-api-service/index.js";
|
|
14
|
-
// Utility functions that are safe for client use
|
|
15
|
-
export { getUniqueRows, removeExtraneousFields, getPayloadWithoutIDField, trimObjectValues, cleanupNumbers, addNewFieldFromExternalSource, addNewFieldFromLookupField, formatDateWithTZOffset, applyTimezoneOffsetsToFields, convertToLocalTime, getErrorType, } from "./utils/index.js";
|
|
16
|
-
// Local data store
|
|
17
|
-
export { getInitialLoadComplete, setInitialLoadComplete } from "./utils/index.js";
|
|
18
|
-
// HTTP client factory and types for custom API integrations
|
|
19
|
-
export { HTTPClientFactory } from "./utils/http-client.js";
|
|
20
|
-
export { HTTPError } from "./utils/http-client.js";
|
|
21
|
-
// Application initialization utilities
|
|
22
|
-
export { ApplicationInitializer } from "./utils/application-initializer.js";
|
|
23
|
-
// Data sync service
|
|
24
|
-
export { runDataSyncService } from "./services/data-sync-service/index.js";
|
|
25
|
-
// Logging service
|
|
26
|
-
export { logger } from "./services/reporting-service/index.js";
|
|
27
|
-
// Process drivers and utilities
|
|
28
|
-
export { StandardProcessDrivers, getCachedTimezoneOffset, getCachedTimezoneName, } from "./utils/index.js";
|
|
29
|
-
export { MMBatchValidationError } from "./utils/index.js";
|
|
30
|
-
export { RestAPIService } from "./services/erp-api-services/rest/rest-api-service.js";
|
|
31
|
-
export { ErrorHandler, GraphQLError } from "./services/erp-api-services/errors.js";
|
|
32
|
-
export { OAuthClient } from "./services/erp-api-services/oauth-client.js";
|
|
33
|
-
export { GraphQLService } from "./services/erp-api-services/graphql/graphql-service.js";
|
|
34
|
-
// Caching services
|
|
35
|
-
export { BatchCacheManager } from "./services/caching-service/batch-cache-manager.js";
|
|
36
|
-
// Configuration services
|
|
37
|
-
export { CoreConfiguration, getSQLServerConfiguration, } from "./services/data-sync-service/configuration-manager.js";
|
|
38
|
-
// SQL Server services
|
|
39
|
-
export { SqlServerService, SqlServerHelper, } from "./services/sql-server-erp-service/index.js";
|
|
40
|
-
// PSQL (Pervasive) services
|
|
41
|
-
export { PsqlService, formatPsqlDate, formatPsqlTime, combinePsqlDateTime, isPsqlDateEmpty, cleanPsqlCharField, } from "./services/psql-erp-service/index.js";
|
|
42
|
-
// Record tracking services
|
|
43
|
-
export { RecordTrackingManager } from "./services/caching-service/record-tracking-manager.js";
|
|
44
|
-
// Knex services
|
|
45
|
-
export { default as knexDatabaseConfig } from "./knexfile.js";
|
|
46
|
-
// MM Connector Logging
|
|
47
|
-
export { MMConnectorLogger, FileLogDeduper, LogEntry, } from "./utils/index.js";
|
|
48
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,2BAA2B;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAG7F,0BAA0B;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAO1E,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAI5C,iDAAiD;AACjD,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,EAClB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,mBAAmB;AACnB,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAElF,4DAA4D;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOnD,uCAAuC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,oBAAoB;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,kBAAkB;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAK/D,gCAAgC;AAChC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAKnF,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAGxF,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAEtF,yBAAyB;AACzB,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,uDAAuD,CAAC;AAE/D,sBAAsB;AACtB,OAAO,EACL,gBAAgB,EAChB,eAAe,GAChB,MAAM,4CAA4C,CAAC;AAGpD,4BAA4B;AAC5B,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAG9C,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAG9F,gBAAgB;AAChB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE9D,uBAAuB;AACvB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,QAAQ,GAGT,MAAM,kBAAkB,CAAC"}
|
package/dist/knexfile.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import { fileURLToPath } from "url";
|
|
3
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
4
|
-
const config = {
|
|
5
|
-
local: {
|
|
6
|
-
client: "better-sqlite3",
|
|
7
|
-
connection: {
|
|
8
|
-
filename: "./local.sqlite3",
|
|
9
|
-
},
|
|
10
|
-
useNullAsDefault: true,
|
|
11
|
-
migrations: {
|
|
12
|
-
directory: path.join(__dirname, "migrations"),
|
|
13
|
-
extension: "js",
|
|
14
|
-
loadExtensions: [".js"],
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
export default config;
|
|
19
|
-
//# sourceMappingURL=knexfile.js.map
|
package/dist/knexfile.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"knexfile.js","sourceRoot":"","sources":["../src/knexfile.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,MAAM,GAAmC;IAC7C,KAAK,EAAE;QACL,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE;YACV,QAAQ,EAAE,iBAAiB;SAC5B;QACD,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE;YACV,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;YAC7C,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,CAAC,KAAK,CAAC;SACxB;KACF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"20241015162631_create_cache_table.d.ts","sourceRoot":"","sources":["../../src/migrations/20241015162631_create_cache_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAQlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD"}
|