@machinemetrics/mm-erp-sdk 0.2.0-beta.0 → 0.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +49 -49
- 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 +14 -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 +12 -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
|
@@ -1,519 +0,0 @@
|
|
|
1
|
-
import logger from "../reporting-service/logger.js";
|
|
2
|
-
import { ERPObjType } from "../../types/erp-types.js";
|
|
3
|
-
import { MMReceiveLaborTicket } from "./types/receive-types.js";
|
|
4
|
-
import { MMTokenManager } from "./token-mgr.js";
|
|
5
|
-
import { HTTPClientFactory, } from "../../utils/http-client.js";
|
|
6
|
-
import { CoreConfiguration } from "../data-sync-service/configuration-manager.js";
|
|
7
|
-
import { ErrorHandler } from "../erp-api-services/errors.js";
|
|
8
|
-
const MAPPING = "MAPPING";
|
|
9
|
-
const CHECKPOINTS = "CHECKPOINTS";
|
|
10
|
-
const MACHINE_GROUPS = "MACHINE_GROUPS";
|
|
11
|
-
const GRAPHQL = "GRAPHQL";
|
|
12
|
-
var UrlBase;
|
|
13
|
-
(function (UrlBase) {
|
|
14
|
-
UrlBase["ErpApiSvcBase"] = "ErpApiSvcBase";
|
|
15
|
-
UrlBase["ApiBase"] = "ApiBase";
|
|
16
|
-
})(UrlBase || (UrlBase = {}));
|
|
17
|
-
/**
|
|
18
|
-
* Class to manage interactions with the MM Mapping Service
|
|
19
|
-
* Integrates an MM Token Manager to handle the API token.
|
|
20
|
-
*/
|
|
21
|
-
export class MMApiClient {
|
|
22
|
-
tokenMgr;
|
|
23
|
-
api;
|
|
24
|
-
baseUrls;
|
|
25
|
-
resourceURLs = {
|
|
26
|
-
[ERPObjType.RESOURCES]: "/erp/v1/resources",
|
|
27
|
-
[ERPObjType.PARTS]: "/erp/v1/parts",
|
|
28
|
-
[ERPObjType.PART_OPERATION]: "/erp/v1/part-operations",
|
|
29
|
-
[ERPObjType.WORK_ORDERS]: "/erp/v1/production-orders",
|
|
30
|
-
[ERPObjType.WORK_ORDER_OPERATIONS]: "/erp/v1/production-order-operations",
|
|
31
|
-
[ERPObjType.PERSONS]: "/erp/v1/persons",
|
|
32
|
-
[ERPObjType.REASONS]: "/erp/v1/reasons",
|
|
33
|
-
[ERPObjType.LABOR_TICKETS]: "/erp/v1/labor-tickets",
|
|
34
|
-
[MAPPING]: "/erp/v1/mapping",
|
|
35
|
-
[CHECKPOINTS]: "/erp/v1/checkpoints",
|
|
36
|
-
[MACHINE_GROUPS]: "/machine-groups",
|
|
37
|
-
[GRAPHQL]: "/proxy/graphql",
|
|
38
|
-
};
|
|
39
|
-
constructor() {
|
|
40
|
-
this.tokenMgr = new MMTokenManager();
|
|
41
|
-
this.baseUrls = {
|
|
42
|
-
[UrlBase.ErpApiSvcBase]: CoreConfiguration.inst().mmERPSvcApiBaseUrl,
|
|
43
|
-
[UrlBase.ApiBase]: CoreConfiguration.inst().mmApiBaseUrl,
|
|
44
|
-
};
|
|
45
|
-
this.api = HTTPClientFactory.getInstance({
|
|
46
|
-
baseUrl: '',
|
|
47
|
-
retryAttempts: CoreConfiguration.inst().mmApiRetryAttempts,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
//#region Private Methods
|
|
51
|
-
async executeWithAuthRetry(operation, options = {}) {
|
|
52
|
-
let token = options.token || (await this.tokenMgr.getToken());
|
|
53
|
-
try {
|
|
54
|
-
return await operation(token);
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
// Type guard to check if error has status property
|
|
58
|
-
const hasStatus = (err) => {
|
|
59
|
-
return typeof err === "object" && err !== null && "status" in err;
|
|
60
|
-
};
|
|
61
|
-
// Check if this looks like an auth error - only retry on explicit auth status codes
|
|
62
|
-
const isAuthError = hasStatus(error) && (error.status === 401 || error.status === 403);
|
|
63
|
-
if (isAuthError && !options.token) {
|
|
64
|
-
// Only retry if we used cached token
|
|
65
|
-
logger.info("Retrying request with fresh token due to auth error");
|
|
66
|
-
this.tokenMgr.invalidateToken();
|
|
67
|
-
token = await this.tokenMgr.getToken();
|
|
68
|
-
return await operation(token); // Single retry
|
|
69
|
-
}
|
|
70
|
-
throw error; // Re-throw if not auth error or already retried
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Fetch data from the MM API, with an auth retry mechanism
|
|
75
|
-
* Auth Retry Level (executeWithAuthRetry)
|
|
76
|
-
* - 401 (Unauthorized) and 403 (Forbidden) get special treatment
|
|
77
|
-
* - These trigger a token refresh and one retry attempt
|
|
78
|
-
* - If the retry still fails, the error is re-thrown
|
|
79
|
-
*
|
|
80
|
-
* HTTP Status Codes behavior:
|
|
81
|
-
* - 2xx - Success, returns normally
|
|
82
|
-
* - 4xx - Client errors, throws immediately
|
|
83
|
-
* - 5xx - Server errors, retries then throws
|
|
84
|
-
*
|
|
85
|
-
* Flags:
|
|
86
|
-
*/
|
|
87
|
-
async getData(path, queryParams = {}, options = {}) {
|
|
88
|
-
try {
|
|
89
|
-
return await this.executeWithAuthRetry(async (token) => {
|
|
90
|
-
const baseUrl = options.baseUrl || UrlBase.ErpApiSvcBase;
|
|
91
|
-
const params = new URLSearchParams({
|
|
92
|
-
...queryParams,
|
|
93
|
-
...(baseUrl === UrlBase.ErpApiSvcBase ? { raw: "true" } : {}),
|
|
94
|
-
});
|
|
95
|
-
const url = params.size > 0 ? `${path}?${params.toString()}` : path;
|
|
96
|
-
const fullUrl = this.baseUrls[baseUrl] + url;
|
|
97
|
-
const result = await this.api.request({
|
|
98
|
-
url: fullUrl,
|
|
99
|
-
method: "GET",
|
|
100
|
-
headers: {
|
|
101
|
-
Authorization: `Bearer ${token}`,
|
|
102
|
-
...options.headers,
|
|
103
|
-
},
|
|
104
|
-
});
|
|
105
|
-
// Always include HTTP status in the response
|
|
106
|
-
return {
|
|
107
|
-
...result.data,
|
|
108
|
-
httpStatus: result.status,
|
|
109
|
-
};
|
|
110
|
-
}, options);
|
|
111
|
-
}
|
|
112
|
-
catch (error) {
|
|
113
|
-
ErrorHandler.handle(error);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Send data to the MM API, with an auth retry mechanism
|
|
118
|
-
* Auth Retry Level (executeWithAuthRetry)
|
|
119
|
-
* - 401 (Unauthorized) and 403 (Forbidden) get special treatment
|
|
120
|
-
* - These trigger a token refresh and one retry attempt
|
|
121
|
-
* - If the retry still fails, the error is re-thrown
|
|
122
|
-
*
|
|
123
|
-
* HTTP Status Codes behavior:
|
|
124
|
-
* - 2xx - Success, returns normally
|
|
125
|
-
* - 4xx - Client errors, throws immediately
|
|
126
|
-
* - 5xx - Server errors, retries then throws
|
|
127
|
-
*
|
|
128
|
-
* Flags:
|
|
129
|
-
* - 'raw' = true and 'dedupe' = true will be set for MM's ERP API url
|
|
130
|
-
*/
|
|
131
|
-
async postData(path, data = {}, queryParams = {}, options = {}) {
|
|
132
|
-
try {
|
|
133
|
-
return await this.executeWithAuthRetry(async (token) => {
|
|
134
|
-
const baseUrl = options.baseUrl || UrlBase.ErpApiSvcBase;
|
|
135
|
-
const params = new URLSearchParams({
|
|
136
|
-
...queryParams,
|
|
137
|
-
...(baseUrl === UrlBase.ErpApiSvcBase
|
|
138
|
-
? { dedupe: "true", raw: "true" }
|
|
139
|
-
: {}),
|
|
140
|
-
});
|
|
141
|
-
const url = params.size > 0 ? `${path}?${params.toString()}` : path;
|
|
142
|
-
const fullUrl = this.baseUrls[baseUrl] + url;
|
|
143
|
-
const request = {
|
|
144
|
-
url: fullUrl,
|
|
145
|
-
method: "POST",
|
|
146
|
-
data: JSON.stringify(data),
|
|
147
|
-
headers: {
|
|
148
|
-
Authorization: `Bearer ${token}`,
|
|
149
|
-
...options.headers,
|
|
150
|
-
},
|
|
151
|
-
};
|
|
152
|
-
const result = await this.api.request(request);
|
|
153
|
-
// Always include HTTP status in the response
|
|
154
|
-
return {
|
|
155
|
-
...result.data,
|
|
156
|
-
httpStatus: result.status,
|
|
157
|
-
};
|
|
158
|
-
}, options);
|
|
159
|
-
}
|
|
160
|
-
catch (error) {
|
|
161
|
-
ErrorHandler.handle(error);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Delete data from the MM API, with an auth retry mechanism
|
|
166
|
-
* Auth Retry Level (executeWithAuthRetry)
|
|
167
|
-
* - 401 (Unauthorized) and 403 (Forbidden) get special treatment
|
|
168
|
-
* - These trigger a token refresh and one retry attempt
|
|
169
|
-
* - If the retry still fails, the error is re-thrown
|
|
170
|
-
*
|
|
171
|
-
* HTTP Status Codes behavior:
|
|
172
|
-
* - 2xx - Success, returns normally
|
|
173
|
-
* - 4xx - Client errors, throws immediately
|
|
174
|
-
* - 5xx - Server errors, retries then throws
|
|
175
|
-
*
|
|
176
|
-
*/
|
|
177
|
-
async deleteData(path, data = {}, options = {}) {
|
|
178
|
-
try {
|
|
179
|
-
return await this.executeWithAuthRetry(async (token) => {
|
|
180
|
-
const baseUrl = options.baseUrl || UrlBase.ErpApiSvcBase;
|
|
181
|
-
const params = new URLSearchParams({
|
|
182
|
-
...(baseUrl === UrlBase.ErpApiSvcBase ? { raw: "true" } : {}),
|
|
183
|
-
});
|
|
184
|
-
const url = params.size > 0 ? `${path}?${params.toString()}` : path;
|
|
185
|
-
const fullUrl = this.baseUrls[baseUrl] + url;
|
|
186
|
-
const result = await this.api.request({
|
|
187
|
-
url: fullUrl,
|
|
188
|
-
method: "DELETE",
|
|
189
|
-
data,
|
|
190
|
-
headers: {
|
|
191
|
-
Authorization: `Bearer ${token}`,
|
|
192
|
-
...options.headers,
|
|
193
|
-
},
|
|
194
|
-
});
|
|
195
|
-
// Always include HTTP status in the response
|
|
196
|
-
return {
|
|
197
|
-
...result.data,
|
|
198
|
-
httpStatus: result.status,
|
|
199
|
-
};
|
|
200
|
-
}, options);
|
|
201
|
-
}
|
|
202
|
-
catch (error) {
|
|
203
|
-
ErrorHandler.handle(error);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Patch data to the MM API, with an auth retry mechanism
|
|
208
|
-
* Auth Retry Level (executeWithAuthRetry)
|
|
209
|
-
* - 401 (Unauthorized) and 403 (Forbidden) get special treatment
|
|
210
|
-
* - These trigger a token refresh and one retry attempt
|
|
211
|
-
* - If the retry still fails, the error is re-thrown
|
|
212
|
-
*
|
|
213
|
-
* HTTP Status Codes behavior:
|
|
214
|
-
* - 2xx - Success, returns normally
|
|
215
|
-
* - 4xx - Client errors, throws immediately
|
|
216
|
-
* - 5xx - Server errors, retries then throws
|
|
217
|
-
*
|
|
218
|
-
*/
|
|
219
|
-
async patchData(path, data = {}, options = {}) {
|
|
220
|
-
try {
|
|
221
|
-
return await this.executeWithAuthRetry(async (token) => {
|
|
222
|
-
const baseUrl = options.baseUrl || UrlBase.ErpApiSvcBase;
|
|
223
|
-
const params = new URLSearchParams({
|
|
224
|
-
...(baseUrl === UrlBase.ErpApiSvcBase ? { raw: "true" } : {}),
|
|
225
|
-
});
|
|
226
|
-
const url = params.size > 0 ? `${path}?${params.toString()}` : path;
|
|
227
|
-
const fullUrl = this.baseUrls[baseUrl] + url;
|
|
228
|
-
const request = {
|
|
229
|
-
url: fullUrl,
|
|
230
|
-
method: "PATCH",
|
|
231
|
-
data,
|
|
232
|
-
headers: {
|
|
233
|
-
Authorization: `Bearer ${token}`,
|
|
234
|
-
...options.headers,
|
|
235
|
-
},
|
|
236
|
-
};
|
|
237
|
-
const result = await this.api.request(request);
|
|
238
|
-
// Always include HTTP status in the response
|
|
239
|
-
return {
|
|
240
|
-
...result.data,
|
|
241
|
-
httpStatus: result.status,
|
|
242
|
-
};
|
|
243
|
-
}, options);
|
|
244
|
-
}
|
|
245
|
-
catch (error) {
|
|
246
|
-
ErrorHandler.handle(error);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
async graphqlRequest(operationName, query) {
|
|
250
|
-
try {
|
|
251
|
-
return await this.postData(this.resourceURLs[GRAPHQL], { operationName, query }, {}, {
|
|
252
|
-
baseUrl: UrlBase.ApiBase,
|
|
253
|
-
token: CoreConfiguration.inst().mmApiAuthToken,
|
|
254
|
-
headers: { "Content-Type": "application/json" },
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
catch (error) {
|
|
258
|
-
ErrorHandler.handle(error);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Fetch a checkpoint for a specific system, table, and checkpoint type
|
|
263
|
-
* @param checkpoint The checkpoint to fetch
|
|
264
|
-
* @returns Promise with the checkpoint data
|
|
265
|
-
*/
|
|
266
|
-
async fetchCheckpoint(checkpoint) {
|
|
267
|
-
const { system, table, checkpointType } = checkpoint;
|
|
268
|
-
return this.getData(this.resourceURLs[CHECKPOINTS], {
|
|
269
|
-
system,
|
|
270
|
-
table,
|
|
271
|
-
checkpointType,
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
//#endregion private methods
|
|
275
|
-
//#region Public Methods
|
|
276
|
-
/**
|
|
277
|
-
* Send resources to the MM API
|
|
278
|
-
* @param resources Array of resources to send
|
|
279
|
-
* @returns Promise with the API response
|
|
280
|
-
*/
|
|
281
|
-
async sendResourcesToMM(resources) {
|
|
282
|
-
return await this.postData(this.resourceURLs[ERPObjType.RESOURCES], {
|
|
283
|
-
data: resources.map((resource) => resource.toRESTApiObject()),
|
|
284
|
-
});
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Send parts to the MM API
|
|
288
|
-
* @param parts Array of parts to send
|
|
289
|
-
* @returns Promise with the API response
|
|
290
|
-
*/
|
|
291
|
-
async sendPartsToMM(parts) {
|
|
292
|
-
return await this.postData(this.resourceURLs[ERPObjType.PARTS], {
|
|
293
|
-
data: parts.map((part) => part.toRESTApiObject()),
|
|
294
|
-
});
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* Send part operations to the MM API
|
|
298
|
-
* @param operations Array of part operations to send
|
|
299
|
-
* @returns Promise with the API response
|
|
300
|
-
*/
|
|
301
|
-
async sendPartOperationsToMM(operations) {
|
|
302
|
-
return await this.postData(this.resourceURLs[ERPObjType.PART_OPERATION], {
|
|
303
|
-
data: operations.map((operation) => operation.toRESTApiObject()),
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* Send work orders to the MM API
|
|
308
|
-
* @param workOrders Array of work orders to send
|
|
309
|
-
* @returns Promise with the API response
|
|
310
|
-
*/
|
|
311
|
-
async sendWorkOrdersToMM(workOrders) {
|
|
312
|
-
return await this.postData(this.resourceURLs[ERPObjType.WORK_ORDERS], {
|
|
313
|
-
data: workOrders.map((workOrder) => workOrder.toRESTApiObject()),
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
/**
|
|
317
|
-
* Send work order operations to the MM API
|
|
318
|
-
* @param workOrderOperations Array of work order operations to send
|
|
319
|
-
* @returns Promise with the API response
|
|
320
|
-
*/
|
|
321
|
-
async sendWorkOrderOperationsToMM(workOrderOperations) {
|
|
322
|
-
return await this.postData(this.resourceURLs[ERPObjType.WORK_ORDER_OPERATIONS], {
|
|
323
|
-
data: workOrderOperations.map((operation) => operation.toRESTApiObject()),
|
|
324
|
-
});
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* Send persons to the MM API
|
|
328
|
-
* @param persons Array of persons to send
|
|
329
|
-
* @returns Promise with the API response
|
|
330
|
-
*/
|
|
331
|
-
async sendPersonsToMM(persons) {
|
|
332
|
-
return await this.postData(this.resourceURLs[ERPObjType.PERSONS], {
|
|
333
|
-
data: persons.map((person) => person.toRESTApiObject()),
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Send reasons to the MM API
|
|
338
|
-
* @param reasons Array of reasons to send
|
|
339
|
-
* @returns Promise with the API response
|
|
340
|
-
*/
|
|
341
|
-
async sendReasonsToMM(reasons) {
|
|
342
|
-
return await this.postData(this.resourceURLs[ERPObjType.REASONS], {
|
|
343
|
-
data: reasons.map((reason) => reason.toRESTApiObject()),
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Send labor tickets to the MM API
|
|
348
|
-
* @param laborTickets Array of labor tickets to send
|
|
349
|
-
* @returns Promise with the API response
|
|
350
|
-
*/
|
|
351
|
-
async sendLaborTicketsToMM(laborTickets) {
|
|
352
|
-
return await this.postData(this.resourceURLs[ERPObjType.LABOR_TICKETS], {
|
|
353
|
-
data: laborTickets.map((ticket) => ticket.toRESTApiObject()),
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
/**
|
|
357
|
-
* Delete labor tickets from the MM API
|
|
358
|
-
* @param laborTickets Array of labor ticket records to delete
|
|
359
|
-
* @returns Promise with the API response
|
|
360
|
-
*/
|
|
361
|
-
async deleteLaborTickets(laborTickets) {
|
|
362
|
-
logger.debug("deleteLaborTickets:", { laborTickets });
|
|
363
|
-
return await this.deleteData(this.resourceURLs[ERPObjType.LABOR_TICKETS], {
|
|
364
|
-
laborTickets,
|
|
365
|
-
});
|
|
366
|
-
}
|
|
367
|
-
/**
|
|
368
|
-
* Fetch transformed labor tickets from the MM API
|
|
369
|
-
* @returns Promise with the transformed labor tickets
|
|
370
|
-
*/
|
|
371
|
-
async fetchTransformedLaborTickets() {
|
|
372
|
-
return await this.getData(`${this.resourceURLs[ERPObjType.LABOR_TICKETS]}/export`);
|
|
373
|
-
}
|
|
374
|
-
/**
|
|
375
|
-
* Fetch labor ticket updates from the MM API
|
|
376
|
-
* @param query Query parameters for filtering updates
|
|
377
|
-
* @returns Promise with an array of labor ticket updates
|
|
378
|
-
*/
|
|
379
|
-
async fetchLaborTicketUpdates(query) {
|
|
380
|
-
const updates = (await this.getData(`${this.resourceURLs[ERPObjType.LABOR_TICKETS]}/export/updates`, query));
|
|
381
|
-
return updates.data.map((ticket) => new MMReceiveLaborTicket(ticket));
|
|
382
|
-
}
|
|
383
|
-
/**
|
|
384
|
-
* Fetch a checkpoint for a specific system, table, and checkpoint type
|
|
385
|
-
* @param checkpoint The checkpoint to fetch
|
|
386
|
-
* @returns Promise with the checkpoint data
|
|
387
|
-
*/
|
|
388
|
-
async getCheckpoint(checkpoint) {
|
|
389
|
-
return await this.fetchCheckpoint(checkpoint);
|
|
390
|
-
}
|
|
391
|
-
/**
|
|
392
|
-
* Save a checkpoint to the MM API
|
|
393
|
-
* @param checkpoint The checkpoint to save
|
|
394
|
-
* @returns Promise with the API response
|
|
395
|
-
*/
|
|
396
|
-
async saveCheckpoint(checkpoint) {
|
|
397
|
-
return await this.postData(this.resourceURLs[CHECKPOINTS], checkpoint);
|
|
398
|
-
}
|
|
399
|
-
/**
|
|
400
|
-
* Initialize a checkpoint for a specific system, table, and checkpoint type
|
|
401
|
-
* @param checkpoint The checkpoint to initialize
|
|
402
|
-
* @returns Promise with the checkpoint data
|
|
403
|
-
*/
|
|
404
|
-
async initializeCheckpoint(checkpoint) {
|
|
405
|
-
const currentCheckpoint = await this.fetchCheckpoint(checkpoint);
|
|
406
|
-
logger.info("currentCheckpoint:", { currentCheckpoint });
|
|
407
|
-
logger.info("currentCheckpoint keys:", {
|
|
408
|
-
keys: Object.keys(currentCheckpoint || {}),
|
|
409
|
-
});
|
|
410
|
-
// Check if we have a meaningful checkpoint response
|
|
411
|
-
// The API returns either:
|
|
412
|
-
// - Empty: just { httpStatus: 200 }
|
|
413
|
-
// - With data: { timestamp: "2025-08-08T18:53:14.295Z", httpStatus: 200 }
|
|
414
|
-
const checkpointResponse = currentCheckpoint;
|
|
415
|
-
const hasCheckpointData = checkpointResponse && checkpointResponse.timestamp;
|
|
416
|
-
if (!hasCheckpointData) {
|
|
417
|
-
logger.info("No checkpoint data found, initializing checkpoint");
|
|
418
|
-
const saveCheckpoint = await this.saveCheckpoint(checkpoint);
|
|
419
|
-
logger.info("saveCheckpoint:", { saveCheckpoint });
|
|
420
|
-
}
|
|
421
|
-
else {
|
|
422
|
-
logger.info("Existing checkpoint found:", {
|
|
423
|
-
checkpointTimestamp: checkpointResponse.timestamp,
|
|
424
|
-
});
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
/**
|
|
428
|
-
* Send data to MM API based on the object type
|
|
429
|
-
* @param type The type of ERP object to send
|
|
430
|
-
* @param objects Array of objects to send
|
|
431
|
-
* @returns Promise with the API response including affected rows count
|
|
432
|
-
*/
|
|
433
|
-
async sendDataToMMByType(type, objects) {
|
|
434
|
-
switch (type) {
|
|
435
|
-
case ERPObjType.PERSONS:
|
|
436
|
-
return await this.sendPersonsToMM(objects);
|
|
437
|
-
case ERPObjType.RESOURCES:
|
|
438
|
-
return await this.sendResourcesToMM(objects);
|
|
439
|
-
case ERPObjType.PARTS:
|
|
440
|
-
return await this.sendPartsToMM(objects);
|
|
441
|
-
case ERPObjType.PART_OPERATION:
|
|
442
|
-
return await this.sendPartOperationsToMM(objects);
|
|
443
|
-
case ERPObjType.WORK_ORDERS:
|
|
444
|
-
return await this.sendWorkOrdersToMM(objects);
|
|
445
|
-
case ERPObjType.WORK_ORDER_OPERATIONS:
|
|
446
|
-
return await this.sendWorkOrderOperationsToMM(objects);
|
|
447
|
-
case ERPObjType.REASONS:
|
|
448
|
-
return await this.sendReasonsToMM(objects);
|
|
449
|
-
case ERPObjType.LABOR_TICKETS:
|
|
450
|
-
return await this.sendLaborTicketsToMM(objects);
|
|
451
|
-
default:
|
|
452
|
-
throw new Error(`Unsupported type: ${ERPObjType[type]}`);
|
|
453
|
-
}
|
|
454
|
-
}
|
|
455
|
-
/**
|
|
456
|
-
* Update the labor ticket ERP ID by laborTicketRef
|
|
457
|
-
* @param laborTicketRef The MM API labor ticket unique ID
|
|
458
|
-
* @param erpObjectId The ERP labor ticket ID to update
|
|
459
|
-
* @returns The updated labor ticket
|
|
460
|
-
*/
|
|
461
|
-
async updateLaborTicketIdByRef(laborTicketRef, laborTicketId) {
|
|
462
|
-
return await this.patchData(`${this.resourceURLs[ERPObjType.LABOR_TICKETS]}/${laborTicketRef}`, { laborTicketId });
|
|
463
|
-
}
|
|
464
|
-
/**
|
|
465
|
-
* Add failed labor ticket refs to the MM API
|
|
466
|
-
* @param failedTicketRefs The failed labor ticket references
|
|
467
|
-
* @returns The response from the MM API
|
|
468
|
-
*/
|
|
469
|
-
async addFailedLaborTicketRefs(system, failedTicketRefs) {
|
|
470
|
-
return await this.postData(`${this.resourceURLs[ERPObjType.LABOR_TICKETS]}/failed`, { failedTicketRefs }, { system });
|
|
471
|
-
}
|
|
472
|
-
async fetchFailedLaborTickets(system) {
|
|
473
|
-
const failedTickets = (await this.getData(`${this.resourceURLs[ERPObjType.LABOR_TICKETS]}/failed`, { system }));
|
|
474
|
-
return failedTickets.erpLaborTickets.map((ticket) => new MMReceiveLaborTicket(ticket));
|
|
475
|
-
}
|
|
476
|
-
/**
|
|
477
|
-
* Send connector logs to the MM API
|
|
478
|
-
* @param logEntry Single log entry to send
|
|
479
|
-
* @returns Promise with the API response
|
|
480
|
-
*/
|
|
481
|
-
async sendConnectorLog(logEntry) {
|
|
482
|
-
return await this.postData('/connector/logs', logEntry, {}, { baseUrl: UrlBase.ApiBase });
|
|
483
|
-
}
|
|
484
|
-
/**
|
|
485
|
-
* Send bulk connector logs to the MM API
|
|
486
|
-
* @param logs Array of log entries to send
|
|
487
|
-
* @returns Promise with the API response
|
|
488
|
-
*/
|
|
489
|
-
async sendBulkConnectorLogs(logs) {
|
|
490
|
-
return await this.postData('/connector/logs', { logs }, {}, { baseUrl: UrlBase.ApiBase });
|
|
491
|
-
}
|
|
492
|
-
async deleteFailedLaborTicketIds(system, laborTicketRefs) {
|
|
493
|
-
return await this.postData(`${this.resourceURLs[ERPObjType.LABOR_TICKETS]}/failed/remove`, { laborTicketRefs }, { system });
|
|
494
|
-
}
|
|
495
|
-
/**
|
|
496
|
-
* Fetch machine groups from the MM API
|
|
497
|
-
* @returns Promise with the machine groups data
|
|
498
|
-
*/
|
|
499
|
-
async fetchMachineGroups() {
|
|
500
|
-
return (await this.getData(this.resourceURLs[MACHINE_GROUPS], {}, { baseUrl: UrlBase.ApiBase }));
|
|
501
|
-
}
|
|
502
|
-
/**
|
|
503
|
-
* Fetch resources using GraphQL
|
|
504
|
-
* @returns Promise with the resources data
|
|
505
|
-
*/
|
|
506
|
-
async fetchResourcesFromGraphQL() {
|
|
507
|
-
return (await this.graphqlRequest("getErpResources", "query getErpResources { machineResource: erpResources { machineRef machineGroupId resourceId }}"));
|
|
508
|
-
}
|
|
509
|
-
/**
|
|
510
|
-
* Cleanup all HTTP connections and resources
|
|
511
|
-
* Call this when the service is no longer needed
|
|
512
|
-
*/
|
|
513
|
-
async destroy() {
|
|
514
|
-
await this.api.destroy();
|
|
515
|
-
// Note: MMTokenManager doesn't currently need explicit cleanup
|
|
516
|
-
// but if it ever acquires resources that need cleanup, add it here
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
//# sourceMappingURL=mm-api-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mm-api-service.js","sourceRoot":"","sources":["../../../src/services/mm-api-service/mm-api-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { getCachedMMToken, setCachedMMToken, } from "../../utils/local-data-store/jobs-shared-data.js";
|
|
2
|
-
import { HTTPClientFactory } from "../../utils/http-client.js";
|
|
3
|
-
import { CoreConfiguration } from "../data-sync-service/configuration-manager.js";
|
|
4
|
-
import { logger } from "../reporting-service/index.js";
|
|
5
|
-
/**
|
|
6
|
-
* Manages the MM API token with caching and expiration checking
|
|
7
|
-
* Tokens are cached across jobs and job instances in local-data-store/jobs-shared-data.ts
|
|
8
|
-
* @jest-environment node
|
|
9
|
-
*/
|
|
10
|
-
export class MMTokenManager {
|
|
11
|
-
token;
|
|
12
|
-
tokenExpiration;
|
|
13
|
-
baseUrl;
|
|
14
|
-
api;
|
|
15
|
-
constructor() {
|
|
16
|
-
const cached = getCachedMMToken();
|
|
17
|
-
this.token = cached?.token || "";
|
|
18
|
-
this.tokenExpiration = cached?.expiration
|
|
19
|
-
? new Date(cached.expiration)
|
|
20
|
-
: null;
|
|
21
|
-
const config = CoreConfiguration.inst();
|
|
22
|
-
console.log("=== MMTOKEN MANAGER DEBUG ===");
|
|
23
|
-
console.log("config.mmApiBaseUrl:", config.mmApiBaseUrl);
|
|
24
|
-
console.log("config object keys:", Object.keys(config));
|
|
25
|
-
this.baseUrl = config.mmApiBaseUrl;
|
|
26
|
-
console.log("this.baseUrl set to:", this.baseUrl);
|
|
27
|
-
console.log("=== END MMTOKEN MANAGER DEBUG ===");
|
|
28
|
-
this.api = HTTPClientFactory.getInstance({
|
|
29
|
-
baseUrl: this.baseUrl,
|
|
30
|
-
retryAttempts: config.mmApiRetryAttempts,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Checks if the current token is expired or will expire within the next minute
|
|
35
|
-
* @returns boolean indicating if token needs refresh
|
|
36
|
-
*/
|
|
37
|
-
isTokenExpired() {
|
|
38
|
-
if (!this.tokenExpiration)
|
|
39
|
-
return true;
|
|
40
|
-
// Add 1 minute buffer to ensure we refresh before actual expiration
|
|
41
|
-
const bufferTimeMS = 60_000;
|
|
42
|
-
const isExpired = this.tokenExpiration.getTime() - bufferTimeMS <= Date.now();
|
|
43
|
-
if (isExpired) {
|
|
44
|
-
logger.info("isTokenExpired: the api token from MM has expired");
|
|
45
|
-
}
|
|
46
|
-
return isExpired;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Safely extracts expiration time from JWT token
|
|
50
|
-
* @param token JWT token string
|
|
51
|
-
* @returns Date object representing token expiration, or null if cannot be determined
|
|
52
|
-
*/
|
|
53
|
-
getTokenExpiration(token) {
|
|
54
|
-
try {
|
|
55
|
-
// Split token into parts
|
|
56
|
-
const parts = token.split(".");
|
|
57
|
-
if (parts.length !== 3) {
|
|
58
|
-
console.warn("Invalid JWT format: token does not have 3 parts");
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
// Decode payload (second part)
|
|
62
|
-
const payload = Buffer.from(parts[1], "base64").toString("utf-8");
|
|
63
|
-
const decodedPayload = JSON.parse(payload);
|
|
64
|
-
// Check if exp claim exists
|
|
65
|
-
if (typeof decodedPayload.exp !== "number") {
|
|
66
|
-
console.warn("JWT does not contain expiration time (exp claim)");
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
69
|
-
// Convert Unix timestamp (seconds) to Date
|
|
70
|
-
return new Date(decodedPayload.exp * 1000);
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
console.warn("Error parsing JWT token:", error);
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Gets a valid token, either from cache or by requesting a new one
|
|
79
|
-
* @returns Promise resolving to a valid token string
|
|
80
|
-
*/
|
|
81
|
-
async getToken() {
|
|
82
|
-
if (this.token && !this.isTokenExpired()) {
|
|
83
|
-
return this.token;
|
|
84
|
-
}
|
|
85
|
-
const config = CoreConfiguration.inst();
|
|
86
|
-
const serviceToken = config.mmApiAuthToken;
|
|
87
|
-
const tokenResponse = await this.api.request({
|
|
88
|
-
url: "/user-token",
|
|
89
|
-
method: "GET",
|
|
90
|
-
headers: {
|
|
91
|
-
Authorization: `Bearer ${serviceToken}`,
|
|
92
|
-
},
|
|
93
|
-
});
|
|
94
|
-
this.token = tokenResponse.data;
|
|
95
|
-
this.tokenExpiration = this.getTokenExpiration(this.token);
|
|
96
|
-
// Cache the new token and its expiration
|
|
97
|
-
setCachedMMToken({
|
|
98
|
-
token: this.token,
|
|
99
|
-
expiration: this.tokenExpiration?.getTime() || null,
|
|
100
|
-
});
|
|
101
|
-
logger.info("getToken: the api token from MM has been refreshed");
|
|
102
|
-
return this.token;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Invalidates the current token, forcing a fresh fetch on next getToken() call
|
|
106
|
-
*/
|
|
107
|
-
invalidateToken() {
|
|
108
|
-
this.token = "";
|
|
109
|
-
this.tokenExpiration = null;
|
|
110
|
-
setCachedMMToken({ token: "", expiration: null });
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=token-mgr.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-mgr.js","sourceRoot":"","sources":["../../../src/services/mm-api-service/token-mgr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../../../src/services/mm-api-service/types/checkpoint.ts"],"names":[],"mappings":""}
|