@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 +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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"20241015162632_create_sdk_cache_table.d.ts","sourceRoot":"","sources":["../../src/migrations/20241015162632_create_sdk_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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"20250103162631_create_record_tracking_table.d.ts","sourceRoot":"","sources":["../../src/migrations/20250103162631_create_record_tracking_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { HashedCacheManager } from "./hashed-cache-manager.js";
|
|
2
|
-
export class BatchCacheManager {
|
|
3
|
-
cacheManager;
|
|
4
|
-
constructor(options) {
|
|
5
|
-
this.cacheManager = new HashedCacheManager({
|
|
6
|
-
ttl: options?.ttl,
|
|
7
|
-
tableName: options?.tableName,
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Checks a batch of objects against the cache and separates them into duplicates and non-duplicates
|
|
12
|
-
* @param type The type of objects
|
|
13
|
-
* @param objects Array of objects to check
|
|
14
|
-
* @returns Object containing arrays of duplicate and non-duplicate objects
|
|
15
|
-
*/
|
|
16
|
-
async dedupeBatch(type, objects) {
|
|
17
|
-
const result = {
|
|
18
|
-
duplicates: [],
|
|
19
|
-
nonDuplicates: [],
|
|
20
|
-
};
|
|
21
|
-
// Check each object individually
|
|
22
|
-
for (const object of objects) {
|
|
23
|
-
const hasChanged = await this.cacheManager.hasChanged(type, object);
|
|
24
|
-
if (hasChanged) {
|
|
25
|
-
result.nonDuplicates.push(object);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
result.duplicates.push(object);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return result;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Stores a batch of objects in the cache
|
|
35
|
-
* @param type The type of objects
|
|
36
|
-
* @param objects Array of objects to store
|
|
37
|
-
*/
|
|
38
|
-
async storeBatch(type, objects) {
|
|
39
|
-
// Store each object individually
|
|
40
|
-
let totalInserted = 0;
|
|
41
|
-
for (const object of objects) {
|
|
42
|
-
if (await this.cacheManager.store(type, object)) {
|
|
43
|
-
totalInserted++;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return { totalInserted };
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Removes objects from the cache
|
|
50
|
-
* @param type The type of objects
|
|
51
|
-
* @param objects Array of objects to remove
|
|
52
|
-
*/
|
|
53
|
-
async removeObjects(type, objects) {
|
|
54
|
-
// Remove each object individually
|
|
55
|
-
for (const object of objects) {
|
|
56
|
-
await this.cacheManager.removeRecord(type, object);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Gets all records of a specific type
|
|
61
|
-
*/
|
|
62
|
-
async getRecordsByType(type) {
|
|
63
|
-
return this.cacheManager.getRecordsByType(type);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Removes all records of a specific type
|
|
67
|
-
*/
|
|
68
|
-
async removeRecordsByType(type) {
|
|
69
|
-
return this.cacheManager.removeRecordsByType(type);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Clears all records from the cache
|
|
73
|
-
*/
|
|
74
|
-
async clear() {
|
|
75
|
-
return this.cacheManager.clear();
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Cleans up resources
|
|
79
|
-
*/
|
|
80
|
-
async destroy() {
|
|
81
|
-
return this.cacheManager.destroy();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=batch-cache-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"batch-cache-manager.js","sourceRoot":"","sources":["../../../src/services/caching-service/batch-cache-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAa/D,MAAM,OAAO,iBAAiB;IACpB,YAAY,CAAqB;IAEzC,YAAY,OAAkC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAkB,CAAC;YACzC,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,SAAS,EAAE,OAAO,EAAE,SAAS;SAC9B,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,IAAgB,EAChB,OAAiB;QAEjB,MAAM,MAAM,GAAwB;YAClC,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;SAClB,CAAC;QAEF,iCAAiC;QACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEpE,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CACd,IAAgB,EAChB,OAAiB;QAEjB,iCAAiC;QACjC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;gBAChD,aAAa,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,IAAgB,EAAE,OAAiB;QACrD,kCAAkC;QAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAgB;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,IAAgB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
import knex from "knex";
|
|
2
|
-
import config from "../../knexfile.js";
|
|
3
|
-
import stringify from "json-stable-stringify";
|
|
4
|
-
import XXH from "xxhashjs";
|
|
5
|
-
import { CoreConfiguration } from "../data-sync-service/configuration-manager.js";
|
|
6
|
-
import { logger } from "../reporting-service/index.js";
|
|
7
|
-
export class HashedCacheManager {
|
|
8
|
-
static TABLE_NAME = "sdk_cache";
|
|
9
|
-
db;
|
|
10
|
-
options;
|
|
11
|
-
static SEED = 0xabcd; // Arbitrary seed for hashing
|
|
12
|
-
isDestroyed = false;
|
|
13
|
-
metrics = {
|
|
14
|
-
recordCounts: {},
|
|
15
|
-
};
|
|
16
|
-
constructor(options) {
|
|
17
|
-
this.options = {
|
|
18
|
-
ttl: options?.ttl || CoreConfiguration.inst().cacheTTL,
|
|
19
|
-
tableName: options?.tableName || HashedCacheManager.TABLE_NAME,
|
|
20
|
-
};
|
|
21
|
-
this.db = knex({
|
|
22
|
-
...config.local,
|
|
23
|
-
pool: {
|
|
24
|
-
min: 0,
|
|
25
|
-
max: 10,
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Checks if the cache manager is still valid
|
|
31
|
-
* @throws Error if the cache manager has been destroyed
|
|
32
|
-
*/
|
|
33
|
-
checkValid() {
|
|
34
|
-
if (this.isDestroyed) {
|
|
35
|
-
throw new Error("Cache manager has been destroyed");
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Generates a stable hash of a record using JSON stringify + xxhash
|
|
40
|
-
*/
|
|
41
|
-
static hashRecord(record) {
|
|
42
|
-
try {
|
|
43
|
-
const serialized = stringify(record);
|
|
44
|
-
if (!serialized) {
|
|
45
|
-
throw new Error("Failed to serialize record for hashing");
|
|
46
|
-
}
|
|
47
|
-
const hash = XXH.h64(serialized, HashedCacheManager.SEED).toString(16);
|
|
48
|
-
return hash;
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
if (error instanceof Error && error.message.includes("circular")) {
|
|
52
|
-
throw new Error("Failed to serialize record for hashing");
|
|
53
|
-
}
|
|
54
|
-
throw error;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Gets a record from the cache
|
|
59
|
-
* @param type The type of record
|
|
60
|
-
* @param hash The hash of the record
|
|
61
|
-
* @returns The record if it exists, null otherwise
|
|
62
|
-
*/
|
|
63
|
-
async getRecord(type, hash) {
|
|
64
|
-
this.checkValid();
|
|
65
|
-
return this.db(this.options.tableName)
|
|
66
|
-
.select("key")
|
|
67
|
-
.where({ type, key: hash })
|
|
68
|
-
.first();
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Stores a record in the cache
|
|
72
|
-
* @param type The type of record
|
|
73
|
-
* @param record The record to store
|
|
74
|
-
* @returns true if a new record was created, false if an existing record was updated
|
|
75
|
-
*/
|
|
76
|
-
async store(type, record) {
|
|
77
|
-
if (!this.isDestroyed && record) {
|
|
78
|
-
try {
|
|
79
|
-
const hash = HashedCacheManager.hashRecord(record);
|
|
80
|
-
const now = new Date();
|
|
81
|
-
// First check if record exists with same type and hash
|
|
82
|
-
const existing = await this.db(this.options.tableName)
|
|
83
|
-
.where({
|
|
84
|
-
type,
|
|
85
|
-
key: hash,
|
|
86
|
-
})
|
|
87
|
-
.first();
|
|
88
|
-
if (existing) {
|
|
89
|
-
return false; // No need to update, hash hasn't changed
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
// Insert new record with minimal data
|
|
93
|
-
const result = await this.db(this.options.tableName)
|
|
94
|
-
.insert({
|
|
95
|
-
type,
|
|
96
|
-
key: hash,
|
|
97
|
-
created_at: now,
|
|
98
|
-
})
|
|
99
|
-
.returning("id");
|
|
100
|
-
return result.length > 0;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
logger.error("Error storing record:", error);
|
|
105
|
-
throw error;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return false;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Checks if a record has changed since last seen
|
|
112
|
-
* @param type The type of record
|
|
113
|
-
* @param record The record to check
|
|
114
|
-
* @returns true if the record has changed or is new
|
|
115
|
-
*/
|
|
116
|
-
async hasChanged(type, record) {
|
|
117
|
-
this.checkValid();
|
|
118
|
-
const newHash = HashedCacheManager.hashRecord(record);
|
|
119
|
-
const existing = await this.getRecord(type, newHash);
|
|
120
|
-
return !existing;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Checks if a record has changed and stores it if it has
|
|
124
|
-
* @param type The type of record
|
|
125
|
-
* @param record The record to check and store
|
|
126
|
-
* @returns true if the record was changed or is new
|
|
127
|
-
*/
|
|
128
|
-
async upsert(type, record) {
|
|
129
|
-
this.checkValid();
|
|
130
|
-
const hasChanged = await this.hasChanged(type, record);
|
|
131
|
-
if (hasChanged) {
|
|
132
|
-
await this.store(type, record);
|
|
133
|
-
}
|
|
134
|
-
return hasChanged;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Removes expired records based on TTL
|
|
138
|
-
*/
|
|
139
|
-
async removeExpiredObjects() {
|
|
140
|
-
this.checkValid();
|
|
141
|
-
const ttl = this.options.ttl;
|
|
142
|
-
if (!ttl)
|
|
143
|
-
return;
|
|
144
|
-
const ttlMilliseconds = ttl * 1000;
|
|
145
|
-
const expirationLimitDate = new Date(Date.now() - ttlMilliseconds);
|
|
146
|
-
const expirationLimit = expirationLimitDate
|
|
147
|
-
.toISOString()
|
|
148
|
-
.slice(0, 19)
|
|
149
|
-
.replace("T", " ");
|
|
150
|
-
await this.db(this.options.tableName)
|
|
151
|
-
.where("created_at", "<", expirationLimit)
|
|
152
|
-
.del();
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Gets all records of a specific type
|
|
156
|
-
*/
|
|
157
|
-
async getRecordsByType(type) {
|
|
158
|
-
this.checkValid();
|
|
159
|
-
const records = await this.db(this.options.tableName)
|
|
160
|
-
.select("key")
|
|
161
|
-
.where({ type });
|
|
162
|
-
return records.map((record) => record.key);
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Removes all records of a specific type
|
|
166
|
-
*/
|
|
167
|
-
async removeRecordsByType(type) {
|
|
168
|
-
this.checkValid();
|
|
169
|
-
await this.db(this.options.tableName).where({ type }).del();
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Removes a specific record
|
|
173
|
-
*/
|
|
174
|
-
async removeRecord(type, record) {
|
|
175
|
-
if (!this.isDestroyed) {
|
|
176
|
-
try {
|
|
177
|
-
const hash = HashedCacheManager.hashRecord(record);
|
|
178
|
-
await this.db(this.options.tableName)
|
|
179
|
-
.where({ type, key: hash }) // Use key for deletion
|
|
180
|
-
.del();
|
|
181
|
-
}
|
|
182
|
-
catch (error) {
|
|
183
|
-
logger.error("Error removing record:", error);
|
|
184
|
-
throw error;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Clears all records from the cache
|
|
190
|
-
*/
|
|
191
|
-
async clear() {
|
|
192
|
-
this.checkValid();
|
|
193
|
-
await this.db(this.options.tableName).del();
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Cleans up database connection and marks the cache manager as destroyed
|
|
197
|
-
*/
|
|
198
|
-
async destroy() {
|
|
199
|
-
if (!this.isDestroyed) {
|
|
200
|
-
await this.db.destroy();
|
|
201
|
-
this.isDestroyed = true;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Gets the current cache metrics
|
|
206
|
-
* @returns The current cache metrics
|
|
207
|
-
*/
|
|
208
|
-
async getMetrics() {
|
|
209
|
-
this.checkValid();
|
|
210
|
-
// Get counts for each type
|
|
211
|
-
const counts = (await this.db(this.options.tableName)
|
|
212
|
-
.select("type")
|
|
213
|
-
.count("* as count")
|
|
214
|
-
.groupBy("type"));
|
|
215
|
-
// Update metrics
|
|
216
|
-
this.metrics.recordCounts = counts.reduce((acc, row) => {
|
|
217
|
-
acc[row.type] = parseInt(row.count, 10);
|
|
218
|
-
return acc;
|
|
219
|
-
}, {});
|
|
220
|
-
return this.metrics;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
//# sourceMappingURL=hashed-cache-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hashed-cache-manager.js","sourceRoot":"","sources":["../../../src/services/caching-service/hashed-cache-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/caching-service/index.ts"],"names":[],"mappings":""}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import knex from "knex";
|
|
2
|
-
import config from "../../knexfile.js";
|
|
3
|
-
const DEFAULT_RECORD_TRACKING_TABLE_NAME = "record_tracking";
|
|
4
|
-
export class RecordTrackingManager {
|
|
5
|
-
db;
|
|
6
|
-
constructor() {
|
|
7
|
-
this.db = knex(config.local);
|
|
8
|
-
}
|
|
9
|
-
async updateRecord(record) {
|
|
10
|
-
if (record.lastValue && record.recordId) {
|
|
11
|
-
const recordUpdated = await this.db(DEFAULT_RECORD_TRACKING_TABLE_NAME)
|
|
12
|
-
.where({ entityType: record.entityType })
|
|
13
|
-
.update(record);
|
|
14
|
-
if (recordUpdated < 1) {
|
|
15
|
-
await this.db(DEFAULT_RECORD_TRACKING_TABLE_NAME).insert(record);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
async getTrackingRecord(type) {
|
|
20
|
-
return await this.db(DEFAULT_RECORD_TRACKING_TABLE_NAME)
|
|
21
|
-
.select("*")
|
|
22
|
-
.where({ entityType: type.toString() });
|
|
23
|
-
}
|
|
24
|
-
async destroy() {
|
|
25
|
-
return this.db.destroy();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=record-tracking-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"record-tracking-manager.js","sourceRoot":"","sources":["../../../src/services/caching-service/record-tracking-manager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAc,MAAM,MAAM,CAAC;AAClC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,MAAM,kCAAkC,GAAG,iBAAiB,CAAC;AAQ7D,MAAM,OAAO,qBAAqB;IAChC,EAAE,CAAO;IAET;QACE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA4B;QAC7C,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,kCAAkC,CAAC;iBACpE,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;iBACxC,MAAM,CAAC,MAAM,CAAC,CAAC;YAElB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,EAAE,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAgB;QACtC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,kCAAkC,CAAC;aACrD,MAAM,CAAC,GAAG,CAAC;aACX,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import "dotenv/config";
|
|
2
|
-
import { configureLogger } from "../reporting-service/logger.js";
|
|
3
|
-
import { getEnvBoolean, getEnvNumber, getEnvString } from "../../utils/env.js";
|
|
4
|
-
export class CoreConfiguration {
|
|
5
|
-
static instance;
|
|
6
|
-
// General Configuration
|
|
7
|
-
logLevel;
|
|
8
|
-
erpSystem;
|
|
9
|
-
nodeEnv;
|
|
10
|
-
// MM API (aka "Mapping") Service
|
|
11
|
-
mmERPSvcApiBaseUrl;
|
|
12
|
-
mmApiBaseUrl;
|
|
13
|
-
mmApiAuthToken;
|
|
14
|
-
mmApiRetryAttempts;
|
|
15
|
-
// Caching (optionally used for interacting with the MM API)
|
|
16
|
-
cacheTTL;
|
|
17
|
-
// ERP API Service
|
|
18
|
-
erpApiPagingLimit; //Pagination limit for ERP API
|
|
19
|
-
// Job timing Intervals
|
|
20
|
-
fromErpInterval;
|
|
21
|
-
toErpInterval;
|
|
22
|
-
retryLaborTicketsInterval;
|
|
23
|
-
cacheExpirationCheckInterval;
|
|
24
|
-
constructor() {
|
|
25
|
-
this.logLevel = getEnvString("LOG_LEVEL", "info");
|
|
26
|
-
this.erpSystem = getEnvString("ERP_SYSTEM", "template");
|
|
27
|
-
this.nodeEnv = getEnvString("NODE_ENV", "development");
|
|
28
|
-
//#region MM API (aka "Mapping") Service
|
|
29
|
-
/**
|
|
30
|
-
* MM ERP Service REST API URL (typically https://erp-api.svc.machinemetrics.com)
|
|
31
|
-
*/
|
|
32
|
-
this.mmERPSvcApiBaseUrl = getEnvString("MM_MAPPING_SERVICE_URL", "");
|
|
33
|
-
/**
|
|
34
|
-
* MM REST API URL (typically https://api.machinemetrics.com)
|
|
35
|
-
*/
|
|
36
|
-
console.log("=== CONFIG DEBUG ===");
|
|
37
|
-
const mmAuthSvcUrl = getEnvString("MM_MAPPING_AUTH_SERVICE_URL", "");
|
|
38
|
-
console.log("MM_MAPPING_AUTH_SERVICE_URL env var:", mmAuthSvcUrl);
|
|
39
|
-
this.mmApiBaseUrl = mmAuthSvcUrl;
|
|
40
|
-
console.log("mmApiBaseUrl set to:", this.mmApiBaseUrl);
|
|
41
|
-
console.log("=== END CONFIG DEBUG ===");
|
|
42
|
-
/**
|
|
43
|
-
* Company Auth Token
|
|
44
|
-
*/
|
|
45
|
-
this.mmApiAuthToken = getEnvString("MM_MAPPING_SERVICE_TOKEN", "");
|
|
46
|
-
/**
|
|
47
|
-
* Number of retry attempts for MM API calls
|
|
48
|
-
*/
|
|
49
|
-
this.mmApiRetryAttempts = getEnvNumber("RETRY_ATTEMPTS", 0);
|
|
50
|
-
//#endregion MM API (aka "Mapping") Service
|
|
51
|
-
/**
|
|
52
|
-
* Default pagination limit for ERP API
|
|
53
|
-
*/
|
|
54
|
-
this.erpApiPagingLimit = getEnvNumber("ERP_PAGINATION_LIMIT", 0);
|
|
55
|
-
//#endregion ERP API Service
|
|
56
|
-
/**
|
|
57
|
-
* For how to define the intervals, see Bree's documentation: https://github.com/breejs/bree
|
|
58
|
-
*/
|
|
59
|
-
const pollInterval = getEnvString("POLL_INTERVAL", "");
|
|
60
|
-
this.fromErpInterval = getEnvString("FROM_ERP_INTERVAL", pollInterval || "5 min");
|
|
61
|
-
this.toErpInterval = getEnvString("TO_ERP_INTERVAL", "5 min");
|
|
62
|
-
this.retryLaborTicketsInterval = getEnvString("RETRY_LABOR_TICKETS_INTERVAL", "30 min");
|
|
63
|
-
this.cacheExpirationCheckInterval = getEnvString("CACHE_EXPIRATION_CHECK_INTERVAL", "5 min");
|
|
64
|
-
/**
|
|
65
|
-
* Cache TTL (in seconds)
|
|
66
|
-
*/
|
|
67
|
-
const cacheTTLDef = 7 * 24 * 60 * 60; // 7 days
|
|
68
|
-
this.cacheTTL = getEnvNumber("CACHE_TTL", cacheTTLDef);
|
|
69
|
-
// Configure the logger with our settings
|
|
70
|
-
configureLogger(this.logLevel, this.nodeEnv);
|
|
71
|
-
}
|
|
72
|
-
static inst() {
|
|
73
|
-
if (!CoreConfiguration.instance) {
|
|
74
|
-
CoreConfiguration.instance = new CoreConfiguration();
|
|
75
|
-
}
|
|
76
|
-
return CoreConfiguration.instance;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Returns a sanitized version of the configuration for safe logging.
|
|
80
|
-
* Masks sensitive fields like authentication tokens.
|
|
81
|
-
*/
|
|
82
|
-
toSafeLogObject() {
|
|
83
|
-
const maskSensitiveValue = (value) => {
|
|
84
|
-
if (!value || value.length === 0) {
|
|
85
|
-
return "";
|
|
86
|
-
}
|
|
87
|
-
if (value.length < 6) {
|
|
88
|
-
return "********";
|
|
89
|
-
}
|
|
90
|
-
// Show first 3 and last 3 characters, mask the middle
|
|
91
|
-
return value.substring(0, 3) + "********" + value.substring(value.length - 3);
|
|
92
|
-
};
|
|
93
|
-
return {
|
|
94
|
-
logLevel: this.logLevel,
|
|
95
|
-
erpSystem: this.erpSystem,
|
|
96
|
-
nodeEnv: this.nodeEnv,
|
|
97
|
-
mmERPSvcApiBaseUrl: this.mmERPSvcApiBaseUrl,
|
|
98
|
-
mmApiBaseUrl: this.mmApiBaseUrl,
|
|
99
|
-
mmApiAuthToken: maskSensitiveValue(this.mmApiAuthToken),
|
|
100
|
-
mmApiRetryAttempts: this.mmApiRetryAttempts,
|
|
101
|
-
cacheTTL: this.cacheTTL,
|
|
102
|
-
erpApiPagingLimit: this.erpApiPagingLimit,
|
|
103
|
-
fromErpInterval: this.fromErpInterval,
|
|
104
|
-
toErpInterval: this.toErpInterval,
|
|
105
|
-
retryLaborTicketsInterval: this.retryLaborTicketsInterval,
|
|
106
|
-
cacheExpirationCheckInterval: this.cacheExpirationCheckInterval,
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Helper function to get the SQL Server Configuration for collectors that use SQL Server to interact with the ERP
|
|
112
|
-
*/
|
|
113
|
-
export const getSQLServerConfiguration = () => {
|
|
114
|
-
return {
|
|
115
|
-
username: getEnvString("ERP_SQLSERVER_USERNAME", ""),
|
|
116
|
-
password: getEnvString("ERP_SQLSERVER_PASSWORD", ""),
|
|
117
|
-
database: getEnvString("ERP_SQLSERVER_DATABASE", ""),
|
|
118
|
-
host: getEnvString("ERP_SQLSERVER_HOST", getEnvString("ERP_SQLSERVER_SERVER", "")),
|
|
119
|
-
port: getEnvString("ERP_SQLSERVER_PORT", "1433"),
|
|
120
|
-
connectionTimeout: getEnvString("ERP_SQLSERVER_CONNECTION_TIMEOUT", "30000"),
|
|
121
|
-
requestTimeout: getEnvString("ERP_SQLSERVER_REQUEST_TIMEOUT", "60000"),
|
|
122
|
-
poolMax: getEnvString("ERP_SQLSERVER_MAX", "10"),
|
|
123
|
-
poolMin: getEnvString("ERP_SQLSERVER_MIN", "0"),
|
|
124
|
-
idleTimeoutMillis: getEnvString("ERP_SQLSERVER_IDLE_TIMEOUT_MMILLIS", "30000"),
|
|
125
|
-
encrypt: getEnvBoolean("ERP_SQLSERVER_ENCRYPT", false),
|
|
126
|
-
trustServer: getEnvBoolean("ERP_SQLSERVER_TRUST_SERVER", false),
|
|
127
|
-
};
|
|
128
|
-
};
|
|
129
|
-
/**
|
|
130
|
-
* Parameters required to connect to an ERP system via its API.
|
|
131
|
-
* Contains all the necessary settings to establish a connection and authenticate with an ERP system's API.
|
|
132
|
-
*/
|
|
133
|
-
export class ErpApiConnectionParams {
|
|
134
|
-
erpApiUrl;
|
|
135
|
-
erpApiClientId;
|
|
136
|
-
erpApiClientSecret;
|
|
137
|
-
erpApiOrganizationId;
|
|
138
|
-
erpAuthBaseUrl;
|
|
139
|
-
retryAttempts;
|
|
140
|
-
constructor(erpApiUrl, // Base url of ERP
|
|
141
|
-
erpApiClientId, // Client ID to authenticate with ERP
|
|
142
|
-
erpApiClientSecret, // Client Secret to authenticate with ERP
|
|
143
|
-
erpApiOrganizationId, // Organization / tenant Id
|
|
144
|
-
erpAuthBaseUrl, // Auth base url
|
|
145
|
-
retryAttempts = 3 // Number of retry attempts for API calls
|
|
146
|
-
) {
|
|
147
|
-
this.erpApiUrl = erpApiUrl;
|
|
148
|
-
this.erpApiClientId = erpApiClientId;
|
|
149
|
-
this.erpApiClientSecret = erpApiClientSecret;
|
|
150
|
-
this.erpApiOrganizationId = erpApiOrganizationId;
|
|
151
|
-
this.erpAuthBaseUrl = erpAuthBaseUrl;
|
|
152
|
-
this.retryAttempts = retryAttempts;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Helper function to get the ERP API Connection Parameters
|
|
157
|
-
* Not all connectors use these, but keeping these commonly values in one place may
|
|
158
|
-
* make it easier to set and understand env var names set in App.
|
|
159
|
-
*/
|
|
160
|
-
export const getErpApiConnectionParams = () => {
|
|
161
|
-
return new ErpApiConnectionParams(getEnvString("ERP_API_URL", ""), getEnvString("ERP_API_CLIENT_ID", ""), getEnvString("ERP_API_CLIENT_SECRET", ""), getEnvString("ERP_API_ORGANIZATION_ID", ""), getEnvString("ERP_AUTH_BASE_URL", ""), getEnvNumber("ERP_API_RETRY_ATTEMPTS", 3));
|
|
162
|
-
};
|
|
163
|
-
//# sourceMappingURL=configuration-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-manager.js","sourceRoot":"","sources":["../../../src/services/data-sync-service/configuration-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import Bree from "bree";
|
|
2
|
-
import Graceful from "@ladjs/graceful";
|
|
3
|
-
import path from "path";
|
|
4
|
-
import { fileURLToPath } from "url";
|
|
5
|
-
import { CoreConfiguration } from "./configuration-manager.js";
|
|
6
|
-
import logger from "../reporting-service/logger.js";
|
|
7
|
-
const GracefulClass = Graceful;
|
|
8
|
-
export const runDataSyncService = async (connectorPath) => {
|
|
9
|
-
const config = CoreConfiguration.inst();
|
|
10
|
-
try {
|
|
11
|
-
// Find the SDK's node_modules directory and jobs path using ES module import
|
|
12
|
-
const currentFileUrl = import.meta.url;
|
|
13
|
-
const currentFilePath = fileURLToPath(currentFileUrl);
|
|
14
|
-
// Navigate from current file to the SDK root and then to jobs
|
|
15
|
-
// Current: /path/to/sdk/dist/mm-erp-sdk.js.js
|
|
16
|
-
// Target: /path/to/sdk/dist/services/data-sync-service/jobs
|
|
17
|
-
const sdkDistPath = path.dirname(currentFilePath);
|
|
18
|
-
const jobsPath = path.join(sdkDistPath, "jobs");
|
|
19
|
-
const bree = new Bree({
|
|
20
|
-
root: jobsPath,
|
|
21
|
-
logger,
|
|
22
|
-
worker: {
|
|
23
|
-
env: {
|
|
24
|
-
CONNECTOR_PATH: connectorPath,
|
|
25
|
-
// Pass through all required environment variables
|
|
26
|
-
MM_MAPPING_SERVICE_URL: process.env.MM_MAPPING_SERVICE_URL,
|
|
27
|
-
MM_MAPPING_AUTH_SERVICE_URL: process.env.MM_MAPPING_AUTH_SERVICE_URL,
|
|
28
|
-
MM_MAPPING_SERVICE_TOKEN: process.env.MM_MAPPING_SERVICE_TOKEN,
|
|
29
|
-
ERP_SYSTEM: process.env.ERP_SYSTEM,
|
|
30
|
-
LOG_LEVEL: process.env.LOG_LEVEL,
|
|
31
|
-
NODE_ENV: process.env.NODE_ENV,
|
|
32
|
-
RETRY_ATTEMPTS: process.env.RETRY_ATTEMPTS,
|
|
33
|
-
CACHE_TTL: process.env.CACHE_TTL,
|
|
34
|
-
// Pass through all other environment variables that might be needed
|
|
35
|
-
...process.env,
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
jobs: [
|
|
39
|
-
// {
|
|
40
|
-
// name: 'run-migrations', // Running this once on startup will create the tables in the sqlite database
|
|
41
|
-
// },
|
|
42
|
-
{
|
|
43
|
-
name: "from-erp",
|
|
44
|
-
timeout: "10s",
|
|
45
|
-
interval: config.fromErpInterval,
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: "to-erp",
|
|
49
|
-
//timeout: '3s', // Use timeout during development to see the job in action quickly
|
|
50
|
-
interval: config.toErpInterval,
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "retry-failed-labor-tickets",
|
|
54
|
-
interval: config.retryLaborTicketsInterval,
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
name: "clean-up-expired-cache",
|
|
58
|
-
interval: config.cacheExpirationCheckInterval,
|
|
59
|
-
},
|
|
60
|
-
],
|
|
61
|
-
});
|
|
62
|
-
logger.info("\n================================INITIATING DATA SYNC CYCLES (Bree)================================\n");
|
|
63
|
-
const jobsConfig = bree.config.jobs.map((job) => ({
|
|
64
|
-
name: job.name,
|
|
65
|
-
interval: job.interval,
|
|
66
|
-
timeout: job.timeout,
|
|
67
|
-
}));
|
|
68
|
-
logger.info("JOBS CONFIGURATION:", { jobs: jobsConfig });
|
|
69
|
-
const graceful = new GracefulClass({ brees: [bree] });
|
|
70
|
-
graceful.listen();
|
|
71
|
-
(async () => {
|
|
72
|
-
await bree.start();
|
|
73
|
-
})();
|
|
74
|
-
bree.on("jobStarted", (job) => {
|
|
75
|
-
console.log("Job " + job.name + " started");
|
|
76
|
-
});
|
|
77
|
-
bree.on("jobCompleted", (job) => {
|
|
78
|
-
if (job.error) {
|
|
79
|
-
console.error("Job " + job.name + " failed:", job.error);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
console.log("Job " + job.name + " completed successfully!");
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
bree.on("error", (error) => {
|
|
86
|
-
console.error("Bree error:", error);
|
|
87
|
-
});
|
|
88
|
-
// Exit and let the jobs take over
|
|
89
|
-
logger.info("\n================================DATA SYNC CYCLES INITIATION COMPLETED================================\n");
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
logger.error("startUp: Error initiating data sync cycles:", error);
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=data-sync-service.js.map
|