@machinemetrics/mm-erp-sdk 0.2.0-beta.0 → 0.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -5
- package/dist/config-CvA-mFWF.js +418 -0
- package/dist/config-CvA-mFWF.js.map +1 -0
- package/dist/connector-factory-BPm2GVVF.js +30 -0
- package/dist/connector-factory-BPm2GVVF.js.map +1 -0
- package/dist/hashed-cache-manager-B15NN8hK.js +322 -0
- package/dist/hashed-cache-manager-B15NN8hK.js.map +1 -0
- package/dist/index-D8qO1NyK.js +192 -0
- package/dist/index-D8qO1NyK.js.map +1 -0
- package/dist/index.d.ts +43 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/knexfile-Bng2Ru9c.js +20 -0
- package/dist/knexfile-Bng2Ru9c.js.map +1 -0
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/logger-BWw0_z9q.js +17557 -0
- package/dist/logger-BWw0_z9q.js.map +1 -0
- package/dist/migrations/20241015162631_create_cache_table.js +15 -11
- package/dist/migrations/20241015162631_create_cache_table.js.map +1 -1
- package/dist/migrations/20241015162632_create_sdk_cache_table.js +15 -11
- package/dist/migrations/20241015162632_create_sdk_cache_table.js.map +1 -1
- package/dist/migrations/20250103162631_create_record_tracking_table.js +15 -14
- package/dist/migrations/20250103162631_create_record_tracking_table.js.map +1 -1
- package/dist/mm-erp-sdk.js +4978 -0
- package/dist/mm-erp-sdk.js.map +1 -0
- package/dist/services/caching-service/batch-cache-manager.d.ts +1 -1
- package/dist/services/caching-service/batch-cache-manager.d.ts.map +1 -1
- package/dist/services/caching-service/hashed-cache-manager.d.ts +2 -2
- package/dist/services/caching-service/hashed-cache-manager.d.ts.map +1 -1
- package/dist/services/caching-service/index.d.ts +1 -1
- package/dist/services/caching-service/index.d.ts.map +1 -1
- package/dist/services/caching-service/record-tracking-manager.d.ts +1 -1
- package/dist/services/caching-service/record-tracking-manager.d.ts.map +1 -1
- package/dist/services/data-sync-service/configuration-manager.d.ts +1 -1
- package/dist/services/data-sync-service/configuration-manager.d.ts.map +1 -1
- package/dist/services/data-sync-service/data-sync-service.d.ts.map +1 -1
- package/dist/services/data-sync-service/index.d.ts +3 -3
- package/dist/services/data-sync-service/index.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/clean-up-expired-cache.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js +40 -42
- package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js.map +1 -1
- package/dist/services/data-sync-service/jobs/from-erp.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/from-erp.js +37 -50
- package/dist/services/data-sync-service/jobs/from-erp.js.map +1 -1
- package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js +36 -38
- package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js.map +1 -1
- package/dist/services/data-sync-service/jobs/run-migrations.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/run-migrations.js +22 -24
- package/dist/services/data-sync-service/jobs/run-migrations.js.map +1 -1
- package/dist/services/data-sync-service/jobs/to-erp.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/to-erp.js +46 -50
- package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
- package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts +30 -0
- package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts.map +1 -0
- package/dist/services/erp-api-services/errors.d.ts +1 -1
- package/dist/services/erp-api-services/errors.d.ts.map +1 -1
- package/dist/services/erp-api-services/graphql/graphql-service.d.ts +2 -2
- package/dist/services/erp-api-services/graphql/graphql-service.d.ts.map +1 -1
- package/dist/services/erp-api-services/index.d.ts +8 -8
- package/dist/services/erp-api-services/index.d.ts.map +1 -1
- package/dist/services/erp-api-services/rest/rest-api-service.d.ts +2 -2
- package/dist/services/erp-api-services/rest/rest-api-service.d.ts.map +1 -1
- package/dist/services/erp-api-services/types.d.ts +2 -2
- package/dist/services/erp-api-services/types.d.ts.map +1 -1
- package/dist/services/mm-api-service/company-info.d.ts +13 -0
- package/dist/services/mm-api-service/company-info.d.ts.map +1 -0
- package/dist/services/mm-api-service/index.d.ts +13 -6
- package/dist/services/mm-api-service/index.d.ts.map +1 -1
- package/dist/services/mm-api-service/mm-api-service.d.ts +13 -7
- package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
- package/dist/services/mm-api-service/types/entity-transformer.d.ts +2 -2
- package/dist/services/mm-api-service/types/entity-transformer.d.ts.map +1 -1
- package/dist/services/mm-api-service/types/receive-types.d.ts +3 -0
- package/dist/services/mm-api-service/types/receive-types.d.ts.map +1 -1
- package/dist/services/nats-service/nats-service.d.ts +114 -0
- package/dist/services/nats-service/nats-service.d.ts.map +1 -0
- package/dist/services/nats-service/test-nats-subscriber.d.ts +6 -0
- package/dist/services/nats-service/test-nats-subscriber.d.ts.map +1 -0
- package/dist/services/psql-erp-service/index.d.ts +3 -3
- package/dist/services/psql-erp-service/index.d.ts.map +1 -1
- package/dist/services/psql-erp-service/psql-service.d.ts +2 -2
- package/dist/services/psql-erp-service/psql-service.d.ts.map +1 -1
- package/dist/services/reporting-service/index.d.ts +1 -1
- package/dist/services/reporting-service/index.d.ts.map +1 -1
- package/dist/services/reporting-service/logger.d.ts.map +1 -1
- package/dist/services/sql-server-erp-service/index.d.ts +3 -3
- package/dist/services/sql-server-erp-service/index.d.ts.map +1 -1
- package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts +2 -2
- package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts.map +1 -1
- package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts +3 -3
- package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts.map +1 -1
- package/dist/services/sql-server-erp-service/sql-server-service.d.ts +2 -2
- package/dist/services/sql-server-erp-service/sql-server-service.d.ts.map +1 -1
- package/dist/services/sqlite-service/index.d.ts +1 -1
- package/dist/services/sqlite-service/index.d.ts.map +1 -1
- package/dist/types/erp-connector.d.ts +2 -9
- package/dist/types/erp-connector.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/connector-factory.d.ts +1 -1
- package/dist/utils/connector-factory.d.ts.map +1 -1
- package/dist/utils/connector-log/log-deduper.d.ts +1 -1
- package/dist/utils/connector-log/log-deduper.d.ts.map +1 -1
- package/dist/utils/connector-log/mm-connector-logger-example.d.ts +0 -1
- package/dist/utils/connector-log/mm-connector-logger.d.ts +1 -1
- package/dist/utils/connector-log/mm-connector-logger.d.ts.map +1 -1
- package/dist/utils/erp-type-from-entity.d.ts +1 -1
- package/dist/utils/erp-type-from-entity.d.ts.map +1 -1
- package/dist/utils/error-formatter.d.ts +19 -0
- package/dist/utils/error-formatter.d.ts.map +1 -0
- package/dist/utils/index.d.ts +38 -34
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/local-data-store/jobs-shared-data.d.ts +0 -2
- package/dist/utils/local-data-store/jobs-shared-data.d.ts.map +1 -1
- package/dist/utils/mm-labor-ticket-helpers.d.ts +5 -4
- package/dist/utils/mm-labor-ticket-helpers.d.ts.map +1 -1
- package/dist/utils/removeExtraneousFields.d.ts +1 -1
- package/dist/utils/removeExtraneousFields.d.ts.map +1 -1
- package/dist/utils/removeIdFieldFromPayload.d.ts +1 -1
- package/dist/utils/removeIdFieldFromPayload.d.ts.map +1 -1
- package/dist/utils/resource-group.d.ts +1 -1
- package/dist/utils/resource-group.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/error-processor.d.ts +3 -3
- package/dist/utils/standard-process-drivers/error-processor.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/index.d.ts +3 -3
- package/dist/utils/standard-process-drivers/index.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts +1 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts +5 -11
- package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +6 -12
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
- package/dist/utils/time-utils.d.ts.map +1 -1
- package/package.json +10 -8
- package/src/index.ts +45 -42
- package/src/knexfile.ts +0 -1
- package/src/services/caching-service/batch-cache-manager.ts +2 -2
- package/src/services/caching-service/hashed-cache-manager.ts +5 -5
- package/src/services/caching-service/index.ts +1 -1
- package/src/services/caching-service/record-tracking-manager.ts +2 -2
- package/src/services/data-sync-service/configuration-manager.ts +39 -52
- package/src/services/data-sync-service/data-sync-service.ts +19 -10
- package/src/services/data-sync-service/index.ts +3 -3
- package/src/services/data-sync-service/jobs/clean-up-expired-cache.ts +4 -5
- package/src/services/data-sync-service/jobs/from-erp.ts +6 -12
- package/src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts +3 -4
- package/src/services/data-sync-service/jobs/run-migrations.ts +3 -4
- package/src/services/data-sync-service/jobs/to-erp.ts +8 -5
- package/src/services/data-sync-service/nats-labor-ticket-listener.ts +341 -0
- package/src/services/erp-api-services/errors.ts +3 -3
- package/src/services/erp-api-services/graphql/graphql-service.ts +5 -5
- package/src/services/erp-api-services/index.ts +8 -8
- package/src/services/erp-api-services/rest/rest-api-service.ts +4 -4
- package/src/services/erp-api-services/types.ts +2 -2
- package/src/services/mm-api-service/company-info.ts +87 -0
- package/src/services/mm-api-service/index.ts +14 -6
- package/src/services/mm-api-service/mm-api-service.ts +30 -13
- package/src/services/mm-api-service/token-mgr.ts +4 -4
- package/src/services/mm-api-service/types/entity-transformer.ts +3 -3
- package/src/services/mm-api-service/types/receive-types.ts +1 -0
- package/src/services/nats-service/nats-service.ts +351 -0
- package/src/services/nats-service/test-nats-subscriber.ts +96 -0
- package/src/services/psql-erp-service/index.ts +3 -3
- package/src/services/psql-erp-service/psql-service.ts +4 -4
- package/src/services/reporting-service/index.ts +1 -1
- package/src/services/reporting-service/logger.ts +81 -116
- package/src/services/sql-server-erp-service/index.ts +3 -3
- package/src/services/sql-server-erp-service/internal/sql-labor-ticket-operations.ts +2 -2
- package/src/services/sql-server-erp-service/internal/sql-transaction-manager.ts +1 -1
- package/src/services/sql-server-erp-service/sql-server-helpers.ts +6 -6
- package/src/services/sql-server-erp-service/sql-server-service.ts +4 -4
- package/src/services/sqlite-service/index.ts +1 -1
- package/src/services/sqlite-service/sqlite-coordinator.ts +2 -2
- package/src/types/erp-connector.ts +2 -9
- package/src/types/index.ts +2 -10
- package/src/utils/application-initializer.ts +5 -5
- package/src/utils/connector-factory.ts +2 -2
- package/src/utils/connector-log/log-deduper.ts +2 -2
- package/src/utils/connector-log/mm-connector-logger.ts +3 -3
- package/src/utils/erp-type-from-entity.ts +1 -1
- package/src/utils/error-formatter.ts +205 -0
- package/src/utils/http-client.ts +3 -2
- package/src/utils/index.ts +39 -38
- package/src/utils/local-data-store/database-lock.ts +1 -1
- package/src/utils/local-data-store/jobs-shared-data.ts +0 -2
- package/src/utils/mm-labor-ticket-helpers.ts +9 -12
- package/src/utils/removeExtraneousFields.ts +1 -1
- package/src/utils/removeIdFieldFromPayload.ts +1 -1
- package/src/utils/resource-group.ts +2 -2
- package/src/utils/standard-process-drivers/error-processor.ts +5 -5
- package/src/utils/standard-process-drivers/index.ts +3 -3
- package/src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts +11 -16
- package/src/utils/standard-process-drivers/mm-entity-processor.ts +8 -14
- package/src/utils/standard-process-drivers/standard-process-drivers.ts +25 -39
- package/src/utils/time-utils.ts +3 -14
- package/src/utils/timezone.ts +2 -2
- package/dist/index.js +0 -48
- package/dist/index.js.map +0 -1
- package/dist/knexfile.js +0 -19
- package/dist/knexfile.js.map +0 -1
- package/dist/migrations/20241015162631_create_cache_table.d.ts +0 -4
- package/dist/migrations/20241015162631_create_cache_table.d.ts.map +0 -1
- package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts +0 -4
- package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts.map +0 -1
- package/dist/migrations/20250103162631_create_record_tracking_table.d.ts +0 -4
- package/dist/migrations/20250103162631_create_record_tracking_table.d.ts.map +0 -1
- package/dist/services/caching-service/batch-cache-manager.js +0 -84
- package/dist/services/caching-service/batch-cache-manager.js.map +0 -1
- package/dist/services/caching-service/hashed-cache-manager.js +0 -223
- package/dist/services/caching-service/hashed-cache-manager.js.map +0 -1
- package/dist/services/caching-service/index.js +0 -2
- package/dist/services/caching-service/index.js.map +0 -1
- package/dist/services/caching-service/record-tracking-manager.js +0 -28
- package/dist/services/caching-service/record-tracking-manager.js.map +0 -1
- package/dist/services/data-sync-service/configuration-manager.js +0 -163
- package/dist/services/data-sync-service/configuration-manager.js.map +0 -1
- package/dist/services/data-sync-service/data-sync-service.js +0 -95
- package/dist/services/data-sync-service/data-sync-service.js.map +0 -1
- package/dist/services/data-sync-service/index.js +0 -10
- package/dist/services/data-sync-service/index.js.map +0 -1
- package/dist/services/erp-api-services/errors.js +0 -83
- package/dist/services/erp-api-services/errors.js.map +0 -1
- package/dist/services/erp-api-services/graphql/graphql-service.js +0 -102
- package/dist/services/erp-api-services/graphql/graphql-service.js.map +0 -1
- package/dist/services/erp-api-services/graphql/types.js +0 -6
- package/dist/services/erp-api-services/graphql/types.js.map +0 -1
- package/dist/services/erp-api-services/index.js +0 -13
- package/dist/services/erp-api-services/index.js.map +0 -1
- package/dist/services/erp-api-services/oauth-client.js +0 -41
- package/dist/services/erp-api-services/oauth-client.js.map +0 -1
- package/dist/services/erp-api-services/rest/get-query-params.js +0 -23
- package/dist/services/erp-api-services/rest/get-query-params.js.map +0 -1
- package/dist/services/erp-api-services/rest/rest-api-service.js +0 -163
- package/dist/services/erp-api-services/rest/rest-api-service.js.map +0 -1
- package/dist/services/erp-api-services/types.js +0 -2
- package/dist/services/erp-api-services/types.js.map +0 -1
- package/dist/services/mm-api-service/index.js +0 -15
- package/dist/services/mm-api-service/index.js.map +0 -1
- package/dist/services/mm-api-service/mm-api-service.js +0 -519
- package/dist/services/mm-api-service/mm-api-service.js.map +0 -1
- package/dist/services/mm-api-service/token-mgr.js +0 -113
- package/dist/services/mm-api-service/token-mgr.js.map +0 -1
- package/dist/services/mm-api-service/types/checkpoint.js +0 -2
- package/dist/services/mm-api-service/types/checkpoint.js.map +0 -1
- package/dist/services/mm-api-service/types/entity-transformer.js +0 -186
- package/dist/services/mm-api-service/types/entity-transformer.js.map +0 -1
- package/dist/services/mm-api-service/types/mm-response-interfaces.js +0 -34
- package/dist/services/mm-api-service/types/mm-response-interfaces.js.map +0 -1
- package/dist/services/mm-api-service/types/receive-types.js +0 -55
- package/dist/services/mm-api-service/types/receive-types.js.map +0 -1
- package/dist/services/mm-api-service/types/send-types.js +0 -337
- package/dist/services/mm-api-service/types/send-types.js.map +0 -1
- package/dist/services/psql-erp-service/configuration.js +0 -2
- package/dist/services/psql-erp-service/configuration.js.map +0 -1
- package/dist/services/psql-erp-service/index.js +0 -10
- package/dist/services/psql-erp-service/index.js.map +0 -1
- package/dist/services/psql-erp-service/internal/types/psql-types.js +0 -5
- package/dist/services/psql-erp-service/internal/types/psql-types.js.map +0 -1
- package/dist/services/psql-erp-service/psql-helpers.js +0 -99
- package/dist/services/psql-erp-service/psql-helpers.js.map +0 -1
- package/dist/services/psql-erp-service/psql-service.js +0 -187
- package/dist/services/psql-erp-service/psql-service.js.map +0 -1
- package/dist/services/reporting-service/index.js +0 -5
- package/dist/services/reporting-service/index.js.map +0 -1
- package/dist/services/reporting-service/logger.js +0 -221
- package/dist/services/reporting-service/logger.js.map +0 -1
- package/dist/services/sql-server-erp-service/configuration.js +0 -2
- package/dist/services/sql-server-erp-service/configuration.js.map +0 -1
- package/dist/services/sql-server-erp-service/index.js +0 -11
- package/dist/services/sql-server-erp-service/index.js.map +0 -1
- package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js +0 -50
- package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js.map +0 -1
- package/dist/services/sql-server-erp-service/internal/sql-server-config.js +0 -40
- package/dist/services/sql-server-erp-service/internal/sql-server-config.js.map +0 -1
- package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js +0 -36
- package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js.map +0 -1
- package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js +0 -2
- package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js.map +0 -1
- package/dist/services/sql-server-erp-service/sql-server-helpers.js +0 -66
- package/dist/services/sql-server-erp-service/sql-server-helpers.js.map +0 -1
- package/dist/services/sql-server-erp-service/sql-server-service.js +0 -154
- package/dist/services/sql-server-erp-service/sql-server-service.js.map +0 -1
- package/dist/services/sql-server-erp-service/types/sql-input-param.js +0 -2
- package/dist/services/sql-server-erp-service/types/sql-input-param.js.map +0 -1
- package/dist/services/sqlite-service/index.js +0 -2
- package/dist/services/sqlite-service/index.js.map +0 -1
- package/dist/services/sqlite-service/sqlite-coordinator.js +0 -60
- package/dist/services/sqlite-service/sqlite-coordinator.js.map +0 -1
- package/dist/types/erp-connector.js +0 -2
- package/dist/types/erp-connector.js.map +0 -1
- package/dist/types/erp-types.js +0 -13
- package/dist/types/erp-types.js.map +0 -1
- package/dist/types/flattened-work-order.d.ts +0 -99
- package/dist/types/flattened-work-order.d.ts.map +0 -1
- package/dist/types/flattened-work-order.js +0 -2
- package/dist/types/flattened-work-order.js.map +0 -1
- package/dist/types/index.js +0 -6
- package/dist/types/index.js.map +0 -1
- package/dist/utils/application-initializer.js +0 -55
- package/dist/utils/application-initializer.js.map +0 -1
- package/dist/utils/cleanup-numbers.js +0 -6
- package/dist/utils/cleanup-numbers.js.map +0 -1
- package/dist/utils/connector-factory.js +0 -34
- package/dist/utils/connector-factory.js.map +0 -1
- package/dist/utils/connector-log/log-deduper.js +0 -240
- package/dist/utils/connector-log/log-deduper.js.map +0 -1
- package/dist/utils/connector-log/mm-connector-logger-example.js +0 -88
- package/dist/utils/connector-log/mm-connector-logger-example.js.map +0 -1
- package/dist/utils/connector-log/mm-connector-logger.js +0 -151
- package/dist/utils/connector-log/mm-connector-logger.js.map +0 -1
- package/dist/utils/data-transformation.js +0 -38
- package/dist/utils/data-transformation.js.map +0 -1
- package/dist/utils/env.d.ts +0 -8
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -58
- package/dist/utils/env.js.map +0 -1
- package/dist/utils/erp-timezone-utils.d.ts +0 -20
- package/dist/utils/erp-timezone-utils.d.ts.map +0 -1
- package/dist/utils/erp-timezone-utils.js +0 -75
- package/dist/utils/erp-timezone-utils.js.map +0 -1
- package/dist/utils/erp-type-from-entity.js +0 -6
- package/dist/utils/erp-type-from-entity.js.map +0 -1
- package/dist/utils/error-utils.js +0 -21
- package/dist/utils/error-utils.js.map +0 -1
- package/dist/utils/http-client.js +0 -186
- package/dist/utils/http-client.js.map +0 -1
- package/dist/utils/index.js +0 -66
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/local-data-store/database-lock.js +0 -68
- package/dist/utils/local-data-store/database-lock.js.map +0 -1
- package/dist/utils/local-data-store/jobs-shared-data.js +0 -118
- package/dist/utils/local-data-store/jobs-shared-data.js.map +0 -1
- package/dist/utils/mm-labor-ticket-helpers.js +0 -28
- package/dist/utils/mm-labor-ticket-helpers.js.map +0 -1
- package/dist/utils/removeExtraneousFields.js +0 -16
- package/dist/utils/removeExtraneousFields.js.map +0 -1
- package/dist/utils/removeIdFieldFromPayload.js +0 -16
- package/dist/utils/removeIdFieldFromPayload.js.map +0 -1
- package/dist/utils/resource-group.js +0 -59
- package/dist/utils/resource-group.js.map +0 -1
- package/dist/utils/standard-process-drivers/error-processor.js +0 -262
- package/dist/utils/standard-process-drivers/error-processor.js.map +0 -1
- package/dist/utils/standard-process-drivers/index.js +0 -4
- package/dist/utils/standard-process-drivers/index.js.map +0 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js +0 -173
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js.map +0 -1
- package/dist/utils/standard-process-drivers/mm-entity-processor.js +0 -174
- package/dist/utils/standard-process-drivers/mm-entity-processor.js.map +0 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.js +0 -333
- package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +0 -1
- package/dist/utils/time-utils.js +0 -103
- package/dist/utils/time-utils.js.map +0 -1
- package/dist/utils/timezone.js +0 -105
- package/dist/utils/timezone.js.map +0 -1
- package/dist/utils/trimObjectValues.js +0 -11
- package/dist/utils/trimObjectValues.js.map +0 -1
- package/dist/utils/uniqueRows.js +0 -35
- package/dist/utils/uniqueRows.js.map +0 -1
- package/src/types/flattened-work-order.ts +0 -108
- package/src/utils/env.ts +0 -75
- package/src/utils/erp-timezone-utils.ts +0 -99
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export const SQLServerConfigSchema = z.object({
|
|
3
|
-
user: z.string().nonempty("User is required."),
|
|
4
|
-
password: z.string().nonempty("Password is required."),
|
|
5
|
-
database: z.string().nonempty("Database name is required."),
|
|
6
|
-
server: z.string().nonempty("Server is required."),
|
|
7
|
-
port: z.coerce.number().int().positive("Port must be a positive integer.").default(1433),
|
|
8
|
-
connectionTimeout: z.coerce
|
|
9
|
-
.number()
|
|
10
|
-
.int()
|
|
11
|
-
.positive("Connection timeout must be a positive integer.")
|
|
12
|
-
.default(30000),
|
|
13
|
-
requestTimeout: z.coerce
|
|
14
|
-
.number()
|
|
15
|
-
.int()
|
|
16
|
-
.positive("Request timeout must be a positive integer.")
|
|
17
|
-
.default(60000),
|
|
18
|
-
pool: z.object({
|
|
19
|
-
max: z.coerce
|
|
20
|
-
.number()
|
|
21
|
-
.int()
|
|
22
|
-
.positive("Max pool size must be a positive integer.")
|
|
23
|
-
.default(10),
|
|
24
|
-
min: z.coerce
|
|
25
|
-
.number()
|
|
26
|
-
.int()
|
|
27
|
-
.nonnegative("Min pool size must be a non-negative integer.")
|
|
28
|
-
.default(0),
|
|
29
|
-
idleTimeoutMillis: z.coerce
|
|
30
|
-
.number()
|
|
31
|
-
.int()
|
|
32
|
-
.nonnegative("Idle timeout must be a non-negative integer.")
|
|
33
|
-
.default(30000),
|
|
34
|
-
}),
|
|
35
|
-
options: z.object({
|
|
36
|
-
encrypt: z.coerce.boolean().default(false),
|
|
37
|
-
trustServerCertificate: z.coerce.boolean().default(false),
|
|
38
|
-
}),
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=sql-server-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sql-server-config.js","sourceRoot":"","sources":["../../../../src/services/sql-server-erp-service/internal/sql-server-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxF,iBAAiB,EAAE,CAAC,CAAC,MAAM;SACxB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,CAAC,gDAAgD,CAAC;SAC1D,OAAO,CAAC,KAAK,CAAC;IACjB,cAAc,EAAE,CAAC,CAAC,MAAM;SACrB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,CAAC,6CAA6C,CAAC;SACvD,OAAO,CAAC,KAAK,CAAC;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,GAAG,EAAE,CAAC,CAAC,MAAM;aACV,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,CAAC,2CAA2C,CAAC;aACrD,OAAO,CAAC,EAAE,CAAC;QACd,GAAG,EAAE,CAAC,CAAC,MAAM;aACV,MAAM,EAAE;aACR,GAAG,EAAE;aACL,WAAW,CAAC,+CAA+C,CAAC;aAC5D,OAAO,CAAC,CAAC,CAAC;QACb,iBAAiB,EAAE,CAAC,CAAC,MAAM;aACxB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,WAAW,CAAC,8CAA8C,CAAC;aAC3D,OAAO,CAAC,KAAK,CAAC;KAClB,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1C,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KAC1D,CAAC;CACH,CAAC,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import sql from "mssql";
|
|
2
|
-
import logger from "../../reporting-service/logger.js";
|
|
3
|
-
export class SQLTransactionManager {
|
|
4
|
-
connection;
|
|
5
|
-
constructor(connection) {
|
|
6
|
-
this.connection = connection;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Executes a transaction with the given operation and data, manages rollbacks
|
|
10
|
-
* @param operation The SQLTransactionOperation to execute
|
|
11
|
-
* @param data The sql input parameters to pass to the operation
|
|
12
|
-
* @param config The configuration for the transaction
|
|
13
|
-
* @returns The result of the operation; throws exceptions on failures
|
|
14
|
-
*/
|
|
15
|
-
async executeTransaction(operation, data, config = {}) {
|
|
16
|
-
const transaction = new sql.Transaction(this.connection);
|
|
17
|
-
const isolationLevel = config.isolationLevel || sql.ISOLATION_LEVEL.READ_COMMITTED;
|
|
18
|
-
try {
|
|
19
|
-
await transaction.begin(isolationLevel);
|
|
20
|
-
const result = await operation.execute(transaction, data);
|
|
21
|
-
await transaction.commit();
|
|
22
|
-
return result;
|
|
23
|
-
}
|
|
24
|
-
catch (error) {
|
|
25
|
-
logger.error("Transaction error:", error);
|
|
26
|
-
try {
|
|
27
|
-
await transaction.rollback();
|
|
28
|
-
}
|
|
29
|
-
catch (rollbackError) {
|
|
30
|
-
logger.error("Rollback error:", rollbackError);
|
|
31
|
-
}
|
|
32
|
-
throw error;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=sql-transaction-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sql-transaction-manager.js","sourceRoot":"","sources":["../../../../src/services/sql-server-erp-service/internal/sql-transaction-manager.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,MAAM,MAAM,mCAAmC,CAAC;AAUvD,MAAM,OAAO,qBAAqB;IACZ;IAApB,YAAoB,UAA8B;QAA9B,eAAU,GAAV,UAAU,CAAoB;IAAG,CAAC;IACtD;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CACtB,SAAwC,EACxC,IAAO,EACP,SAA+B,EAAE;QAEjC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,cAAc,GAClB,MAAM,CAAC,cAAc,IAAI,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC1D,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sql-server-types.js","sourceRoot":"","sources":["../../../../../src/services/sql-server-erp-service/internal/types/sql-server-types.ts"],"names":[],"mappings":""}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { SQLTransactionManager } from "./internal/sql-transaction-manager.js";
|
|
2
|
-
import { SQLLaborTicketInsertOperation, SQLLaborTicketUpdateOperation, } from "./internal/sql-labor-ticket-operations.js";
|
|
3
|
-
import logger from "../reporting-service/logger.js";
|
|
4
|
-
export class SqlServerHelper {
|
|
5
|
-
/**
|
|
6
|
-
* Creates a new labor ticket in the SQL Server database
|
|
7
|
-
* Opens but does not close the connection
|
|
8
|
-
*
|
|
9
|
-
* @param sqlServerService The SQL Server service to use for connections
|
|
10
|
-
* @param laborTicket The labor ticket to create
|
|
11
|
-
* @param sqlInputs The SQL query parameters
|
|
12
|
-
* @param insertQuery The SQL query to execute for insertion
|
|
13
|
-
*
|
|
14
|
-
* @returns The processed labor ticket, with the ERP's laborTicketId set
|
|
15
|
-
* Throws exceptions on failures, including if the query does not return a laborTicketId
|
|
16
|
-
*/
|
|
17
|
-
static async createLaborTicket(sqlServerService, laborTicket, sqlInputs, insertQuery) {
|
|
18
|
-
const connection = await sqlServerService.openConnection();
|
|
19
|
-
if (!connection) {
|
|
20
|
-
throw new Error("Unable to establish database connection to create labor ticket.");
|
|
21
|
-
}
|
|
22
|
-
const transactionManager = new SQLTransactionManager(connection);
|
|
23
|
-
const laborTicketId = await transactionManager.executeTransaction(new SQLLaborTicketInsertOperation(insertQuery), sqlInputs);
|
|
24
|
-
if (laborTicketId) {
|
|
25
|
-
laborTicket.laborTicketId = laborTicketId.toString();
|
|
26
|
-
return laborTicket;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
throw new Error(`The query did not return the labor ticket id for labor ticket ref: ${laborTicket.laborTicketRef}`);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Updates an existing labor ticket in the SQL Server database
|
|
34
|
-
* Opens but does not close the connection
|
|
35
|
-
* @param sqlServerService The SQL Server service to use for connections
|
|
36
|
-
* @param laborTicket The labor ticket to update
|
|
37
|
-
* @param sqlInputs The SQL query parameters
|
|
38
|
-
* @param updateQuery The SQL query to execute for update
|
|
39
|
-
*
|
|
40
|
-
* @returns The processed labor ticket
|
|
41
|
-
* Throws exceptions on failures
|
|
42
|
-
*/
|
|
43
|
-
static async updateLaborTicket(sqlServerService, laborTicket, sqlInputs, updateQuery) {
|
|
44
|
-
const connection = await sqlServerService.openConnection();
|
|
45
|
-
if (!connection) {
|
|
46
|
-
throw new Error("Unable to establish database connection to update labor ticket.");
|
|
47
|
-
}
|
|
48
|
-
const transactionManager = new SQLTransactionManager(connection);
|
|
49
|
-
await transactionManager.executeTransaction(new SQLLaborTicketUpdateOperation(updateQuery), sqlInputs);
|
|
50
|
-
return laborTicket;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Logs the SQL input parameters for debugging
|
|
54
|
-
*/
|
|
55
|
-
static logQueryInputs(inputs) {
|
|
56
|
-
logger.info("SQL Input Variables:");
|
|
57
|
-
logger.info("----------------------------------------");
|
|
58
|
-
logger.info("Variable Name | Value");
|
|
59
|
-
logger.info("----------------------------------------");
|
|
60
|
-
inputs.forEach((input) => {
|
|
61
|
-
logger.info(`${input.name.padEnd(20)} | ${input.value}`);
|
|
62
|
-
});
|
|
63
|
-
logger.info("----------------------------------------");
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=sql-server-helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sql-server-helpers.js","sourceRoot":"","sources":["../../../src/services/sql-server-erp-service/sql-server-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,2CAA2C,CAAC;AAGnD,OAAO,MAAM,MAAM,gCAAgC,CAAC;AAGpD,MAAM,OAAO,eAAe;IAC1B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC5B,gBAAkC,EAClC,WAAiC,EACjC,SAAqB,EACrB,WAAmB;QAEnB,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;QACJ,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,CAC/D,IAAI,6BAA6B,CAAC,WAAW,CAAC,EAC9C,SAAS,CACV,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;YACrD,OAAO,WAAW,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,sEAAsE,WAAW,CAAC,cAAc,EAAE,CACnG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC5B,gBAAkC,EAClC,WAAiC,EACjC,SAAqB,EACrB,WAAmB;QAEnB,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;QACJ,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,kBAAkB,CAAC,kBAAkB,CACzC,IAAI,6BAA6B,CAAC,WAAW,CAAC,EAC9C,SAAS,CACV,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAkB;QACtC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import sql from "mssql";
|
|
2
|
-
import { SQLServerConfigSchema } from "./internal/sql-server-config.js";
|
|
3
|
-
import logger from "../reporting-service/logger.js";
|
|
4
|
-
export class SqlServerService {
|
|
5
|
-
connection = null;
|
|
6
|
-
config;
|
|
7
|
-
constructor(config) {
|
|
8
|
-
this.config = config;
|
|
9
|
-
}
|
|
10
|
-
async dispose() {
|
|
11
|
-
await this.closeConnection();
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Execute a prepared statement and return the results
|
|
15
|
-
*
|
|
16
|
-
* @param statementToPrepare The SQL query to prepare
|
|
17
|
-
* @param params The parameters to bind to the prepared statement
|
|
18
|
-
* @param paging Optional paging parameters
|
|
19
|
-
* @returns The entities fetched from the database, along with paging information
|
|
20
|
-
*/
|
|
21
|
-
async executePreparedStatement(statementToPrepare, params, paging) {
|
|
22
|
-
const connection = await this.openConnection();
|
|
23
|
-
const preparedStatement = new sql.PreparedStatement(connection);
|
|
24
|
-
// Add all parameters as inputs
|
|
25
|
-
Object.keys(params).forEach((key) => {
|
|
26
|
-
preparedStatement.input(key, sql.VarChar);
|
|
27
|
-
});
|
|
28
|
-
// If limit is specified, try SQL paging
|
|
29
|
-
const finalQuery = paging?.limit !== undefined
|
|
30
|
-
? `${statementToPrepare} OFFSET ${paging.offset || 0} ROWS FETCH NEXT ${paging.limit} ROWS ONLY`
|
|
31
|
-
: statementToPrepare;
|
|
32
|
-
await preparedStatement.prepare(finalQuery);
|
|
33
|
-
let records;
|
|
34
|
-
try {
|
|
35
|
-
records = await preparedStatement.execute(params);
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
const errorInfo = error;
|
|
39
|
-
const errorMessage = "Error fetching data from ERP -> " +
|
|
40
|
-
(errorInfo.cause ? `Cause: ${errorInfo.cause}. ` : "") +
|
|
41
|
-
`Name: ${errorInfo.name}. ` +
|
|
42
|
-
`Message: ${errorInfo.message}. ` +
|
|
43
|
-
`Stack: ${errorInfo.stack}`;
|
|
44
|
-
throw new Error(errorMessage);
|
|
45
|
-
}
|
|
46
|
-
finally {
|
|
47
|
-
try {
|
|
48
|
-
await preparedStatement.unprepare();
|
|
49
|
-
}
|
|
50
|
-
catch (unprepareError) {
|
|
51
|
-
logger.error("Error during unprepare:", unprepareError);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
const allRecords = SqlServerService.recordsetToRecords(records?.recordset);
|
|
55
|
-
const rowsFetched = records?.rowsAffected[0] || 0;
|
|
56
|
-
// If SQL paging failed or we need to handle offset, apply in-memory paging
|
|
57
|
-
const pagedData = paging?.offset !== undefined
|
|
58
|
-
? allRecords.slice(paging.offset, (paging.offset || 0) + (paging.limit || allRecords.length))
|
|
59
|
-
: allRecords;
|
|
60
|
-
return {
|
|
61
|
-
data: pagedData,
|
|
62
|
-
paging: {
|
|
63
|
-
count: rowsFetched,
|
|
64
|
-
limit: paging?.limit || 0,
|
|
65
|
-
offset: paging?.offset || 0,
|
|
66
|
-
nextPage: (() => {
|
|
67
|
-
const currentPageEnd = (paging?.offset || 0) + (paging?.limit || 0);
|
|
68
|
-
return paging?.limit && currentPageEnd < rowsFetched
|
|
69
|
-
? String(currentPageEnd)
|
|
70
|
-
: undefined;
|
|
71
|
-
})(),
|
|
72
|
-
previousPage: paging?.offset
|
|
73
|
-
? String(Math.max(0, (paging.offset || 0) - (paging.limit || 10)))
|
|
74
|
-
: undefined,
|
|
75
|
-
},
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Opens a connection to SQL Server
|
|
80
|
-
* Caches the connection so that it can be reused.
|
|
81
|
-
* On failure to connect, throws
|
|
82
|
-
*/
|
|
83
|
-
async openConnection() {
|
|
84
|
-
// If we have a connection and it's still connected, reuse it
|
|
85
|
-
if (this.connection?.connected) {
|
|
86
|
-
logger.debug("Reusing existing SQL Server connection");
|
|
87
|
-
return this.connection;
|
|
88
|
-
}
|
|
89
|
-
// If we have a connection but it's not connected, just null it out
|
|
90
|
-
if (this.connection) {
|
|
91
|
-
logger.debug("Clearing disconnected SQL Server connection");
|
|
92
|
-
this.connection = null;
|
|
93
|
-
}
|
|
94
|
-
try {
|
|
95
|
-
logger.info("Opening new SQL Server connection");
|
|
96
|
-
const sqlConfig = SQLServerConfigSchema.parse({
|
|
97
|
-
user: this.config.username,
|
|
98
|
-
password: this.config.password,
|
|
99
|
-
database: this.config.database,
|
|
100
|
-
server: this.config.host,
|
|
101
|
-
port: parseInt(this.config.port),
|
|
102
|
-
connectionTimeout: parseInt(this.config.connectionTimeout),
|
|
103
|
-
requestTimeout: parseInt(this.config.requestTimeout),
|
|
104
|
-
pool: {
|
|
105
|
-
max: parseInt(this.config.poolMax),
|
|
106
|
-
min: parseInt(this.config.poolMin),
|
|
107
|
-
idleTimeoutMillis: parseInt(this.config.idleTimeoutMillis),
|
|
108
|
-
},
|
|
109
|
-
options: {
|
|
110
|
-
encrypt: this.config.encrypt,
|
|
111
|
-
trustServerCertificate: this.config.trustServer,
|
|
112
|
-
},
|
|
113
|
-
});
|
|
114
|
-
this.connection = await sql.connect(sqlConfig);
|
|
115
|
-
return this.connection;
|
|
116
|
-
}
|
|
117
|
-
catch (error) {
|
|
118
|
-
logger.error("SqlServerService>>openConnection>> Connection failed", {
|
|
119
|
-
error,
|
|
120
|
-
});
|
|
121
|
-
throw new Error("SQL Server connection failed");
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Transform a IRecordSet from a SQL query into an array of Record<string, string> instances.
|
|
126
|
-
* @param recordset IRecordSet from a SQL query
|
|
127
|
-
* @returns array of Record<string, string> instances
|
|
128
|
-
*/
|
|
129
|
-
static recordsetToRecords(recordset) {
|
|
130
|
-
const data = recordset?.map((row) => {
|
|
131
|
-
const transformedRow = {};
|
|
132
|
-
Object.keys(row).forEach((key) => {
|
|
133
|
-
transformedRow[key] = row[key]?.toString() || "";
|
|
134
|
-
});
|
|
135
|
-
return transformedRow;
|
|
136
|
-
}) || [];
|
|
137
|
-
return data;
|
|
138
|
-
}
|
|
139
|
-
async closeConnection() {
|
|
140
|
-
if (this.connection?.connected) {
|
|
141
|
-
logger.info("Closing SQL Server connection");
|
|
142
|
-
try {
|
|
143
|
-
await this.connection.close();
|
|
144
|
-
}
|
|
145
|
-
catch (error) {
|
|
146
|
-
logger.error("SqlServerService::closeConnection: Error closing connection", {
|
|
147
|
-
error,
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
this.connection = null;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
//# sourceMappingURL=sql-server-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sql-server-service.js","sourceRoot":"","sources":["../../../src/services/sql-server-erp-service/sql-server-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sql-input-param.js","sourceRoot":"","sources":["../../../../src/services/sql-server-erp-service/types/sql-input-param.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/sqlite-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { acquireDatabaseLock, releaseDatabaseLock, getDatabaseLock, } from "../../utils/local-data-store/database-lock.js";
|
|
2
|
-
import { logger } from "../reporting-service/index.js";
|
|
3
|
-
export class SQLiteCoordinator {
|
|
4
|
-
static LOCK_TIMEOUT_MS = 30_000; // 30 seconds
|
|
5
|
-
static LOCK_RETRY_INTERVAL_MS = 1_000; // 1 second
|
|
6
|
-
/**
|
|
7
|
-
* Performs startup checks to ensure no stale locks exist
|
|
8
|
-
* Should be called when the application starts
|
|
9
|
-
*/
|
|
10
|
-
static async performStartupCheck() {
|
|
11
|
-
const currentLock = getDatabaseLock();
|
|
12
|
-
if (currentLock.isLocked) {
|
|
13
|
-
logger.warn(`Found existing lock held by ${currentLock.lockedBy}, releasing for clean startup`);
|
|
14
|
-
releaseDatabaseLock(currentLock.lockedBy);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Attempts to acquire the database lock
|
|
19
|
-
* @param processName Name of the process requesting the lock
|
|
20
|
-
* @returns true if lock was acquired, false if database is already locked
|
|
21
|
-
*/
|
|
22
|
-
static async tryAcquireLock(processName) {
|
|
23
|
-
return acquireDatabaseLock(processName);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Executes a database operation with proper locking
|
|
27
|
-
* @param processName Name of the process executing the operation
|
|
28
|
-
* @param operation The operation to execute
|
|
29
|
-
* @returns The result of the operation
|
|
30
|
-
*/
|
|
31
|
-
static async executeWithLock(processName, operation) {
|
|
32
|
-
const startTime = Date.now();
|
|
33
|
-
// Try to acquire the lock with timeout
|
|
34
|
-
while (Date.now() - startTime < this.LOCK_TIMEOUT_MS) {
|
|
35
|
-
if (await this.tryAcquireLock(processName)) {
|
|
36
|
-
try {
|
|
37
|
-
// Execute the operation
|
|
38
|
-
const result = await operation();
|
|
39
|
-
return result;
|
|
40
|
-
}
|
|
41
|
-
finally {
|
|
42
|
-
// Always release the lock
|
|
43
|
-
releaseDatabaseLock(processName);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
// Wait before retrying
|
|
47
|
-
await new Promise((resolve) => setTimeout(resolve, this.LOCK_RETRY_INTERVAL_MS));
|
|
48
|
-
}
|
|
49
|
-
throw new Error(`Failed to acquire database lock after ${this.LOCK_TIMEOUT_MS}ms`);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Checks if the database is currently available for operations
|
|
53
|
-
* @returns true if the database is available, false if locked
|
|
54
|
-
*/
|
|
55
|
-
static isAvailable() {
|
|
56
|
-
const lock = getDatabaseLock();
|
|
57
|
-
return !lock.isLocked;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=sqlite-coordinator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-coordinator.js","sourceRoot":"","sources":["../../../src/services/sqlite-service/sqlite-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAChB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEvD,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAU,eAAe,GAAG,MAAM,CAAC,CAAC,aAAa;IACvD,MAAM,CAAU,sBAAsB,GAAG,KAAK,CAAC,CAAC,WAAW;IAEnE;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,mBAAmB;QAC9B,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QAEtC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CACT,+BAA+B,WAAW,CAAC,QAAQ,+BAA+B,CACnF,CAAC;YACF,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,WAAmB;QACrD,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,WAAmB,EACnB,SAA2B;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,uCAAuC;QACvC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACrD,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,wBAAwB;oBACxB,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;oBACjC,OAAO,MAAM,CAAC;gBAChB,CAAC;wBAAS,CAAC;oBACT,0BAA0B;oBAC1B,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,uBAAuB;YACvB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5B,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,CACjD,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,CAAC,eAAe,IAAI,CAClE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW;QAChB,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erp-connector.js","sourceRoot":"","sources":["../../src/types/erp-connector.ts"],"names":[],"mappings":""}
|
package/dist/types/erp-types.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export var ERPObjType;
|
|
2
|
-
(function (ERPObjType) {
|
|
3
|
-
ERPObjType[ERPObjType["RESOURCES"] = 0] = "RESOURCES";
|
|
4
|
-
ERPObjType[ERPObjType["PARTS"] = 1] = "PARTS";
|
|
5
|
-
ERPObjType[ERPObjType["PART_OPERATION"] = 2] = "PART_OPERATION";
|
|
6
|
-
ERPObjType[ERPObjType["WORK_ORDERS"] = 3] = "WORK_ORDERS";
|
|
7
|
-
ERPObjType[ERPObjType["WORK_ORDER_OPERATIONS"] = 4] = "WORK_ORDER_OPERATIONS";
|
|
8
|
-
ERPObjType[ERPObjType["PERSONS"] = 5] = "PERSONS";
|
|
9
|
-
ERPObjType[ERPObjType["REASONS"] = 6] = "REASONS";
|
|
10
|
-
ERPObjType[ERPObjType["LABOR_TICKETS"] = 7] = "LABOR_TICKETS";
|
|
11
|
-
// TO DO: TIMESHEETS support
|
|
12
|
-
})(ERPObjType || (ERPObjType = {}));
|
|
13
|
-
//# sourceMappingURL=erp-types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erp-types.js","sourceRoot":"","sources":["../../src/types/erp-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAUX;AAVD,WAAY,UAAU;IACpB,qDAAS,CAAA;IACT,6CAAK,CAAA;IACL,+DAAc,CAAA;IACd,yDAAW,CAAA;IACX,6EAAqB,CAAA;IACrB,iDAAO,CAAA;IACP,iDAAO,CAAA;IACP,6DAAa,CAAA;IACb,4BAA4B;AAC9B,CAAC,EAVW,UAAU,KAAV,UAAU,QAUrB"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Canonical representation of a flattened work order row that contains the
|
|
3
|
-
* information needed to build MM work order entities plus their operations.
|
|
4
|
-
*
|
|
5
|
-
* All properties are optional to maintain backwards compatibility with
|
|
6
|
-
* existing connectors.
|
|
7
|
-
*/
|
|
8
|
-
export interface FlattenedWorkOrderPartFields {
|
|
9
|
-
/** ERP part number (required for Parts when present). */
|
|
10
|
-
partNumber?: string | number;
|
|
11
|
-
/** ERP part revision or version string. */
|
|
12
|
-
partRevision?: string | number;
|
|
13
|
-
/** Routing/method identifier (defaults to "Standard" when omitted). */
|
|
14
|
-
method?: string;
|
|
15
|
-
}
|
|
16
|
-
export interface FlattenedWorkOrderPartOperationFields {
|
|
17
|
-
/** Sequence number of the operation on the routing. */
|
|
18
|
-
sequenceNumber?: string | number;
|
|
19
|
-
/** Resource or machine identifier responsible for the operation. */
|
|
20
|
-
resourceId?: string | number;
|
|
21
|
-
/** Operation cycle time expressed in milliseconds. */
|
|
22
|
-
cycleTimeMs?: number;
|
|
23
|
-
/** Operation setup time expressed in milliseconds. */
|
|
24
|
-
setupTimeMs?: number;
|
|
25
|
-
/** Human-readable description of the operation. */
|
|
26
|
-
operationDescription?: string;
|
|
27
|
-
/** Quantity of parts operated on per cycle. */
|
|
28
|
-
quantityPerPart?: number;
|
|
29
|
-
}
|
|
30
|
-
export interface FlattenedWorkOrderFields extends FlattenedWorkOrderPartFields {
|
|
31
|
-
/** Unique identifier for the work order in the ERP. */
|
|
32
|
-
workOrderId?: string | number;
|
|
33
|
-
/** Lot number (if the ERP distinguishes lots). */
|
|
34
|
-
lot?: string | number;
|
|
35
|
-
/** Split identifier (if the ERP splits orders). */
|
|
36
|
-
split?: string | number;
|
|
37
|
-
/** Sub identifier (for multi-level orders). */
|
|
38
|
-
sub?: string | number;
|
|
39
|
-
/** Work order status (e.g., Open, Closed, Released). */
|
|
40
|
-
status?: string;
|
|
41
|
-
/**
|
|
42
|
-
* Due date expressed as an ISO-8601 UTC string (trailing `Z` or explicit offset).
|
|
43
|
-
* The SDK validates but does not shift timezones.
|
|
44
|
-
*/
|
|
45
|
-
dueDate?: string;
|
|
46
|
-
/** Free-form description of the work order. */
|
|
47
|
-
description?: string;
|
|
48
|
-
/** Scheduled start datetime in ISO-8601 UTC form. */
|
|
49
|
-
scheduledStartDate?: string;
|
|
50
|
-
/** Scheduled end datetime in ISO-8601 UTC form. */
|
|
51
|
-
scheduledEndDate?: string;
|
|
52
|
-
/** Closed datetime in ISO-8601 UTC form. */
|
|
53
|
-
closedDate?: string;
|
|
54
|
-
/** Quantity required by the work order. */
|
|
55
|
-
quantityRequired?: number;
|
|
56
|
-
}
|
|
57
|
-
export interface FlattenedWorkOrderOperationFields {
|
|
58
|
-
/** Work order identifier (repeated for each operation). */
|
|
59
|
-
workOrderId?: string | number;
|
|
60
|
-
/** Lot identifier for the operation row. */
|
|
61
|
-
lot?: string | number;
|
|
62
|
-
/** Split identifier for the operation row. */
|
|
63
|
-
split?: string | number;
|
|
64
|
-
/** Sub identifier for the operation row. */
|
|
65
|
-
sub?: string | number;
|
|
66
|
-
/** Sequence number for the specific operation. */
|
|
67
|
-
sequenceNumber?: string | number;
|
|
68
|
-
/** Resource or machine identifier for the operation. */
|
|
69
|
-
resourceId?: string | number;
|
|
70
|
-
/** Quantity started on the operation. */
|
|
71
|
-
startQuantity?: number;
|
|
72
|
-
/** Quantity finished on the operation. */
|
|
73
|
-
finishQuantity?: number;
|
|
74
|
-
/** Expected reject percentage (0-1). */
|
|
75
|
-
expectedRejectRate?: number;
|
|
76
|
-
/** Scheduled start datetime (ISO-8601 UTC). */
|
|
77
|
-
opScheduledStartDate?: string;
|
|
78
|
-
/** Scheduled finish datetime (ISO-8601 UTC). */
|
|
79
|
-
opScheduledFinishDate?: string;
|
|
80
|
-
/** Closed datetime for the operation (ISO-8601 UTC). */
|
|
81
|
-
opClosedDate?: string;
|
|
82
|
-
/** Production burden rate per hour. */
|
|
83
|
-
productionburdenRateHourly?: number | string;
|
|
84
|
-
/** Setup burden rate per hour. */
|
|
85
|
-
setupburdenRatehourly?: number | string;
|
|
86
|
-
/** Operation type (Production, Setup, etc.). */
|
|
87
|
-
operationType?: string;
|
|
88
|
-
/** Quantity per part for the operation. */
|
|
89
|
-
quantityPerPart?: number;
|
|
90
|
-
/** Operation status (defaults to work-order status when omitted). */
|
|
91
|
-
opStatus?: string;
|
|
92
|
-
}
|
|
93
|
-
export type FlattenedWorkOrderRowBase = FlattenedWorkOrderPartFields & FlattenedWorkOrderPartOperationFields & FlattenedWorkOrderFields & FlattenedWorkOrderOperationFields;
|
|
94
|
-
/**
|
|
95
|
-
* Canonical flattened row that callers pass into
|
|
96
|
-
* `StandardProcessDrivers.syncWorkOrderBatchFromFlattened`.
|
|
97
|
-
*/
|
|
98
|
-
export type FlattenedWorkOrderRow = FlattenedWorkOrderRowBase;
|
|
99
|
-
//# sourceMappingURL=flattened-work-order.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flattened-work-order.d.ts","sourceRoot":"","sources":["../../src/types/flattened-work-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flattened-work-order.js","sourceRoot":"","sources":["../../src/types/flattened-work-order.ts"],"names":[],"mappings":""}
|
package/dist/types/index.js
DELETED
package/dist/types/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import logger from "../services/reporting-service/logger.js";
|
|
2
|
-
import { CoreConfiguration } from "../services/data-sync-service/configuration-manager.js";
|
|
3
|
-
import { SQLiteCoordinator } from "../services/sqlite-service/index.js";
|
|
4
|
-
import { getTimezoneOffsetAndPersist } from "./time-utils.js";
|
|
5
|
-
import knex from "knex";
|
|
6
|
-
import config from "../knexfile.js";
|
|
7
|
-
/**
|
|
8
|
-
* Utility class to handle application initialization tasks
|
|
9
|
-
*/
|
|
10
|
-
export class ApplicationInitializer {
|
|
11
|
-
/**
|
|
12
|
-
* Performs all necessary application initialization tasks
|
|
13
|
-
* This should be called before starting any services or jobs
|
|
14
|
-
*/
|
|
15
|
-
static async initialize() {
|
|
16
|
-
try {
|
|
17
|
-
logger.info("\n================================INITIALIZING APPLICATION================================\n");
|
|
18
|
-
// Load and validate core configuration
|
|
19
|
-
const coreConfig = CoreConfiguration.inst();
|
|
20
|
-
logger.info("Core Configuration loaded:", coreConfig.toSafeLogObject());
|
|
21
|
-
// Perform database startup checks
|
|
22
|
-
logger.info("Performing database startup checks...");
|
|
23
|
-
await SQLiteCoordinator.performStartupCheck();
|
|
24
|
-
logger.info("Database startup checks completed successfully");
|
|
25
|
-
// Run database migrations to ensure all tables exist
|
|
26
|
-
logger.info("Running database migrations...");
|
|
27
|
-
await ApplicationInitializer.runMigrations();
|
|
28
|
-
logger.info("Database migrations completed successfully");
|
|
29
|
-
// Required for most connectors
|
|
30
|
-
await getTimezoneOffsetAndPersist();
|
|
31
|
-
logger.info("\n================================APPLICATION INITIALIZATION COMPLETED================================\n");
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
logger.error("Critical initialization failure. Exiting.", error);
|
|
35
|
-
process.exitCode = 1;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Runs database migrations to ensure all required tables exist
|
|
40
|
-
*/
|
|
41
|
-
static async runMigrations() {
|
|
42
|
-
const db = knex(config.local);
|
|
43
|
-
try {
|
|
44
|
-
await db.migrate.latest();
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
logger.error("Error running migrations:", error);
|
|
48
|
-
throw error;
|
|
49
|
-
}
|
|
50
|
-
finally {
|
|
51
|
-
await db.destroy();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=application-initializer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"application-initializer.js","sourceRoot":"","sources":["../../src/utils/application-initializer.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,gBAAgB,CAAC;AAEpC;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU;QAC5B,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CACT,8FAA8F,CAC/F,CAAC;YAEF,uCAAuC;YACvC,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;YAExE,kCAAkC;YAClC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACrD,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAE9D,qDAAqD;YACrD,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC9C,MAAM,sBAAsB,CAAC,aAAa,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAE1D,+BAA+B;YAC/B,MAAM,2BAA2B,EAAE,CAAC;YAEpC,MAAM,CAAC,IAAI,CACT,0GAA0G,CAC3G,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;YACjE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,KAAK,CAAC,aAAa;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup-numbers.js","sourceRoot":"","sources":["../../src/utils/cleanup-numbers.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;IAC7C,6CAA6C;IAC7C,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|