@machinemetrics/mm-erp-sdk 0.1.9 → 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.js +39 -40
- package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js.map +1 -1
- package/dist/services/data-sync-service/jobs/from-erp.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/from-erp.js +36 -48
- package/dist/services/data-sync-service/jobs/from-erp.js.map +1 -1
- package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js +35 -36
- package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js.map +1 -1
- package/dist/services/data-sync-service/jobs/run-migrations.js +21 -22
- package/dist/services/data-sync-service/jobs/run-migrations.js.map +1 -1
- package/dist/services/data-sync-service/jobs/to-erp.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/to-erp.js +45 -48
- 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 +1 -1
- package/dist/types/erp-connector.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- 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 -33
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/mm-labor-ticket-helpers.d.ts +1 -1
- 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 +4 -4
- 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 +4 -4
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
- package/package.json +10 -6
- 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 +2 -2
- 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 +3 -3
- package/src/services/data-sync-service/jobs/from-erp.ts +5 -10
- package/src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts +2 -2
- package/src/services/data-sync-service/jobs/run-migrations.ts +2 -2
- package/src/services/data-sync-service/jobs/to-erp.ts +7 -3
- 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 +29 -12
- 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 -111
- 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 +1 -1
- package/src/types/index.ts +2 -2
- package/src/utils/application-initializer.ts +5 -5
- package/src/utils/connector-factory.ts +2 -2
- package/src/utils/connector-log/log-deduper.ts +2 -2
- package/src/utils/connector-log/mm-connector-logger.ts +3 -3
- package/src/utils/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 -33
- package/src/utils/local-data-store/database-lock.ts +1 -1
- package/src/utils/mm-labor-ticket-helpers.ts +2 -2
- 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 +6 -6
- package/src/utils/standard-process-drivers/mm-entity-processor.ts +7 -7
- package/src/utils/standard-process-drivers/standard-process-drivers.ts +6 -6
- package/src/utils/time-utils.ts +3 -3
- 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 -217
- 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/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/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 -65
- 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 -116
- package/dist/utils/local-data-store/jobs-shared-data.js.map +0 -1
- package/dist/utils/mm-labor-ticket-helpers.js +0 -23
- 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 -164
- 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 -168
- package/dist/utils/standard-process-drivers/mm-entity-processor.js.map +0 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.js +0 -324
- package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +0 -1
- package/dist/utils/time-utils.js +0 -96
- 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
|
@@ -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"}
|
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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import logger from "../services/reporting-service/logger.js";
|
|
2
|
-
import { pathToFileURL } from "url";
|
|
3
|
-
/**
|
|
4
|
-
* Helper function to dynamically import and create connector instance from a file path
|
|
5
|
-
* @param connectorPath - The file path to the connector module
|
|
6
|
-
* @returns A new instance of the IERPConnector
|
|
7
|
-
*/
|
|
8
|
-
export const createConnectorFromPath = async (connectorPath) => {
|
|
9
|
-
try {
|
|
10
|
-
// Some detailed debug logging to help with troubleshooting multi-platform connector paths
|
|
11
|
-
const pathParts = connectorPath.split('/');
|
|
12
|
-
const filename = pathParts[pathParts.length - 1];
|
|
13
|
-
logger.debug("createConnectorFromPath:", {
|
|
14
|
-
connectorPath,
|
|
15
|
-
pathParts,
|
|
16
|
-
filename,
|
|
17
|
-
finalImport: pathToFileURL(connectorPath).href,
|
|
18
|
-
});
|
|
19
|
-
const connectorModule = await import(pathToFileURL(connectorPath).href);
|
|
20
|
-
// Get the default export or named export
|
|
21
|
-
const ConnectorClass = connectorModule.default ||
|
|
22
|
-
connectorModule[Object.keys(connectorModule)[0]];
|
|
23
|
-
if (!ConnectorClass) {
|
|
24
|
-
throw new Error(`No connector class found in module: ${connectorPath}`);
|
|
25
|
-
}
|
|
26
|
-
// Create new instance of the connector
|
|
27
|
-
return new ConnectorClass();
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
logger.error(`Failed to create connector instance from path: ${connectorPath}`, { error });
|
|
31
|
-
throw error;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=connector-factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connector-factory.js","sourceRoot":"","sources":["../../src/utils/connector-factory.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,aAAqB,EACG,EAAE;IAC1B,IAAI,CAAC;QACH,0FAA0F;QAC1F,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACvC,aAAa;YACb,SAAS;YACT,QAAQ;YACR,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI;SAC/C,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;QAExE,yCAAyC;QACzC,MAAM,cAAc,GAClB,eAAe,CAAC,OAAO;YACvB,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,aAAa,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,uCAAuC;QACvC,OAAO,IAAI,cAAc,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,kDAAkD,aAAa,EAAE,EACjE,EAAE,KAAK,EAAE,CACV,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
|