@machinemetrics/mm-erp-sdk 0.2.0-beta.2 → 0.3.0-beta.0
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 +5 -0
- package/dist/index.d.ts +42 -43
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +48 -0
- package/dist/index.js.map +1 -0
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/knexfile.js +19 -0
- package/dist/knexfile.js.map +1 -0
- package/dist/migrations/20241015162631_create_cache_table.d.ts +4 -0
- package/dist/migrations/20241015162631_create_cache_table.d.ts.map +1 -0
- package/dist/migrations/20241015162631_create_cache_table.js +11 -15
- package/dist/migrations/20241015162631_create_cache_table.js.map +1 -1
- package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts +4 -0
- package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts.map +1 -0
- package/dist/migrations/20241015162632_create_sdk_cache_table.js +11 -15
- package/dist/migrations/20241015162632_create_sdk_cache_table.js.map +1 -1
- package/dist/migrations/20250103162631_create_record_tracking_table.d.ts +4 -0
- package/dist/migrations/20250103162631_create_record_tracking_table.d.ts.map +1 -0
- package/dist/migrations/20250103162631_create_record_tracking_table.js +14 -15
- package/dist/migrations/20250103162631_create_record_tracking_table.js.map +1 -1
- 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/batch-cache-manager.js +84 -0
- package/dist/services/caching-service/batch-cache-manager.js.map +1 -0
- 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/hashed-cache-manager.js +223 -0
- package/dist/services/caching-service/hashed-cache-manager.js.map +1 -0
- 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/index.js +2 -0
- package/dist/services/caching-service/index.js.map +1 -0
- 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/caching-service/record-tracking-manager.js +28 -0
- package/dist/services/caching-service/record-tracking-manager.js.map +1 -0
- 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/configuration-manager.js +163 -0
- package/dist/services/data-sync-service/configuration-manager.js.map +1 -0
- package/dist/services/data-sync-service/data-sync-service.d.ts.map +1 -1
- package/dist/services/data-sync-service/data-sync-service.js +95 -0
- package/dist/services/data-sync-service/data-sync-service.js.map +1 -0
- 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/index.js +10 -0
- package/dist/services/data-sync-service/index.js.map +1 -0
- 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 +42 -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 +50 -37
- 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 +38 -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.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/run-migrations.js +24 -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 +49 -49
- package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
- 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/errors.js +83 -0
- package/dist/services/erp-api-services/errors.js.map +1 -0
- 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/graphql/graphql-service.js +102 -0
- package/dist/services/erp-api-services/graphql/graphql-service.js.map +1 -0
- package/dist/services/erp-api-services/graphql/types.js +6 -0
- package/dist/services/erp-api-services/graphql/types.js.map +1 -0
- 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/index.js +13 -0
- package/dist/services/erp-api-services/index.js.map +1 -0
- package/dist/services/erp-api-services/oauth-client.js +41 -0
- package/dist/services/erp-api-services/oauth-client.js.map +1 -0
- package/dist/services/erp-api-services/rest/get-query-params.js +23 -0
- package/dist/services/erp-api-services/rest/get-query-params.js.map +1 -0
- 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/rest/rest-api-service.js +163 -0
- package/dist/services/erp-api-services/rest/rest-api-service.js.map +1 -0
- 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/erp-api-services/types.js +2 -0
- package/dist/services/erp-api-services/types.js.map +1 -0
- package/dist/services/mm-api-service/index.d.ts +6 -13
- package/dist/services/mm-api-service/index.d.ts.map +1 -1
- package/dist/services/mm-api-service/index.js +15 -0
- package/dist/services/mm-api-service/index.js.map +1 -0
- package/dist/services/mm-api-service/mm-api-service.d.ts +7 -13
- package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
- package/dist/services/mm-api-service/mm-api-service.js +519 -0
- package/dist/services/mm-api-service/mm-api-service.js.map +1 -0
- package/dist/services/mm-api-service/token-mgr.js +113 -0
- package/dist/services/mm-api-service/token-mgr.js.map +1 -0
- package/dist/services/mm-api-service/types/checkpoint.js +2 -0
- package/dist/services/mm-api-service/types/checkpoint.js.map +1 -0
- 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/entity-transformer.js +186 -0
- package/dist/services/mm-api-service/types/entity-transformer.js.map +1 -0
- package/dist/services/mm-api-service/types/mm-response-interfaces.js +34 -0
- package/dist/services/mm-api-service/types/mm-response-interfaces.js.map +1 -0
- package/dist/services/mm-api-service/types/receive-types.d.ts +0 -3
- package/dist/services/mm-api-service/types/receive-types.d.ts.map +1 -1
- package/dist/services/mm-api-service/types/receive-types.js +55 -0
- package/dist/services/mm-api-service/types/receive-types.js.map +1 -0
- package/dist/services/mm-api-service/types/send-types.js +337 -0
- package/dist/services/mm-api-service/types/send-types.js.map +1 -0
- package/dist/services/psql-erp-service/configuration.js +2 -0
- package/dist/services/psql-erp-service/configuration.js.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/index.js +10 -0
- package/dist/services/psql-erp-service/index.js.map +1 -0
- package/dist/services/psql-erp-service/internal/types/psql-types.js +5 -0
- package/dist/services/psql-erp-service/internal/types/psql-types.js.map +1 -0
- package/dist/services/psql-erp-service/psql-helpers.js +99 -0
- package/dist/services/psql-erp-service/psql-helpers.js.map +1 -0
- 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/psql-erp-service/psql-service.js +187 -0
- package/dist/services/psql-erp-service/psql-service.js.map +1 -0
- 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/index.js +5 -0
- package/dist/services/reporting-service/index.js.map +1 -0
- package/dist/services/reporting-service/logger.d.ts.map +1 -1
- package/dist/services/reporting-service/logger.js +221 -0
- package/dist/services/reporting-service/logger.js.map +1 -0
- package/dist/services/sql-server-erp-service/configuration.js +2 -0
- package/dist/services/sql-server-erp-service/configuration.js.map +1 -0
- 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/index.js +11 -0
- package/dist/services/sql-server-erp-service/index.js.map +1 -0
- 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/internal/sql-labor-ticket-operations.js +50 -0
- package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js.map +1 -0
- package/dist/services/sql-server-erp-service/internal/sql-server-config.js +40 -0
- package/dist/services/sql-server-erp-service/internal/sql-server-config.js.map +1 -0
- package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js +36 -0
- package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js.map +1 -0
- package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js +2 -0
- package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js.map +1 -0
- 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-helpers.js +66 -0
- package/dist/services/sql-server-erp-service/sql-server-helpers.js.map +1 -0
- 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/sql-server-erp-service/sql-server-service.js +154 -0
- package/dist/services/sql-server-erp-service/sql-server-service.js.map +1 -0
- package/dist/services/sql-server-erp-service/types/sql-input-param.js +2 -0
- package/dist/services/sql-server-erp-service/types/sql-input-param.js.map +1 -0
- package/dist/services/sqlite-service/index.d.ts +1 -1
- package/dist/services/sqlite-service/index.d.ts.map +1 -1
- package/dist/services/sqlite-service/index.js +2 -0
- package/dist/services/sqlite-service/index.js.map +1 -0
- package/dist/services/sqlite-service/sqlite-coordinator.js +60 -0
- package/dist/services/sqlite-service/sqlite-coordinator.js.map +1 -0
- package/dist/types/erp-connector.d.ts +9 -2
- package/dist/types/erp-connector.d.ts.map +1 -1
- package/dist/types/erp-connector.js +2 -0
- package/dist/types/erp-connector.js.map +1 -0
- package/dist/types/erp-types.js +13 -0
- package/dist/types/erp-types.js.map +1 -0
- package/dist/types/flattened-work-order.d.ts +99 -0
- package/dist/types/flattened-work-order.d.ts.map +1 -0
- package/dist/types/flattened-work-order.js +2 -0
- package/dist/types/flattened-work-order.js.map +1 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/application-initializer.js +55 -0
- package/dist/utils/application-initializer.js.map +1 -0
- package/dist/utils/cleanup-numbers.js +6 -0
- package/dist/utils/cleanup-numbers.js.map +1 -0
- package/dist/utils/connector-factory.d.ts +1 -1
- package/dist/utils/connector-factory.d.ts.map +1 -1
- package/dist/utils/connector-factory.js +34 -0
- package/dist/utils/connector-factory.js.map +1 -0
- 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/log-deduper.js +240 -0
- package/dist/utils/connector-log/log-deduper.js.map +1 -0
- package/dist/utils/connector-log/mm-connector-logger-example.d.ts +1 -0
- package/dist/utils/connector-log/mm-connector-logger-example.js +88 -0
- package/dist/utils/connector-log/mm-connector-logger-example.js.map +1 -0
- 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/connector-log/mm-connector-logger.js +151 -0
- package/dist/utils/connector-log/mm-connector-logger.js.map +1 -0
- package/dist/utils/data-transformation.js +38 -0
- package/dist/utils/data-transformation.js.map +1 -0
- package/dist/utils/env.d.ts +8 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +58 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/erp-timezone-utils.d.ts +20 -0
- package/dist/utils/erp-timezone-utils.d.ts.map +1 -0
- package/dist/utils/erp-timezone-utils.js +75 -0
- package/dist/utils/erp-timezone-utils.js.map +1 -0
- 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/erp-type-from-entity.js +6 -0
- package/dist/utils/erp-type-from-entity.js.map +1 -0
- package/dist/utils/error-utils.js +21 -0
- package/dist/utils/error-utils.js.map +1 -0
- package/dist/utils/http-client.js +189 -0
- package/dist/utils/http-client.js.map +1 -0
- package/dist/utils/index.d.ts +34 -38
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +66 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/local-data-store/database-lock.js +68 -0
- package/dist/utils/local-data-store/database-lock.js.map +1 -0
- package/dist/utils/local-data-store/jobs-shared-data.d.ts +2 -0
- package/dist/utils/local-data-store/jobs-shared-data.d.ts.map +1 -1
- package/dist/utils/local-data-store/jobs-shared-data.js +118 -0
- package/dist/utils/local-data-store/jobs-shared-data.js.map +1 -0
- package/dist/utils/mm-labor-ticket-helpers.d.ts +4 -5
- package/dist/utils/mm-labor-ticket-helpers.d.ts.map +1 -1
- package/dist/utils/mm-labor-ticket-helpers.js +28 -0
- package/dist/utils/mm-labor-ticket-helpers.js.map +1 -0
- package/dist/utils/removeExtraneousFields.d.ts +1 -1
- package/dist/utils/removeExtraneousFields.d.ts.map +1 -1
- package/dist/utils/removeExtraneousFields.js +16 -0
- package/dist/utils/removeExtraneousFields.js.map +1 -0
- package/dist/utils/removeIdFieldFromPayload.d.ts +1 -1
- package/dist/utils/removeIdFieldFromPayload.d.ts.map +1 -1
- package/dist/utils/removeIdFieldFromPayload.js +16 -0
- package/dist/utils/removeIdFieldFromPayload.js.map +1 -0
- package/dist/utils/resource-group.d.ts +1 -1
- package/dist/utils/resource-group.d.ts.map +1 -1
- package/dist/utils/resource-group.js +59 -0
- package/dist/utils/resource-group.js.map +1 -0
- 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/error-processor.js +262 -0
- package/dist/utils/standard-process-drivers/error-processor.js.map +1 -0
- 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/index.js +4 -0
- package/dist/utils/standard-process-drivers/index.js.map +1 -0
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts +16 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js +299 -0
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js.map +1 -0
- package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts +11 -5
- package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/mm-entity-processor.js +174 -0
- package/dist/utils/standard-process-drivers/mm-entity-processor.js.map +1 -0
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +12 -6
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.js +333 -0
- package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +1 -0
- package/dist/utils/time-utils.d.ts.map +1 -1
- package/dist/utils/time-utils.js +103 -0
- package/dist/utils/time-utils.js.map +1 -0
- package/dist/utils/timezone.js +105 -0
- package/dist/utils/timezone.js.map +1 -0
- package/dist/utils/trimObjectValues.js +11 -0
- package/dist/utils/trimObjectValues.js.map +1 -0
- package/dist/utils/uniqueRows.js +35 -0
- package/dist/utils/uniqueRows.js.map +1 -0
- package/package.json +8 -10
- package/src/index.ts +42 -45
- package/src/knexfile.ts +1 -0
- 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 +52 -39
- package/src/services/data-sync-service/data-sync-service.ts +10 -19
- package/src/services/data-sync-service/index.ts +3 -3
- package/src/services/data-sync-service/jobs/clean-up-expired-cache.ts +5 -4
- package/src/services/data-sync-service/jobs/from-erp.ts +12 -6
- package/src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts +4 -3
- package/src/services/data-sync-service/jobs/run-migrations.ts +4 -3
- package/src/services/data-sync-service/jobs/to-erp.ts +5 -14
- 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/index.ts +6 -14
- package/src/services/mm-api-service/mm-api-service.ts +13 -30
- 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 +0 -1
- 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 +116 -81
- 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 +9 -2
- package/src/types/flattened-work-order.ts +108 -0
- package/src/types/index.ts +10 -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/env.ts +75 -0
- package/src/utils/erp-timezone-utils.ts +99 -0
- package/src/utils/erp-type-from-entity.ts +1 -1
- package/src/utils/http-client.ts +5 -4
- package/src/utils/index.ts +38 -39
- package/src/utils/local-data-store/database-lock.ts +1 -1
- package/src/utils/local-data-store/jobs-shared-data.ts +2 -0
- package/src/utils/mm-labor-ticket-helpers.ts +12 -9
- 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 +225 -69
- package/src/utils/standard-process-drivers/mm-entity-processor.ts +14 -8
- package/src/utils/standard-process-drivers/standard-process-drivers.ts +39 -25
- package/src/utils/time-utils.ts +14 -3
- package/src/utils/timezone.ts +2 -2
- package/dist/config-CvA-mFWF.js +0 -418
- package/dist/config-CvA-mFWF.js.map +0 -1
- package/dist/connector-factory-BPm2GVVF.js +0 -30
- package/dist/connector-factory-BPm2GVVF.js.map +0 -1
- package/dist/hashed-cache-manager-B15NN8hK.js +0 -322
- package/dist/hashed-cache-manager-B15NN8hK.js.map +0 -1
- package/dist/index-D8qO1NyK.js +0 -192
- package/dist/index-D8qO1NyK.js.map +0 -1
- package/dist/knexfile-Bng2Ru9c.js +0 -20
- package/dist/knexfile-Bng2Ru9c.js.map +0 -1
- package/dist/logger-BWw0_z9q.js +0 -17557
- package/dist/logger-BWw0_z9q.js.map +0 -1
- package/dist/mm-erp-sdk.js +0 -4978
- package/dist/mm-erp-sdk.js.map +0 -1
- package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts +0 -30
- package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts.map +0 -1
- package/dist/services/mm-api-service/company-info.d.ts +0 -13
- package/dist/services/mm-api-service/company-info.d.ts.map +0 -1
- package/dist/services/nats-service/nats-service.d.ts +0 -114
- package/dist/services/nats-service/nats-service.d.ts.map +0 -1
- package/dist/services/nats-service/test-nats-subscriber.d.ts +0 -6
- package/dist/services/nats-service/test-nats-subscriber.d.ts.map +0 -1
- package/dist/utils/error-formatter.d.ts +0 -19
- package/dist/utils/error-formatter.d.ts.map +0 -1
- package/src/services/data-sync-service/nats-labor-ticket-listener.ts +0 -341
- package/src/services/mm-api-service/company-info.ts +0 -87
- package/src/services/nats-service/nats-service.ts +0 -351
- package/src/services/nats-service/test-nats-subscriber.ts +0 -96
- package/src/utils/error-formatter.ts +0 -205
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { AxiosError } from "axios";
|
|
2
|
+
import logger from "../reporting-service/logger.js";
|
|
3
|
+
import { HTTPError } from "../../utils/http-client.js";
|
|
4
|
+
/**
|
|
5
|
+
* Represents GraphQL specific errors (validation, missing fields, etc.)
|
|
6
|
+
*/
|
|
7
|
+
export class GraphQLError extends Error {
|
|
8
|
+
errors;
|
|
9
|
+
constructor(message, errors) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.errors = errors;
|
|
12
|
+
this.name = "GraphQLError";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Centralized error handling for API requests.
|
|
17
|
+
* Transforms various error types into standardized HTTPError or GraphQLError.
|
|
18
|
+
*/
|
|
19
|
+
export class ErrorHandler {
|
|
20
|
+
/**
|
|
21
|
+
* Transforms any error into a standardized HTTPError or GraphQLError and throws it.
|
|
22
|
+
* Never returns - always throws an error.
|
|
23
|
+
*
|
|
24
|
+
* @throws {HTTPError|GraphQLError} Standardized error with appropriate details
|
|
25
|
+
*/
|
|
26
|
+
static handle(error) {
|
|
27
|
+
// Handle HTTPError (already processed by http-client)
|
|
28
|
+
if (error instanceof HTTPError) {
|
|
29
|
+
// For GraphQL responses with errors in the data
|
|
30
|
+
if (error.data &&
|
|
31
|
+
typeof error.data === "object" &&
|
|
32
|
+
"errors" in error.data) {
|
|
33
|
+
const graphqlError = new GraphQLError("GraphQL Error", error.data.errors);
|
|
34
|
+
// Log the error
|
|
35
|
+
logger.error("Error>>GraphQL", {
|
|
36
|
+
message: graphqlError.message,
|
|
37
|
+
errors: graphqlError.errors,
|
|
38
|
+
});
|
|
39
|
+
throw graphqlError;
|
|
40
|
+
}
|
|
41
|
+
// Log HTTP error with generic response data
|
|
42
|
+
logger.error("Error>>HTTP", {
|
|
43
|
+
status: error.status,
|
|
44
|
+
message: error.message,
|
|
45
|
+
code: error.code,
|
|
46
|
+
data: error.data,
|
|
47
|
+
});
|
|
48
|
+
throw error; // Re-throw the original HTTPError
|
|
49
|
+
}
|
|
50
|
+
// Handle raw AxiosError (direct usage, not through http-client)
|
|
51
|
+
if (error instanceof AxiosError) {
|
|
52
|
+
// For GraphQL responses with errors
|
|
53
|
+
if (error.response?.data?.errors) {
|
|
54
|
+
const graphqlError = new GraphQLError("GraphQL Error", error.response.data.errors);
|
|
55
|
+
// Log the error
|
|
56
|
+
logger.error("Error>>GraphQL", {
|
|
57
|
+
message: graphqlError.message,
|
|
58
|
+
errors: graphqlError.errors,
|
|
59
|
+
});
|
|
60
|
+
throw graphqlError;
|
|
61
|
+
}
|
|
62
|
+
// For HTTP errors - create HTTPError and log with response data
|
|
63
|
+
const httpError = new HTTPError(error.message, error.response?.status || 500, error.code, error.response?.data);
|
|
64
|
+
// Log HTTP error with generic response data
|
|
65
|
+
logger.error("Error>>HTTP", {
|
|
66
|
+
status: httpError.status,
|
|
67
|
+
message: httpError.message,
|
|
68
|
+
code: httpError.code,
|
|
69
|
+
data: httpError.data,
|
|
70
|
+
});
|
|
71
|
+
throw httpError;
|
|
72
|
+
}
|
|
73
|
+
// For other errors
|
|
74
|
+
const httpError = new HTTPError(error instanceof Error ? error.message : "An unknown error occurred", 500);
|
|
75
|
+
// Log the error
|
|
76
|
+
logger.error("Error>>Unknown", {
|
|
77
|
+
message: httpError.message,
|
|
78
|
+
status: httpError.status,
|
|
79
|
+
});
|
|
80
|
+
throw httpError;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/services/erp-api-services/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-service.d.ts","sourceRoot":"","sources":["../../../../src/services/erp-api-services/graphql/graphql-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"graphql-service.d.ts","sourceRoot":"","sources":["../../../../src/services/erp-api-services/graphql/graphql-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;YAa5D,UAAU;IASxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;;;OAMG;IACG,KAAK,CAAC,CAAC,EACX,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAgB1B;;;;;;OAMG;IACG,MAAM,CAAC,CAAC,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAgB1B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { HTTPClientFactory, } from "../../../utils/http-client.js";
|
|
2
|
+
import { ErrorHandler } from "../errors.js";
|
|
3
|
+
const DEFAULT_RETRY_ATTEMPTS = 0; // One try only, no retries
|
|
4
|
+
export class GraphQLService {
|
|
5
|
+
client;
|
|
6
|
+
config;
|
|
7
|
+
endpoint;
|
|
8
|
+
constructor(config, endpoint, retryAttempts) {
|
|
9
|
+
this.config = config;
|
|
10
|
+
this.endpoint = endpoint
|
|
11
|
+
? endpoint.startsWith("/")
|
|
12
|
+
? endpoint
|
|
13
|
+
: `/${endpoint}`
|
|
14
|
+
: "";
|
|
15
|
+
this.client = HTTPClientFactory.getInstance({
|
|
16
|
+
baseUrl: config.apiUrl,
|
|
17
|
+
retryAttempts: retryAttempts ?? DEFAULT_RETRY_ATTEMPTS,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
async getHeaders() {
|
|
21
|
+
const token = await this.config.getAuthToken();
|
|
22
|
+
return {
|
|
23
|
+
"Content-Type": "application/json",
|
|
24
|
+
Accept: "application/json",
|
|
25
|
+
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Handles a GraphQL response, properly handling both successful responses
|
|
30
|
+
* and GraphQL-level errors (which come in a 200 HTTP response)
|
|
31
|
+
*
|
|
32
|
+
* From the GraphQL specification (https://spec.graphql.org/draft/#sec-Errors):
|
|
33
|
+
> * "When a GraphQL server encounters an error, it should return a response with a
|
|
34
|
+
> * top-level "errors" field containing the error information. The response may still contain
|
|
35
|
+
* a partial result in the "data" field if the error occurred after some data was already resolved."
|
|
36
|
+
*
|
|
37
|
+
* And specifically about HTTP status codes:
|
|
38
|
+
* "A server should return a 200 status code when a GraphQL operation successfully executes, including when
|
|
39
|
+
* the operation returns errors. A server should return a 400 status code when a GraphQL operation fails to execute."
|
|
40
|
+
*/
|
|
41
|
+
handleGraphQLResponse(response) {
|
|
42
|
+
return {
|
|
43
|
+
data: response.data.data,
|
|
44
|
+
metadata: {
|
|
45
|
+
errors: response.data.errors,
|
|
46
|
+
extensions: response.data.extensions,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Executes a GraphQL query
|
|
52
|
+
* @param query The GraphQL query string
|
|
53
|
+
* @param variables Optional variables for the query
|
|
54
|
+
* @returns The query result
|
|
55
|
+
* @throws {HTTPError} For HTTP/network errors only
|
|
56
|
+
*/
|
|
57
|
+
async query(query, variables) {
|
|
58
|
+
try {
|
|
59
|
+
const headers = await this.getHeaders();
|
|
60
|
+
const response = await this.client.request({
|
|
61
|
+
method: "POST",
|
|
62
|
+
url: this.endpoint,
|
|
63
|
+
data: { query, variables },
|
|
64
|
+
headers,
|
|
65
|
+
});
|
|
66
|
+
return this.handleGraphQLResponse(response);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
ErrorHandler.handle(error);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Executes a GraphQL mutation
|
|
74
|
+
* @param mutation The GraphQL mutation string
|
|
75
|
+
* @param variables Optional variables for the mutation
|
|
76
|
+
* @returns The mutation result
|
|
77
|
+
* @throws {HTTPError} For HTTP/network errors only
|
|
78
|
+
*/
|
|
79
|
+
async mutate(mutation, variables) {
|
|
80
|
+
try {
|
|
81
|
+
const headers = await this.getHeaders();
|
|
82
|
+
const response = await this.client.request({
|
|
83
|
+
method: "POST",
|
|
84
|
+
url: this.endpoint,
|
|
85
|
+
data: { query: mutation, variables },
|
|
86
|
+
headers,
|
|
87
|
+
});
|
|
88
|
+
return this.handleGraphQLResponse(response);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
ErrorHandler.handle(error);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Cleanup all HTTP connections and resources
|
|
96
|
+
* Call this when the service is no longer needed
|
|
97
|
+
*/
|
|
98
|
+
async destroy() {
|
|
99
|
+
await this.client.destroy();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=graphql-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-service.js","sourceRoot":"","sources":["../../../../src/services/erp-api-services/graphql/graphql-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/erp-api-services/graphql/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* ERP API Services for the MachineMetrics ERP Connector SDK.
|
|
3
3
|
* This file exports the public interfaces and types for ERP API services.
|
|
4
4
|
*/
|
|
5
|
-
export { RestAPIService } from "./rest/rest-api-service";
|
|
6
|
-
export type { QueryParams } from "./rest/get-query-params";
|
|
7
|
-
export { GraphQLService } from "./graphql/graphql-service";
|
|
8
|
-
export type { GraphQLServerError } from './graphql/types';
|
|
9
|
-
export { OAuthClient } from './oauth-client';
|
|
10
|
-
export type { OAuthConfig } from './oauth-client';
|
|
11
|
-
export type { APIResponse } from './types';
|
|
12
|
-
export { ErrorHandler, GraphQLError } from './errors';
|
|
5
|
+
export { RestAPIService } from "./rest/rest-api-service.js";
|
|
6
|
+
export type { QueryParams } from "./rest/get-query-params.js";
|
|
7
|
+
export { GraphQLService } from "./graphql/graphql-service.js";
|
|
8
|
+
export type { GraphQLServerError } from './graphql/types.js';
|
|
9
|
+
export { OAuthClient } from './oauth-client.js';
|
|
10
|
+
export type { OAuthConfig } from './oauth-client.js';
|
|
11
|
+
export type { APIResponse } from './types.js';
|
|
12
|
+
export { ErrorHandler, GraphQLError } from './errors.js';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/erp-api-services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/erp-api-services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ERP API Services for the MachineMetrics ERP Connector SDK.
|
|
3
|
+
* This file exports the public interfaces and types for ERP API services.
|
|
4
|
+
*/
|
|
5
|
+
// REST API Service
|
|
6
|
+
export { RestAPIService } from "./rest/rest-api-service.js";
|
|
7
|
+
// GraphQL Service
|
|
8
|
+
export { GraphQLService } from "./graphql/graphql-service.js";
|
|
9
|
+
// OAuth Client
|
|
10
|
+
export { OAuthClient } from './oauth-client.js';
|
|
11
|
+
// Error classes
|
|
12
|
+
export { ErrorHandler, GraphQLError } from './errors.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/erp-api-services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMhD,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A utility class for handling OAuth client credentials flow.
|
|
3
|
+
* This is specifically for the client credentials grant type,
|
|
4
|
+
* which is used for server-to-server authentication.
|
|
5
|
+
*/
|
|
6
|
+
export class OAuthClient {
|
|
7
|
+
config;
|
|
8
|
+
constructor(config) {
|
|
9
|
+
this.config = config;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Requests an OAuth token using the client credentials flow.
|
|
13
|
+
* The request is sent as application/x-www-form-urlencoded.
|
|
14
|
+
* @returns A promise that resolves to the token response containing access_token and expires_in
|
|
15
|
+
* @throws Error if the token request fails
|
|
16
|
+
*/
|
|
17
|
+
async getToken() {
|
|
18
|
+
const formData = new URLSearchParams({
|
|
19
|
+
grant_type: "client_credentials",
|
|
20
|
+
client_id: this.config.clientId,
|
|
21
|
+
client_secret: this.config.clientSecret,
|
|
22
|
+
scope: this.config.scope,
|
|
23
|
+
});
|
|
24
|
+
const response = await fetch(this.config.authUrl, {
|
|
25
|
+
method: "POST",
|
|
26
|
+
headers: {
|
|
27
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
28
|
+
},
|
|
29
|
+
body: formData,
|
|
30
|
+
});
|
|
31
|
+
if (!response.ok) {
|
|
32
|
+
throw new Error(`OAuth token request failed: ${response.statusText}`);
|
|
33
|
+
}
|
|
34
|
+
const data = (await response.json());
|
|
35
|
+
if (data.token_type !== "Bearer") {
|
|
36
|
+
throw new Error(`Unexpected token type: ${data.token_type}`);
|
|
37
|
+
}
|
|
38
|
+
return data;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=oauth-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-client.js","sourceRoot":"","sources":["../../../src/services/erp-api-services/oauth-client.ts"],"names":[],"mappings":"AA8BA;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAE3C;;;;;OAKG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;YACnC,UAAU,EAAE,oBAAoB;YAChC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC/B,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACvC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,mCAAmC;aACpD;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAC;QAC3D,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types and utilities for handling GET query parameters and responses
|
|
3
|
+
*/
|
|
4
|
+
export var Operator;
|
|
5
|
+
(function (Operator) {
|
|
6
|
+
Operator["eq"] = "eq";
|
|
7
|
+
Operator["lt"] = "lt";
|
|
8
|
+
Operator["lte"] = "lte";
|
|
9
|
+
Operator["gt"] = "gt";
|
|
10
|
+
Operator["gte"] = "gte";
|
|
11
|
+
})(Operator || (Operator = {}));
|
|
12
|
+
/**
|
|
13
|
+
* Builds a logical condition string from an array of conditions
|
|
14
|
+
* @param conditions Array of logical conditions
|
|
15
|
+
* @param operator The logical operator to use ('and' or 'or')
|
|
16
|
+
* @returns A string representation of the logical conditions
|
|
17
|
+
*/
|
|
18
|
+
export const buildLogicalCondition = (conditions, operator) => {
|
|
19
|
+
return conditions
|
|
20
|
+
.map((condition) => `${condition.field} ${condition.operator} '${condition.value}'`)
|
|
21
|
+
.join(` ${operator} `);
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=get-query-params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-query-params.js","sourceRoot":"","sources":["../../../../src/services/erp-api-services/rest/get-query-params.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,uBAAW,CAAA;IACX,qBAAS,CAAA;IACT,uBAAW,CAAA;AACb,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAoCD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,UAA8B,EAC9B,QAAsB,EACd,EAAE;IACV,OAAO,UAAU;SACd,GAAG,CACF,CAAC,SAAS,EAAE,EAAE,CACZ,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,GAAG,CAClE;SACA,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { QueryParams } from "./get-query-params";
|
|
2
|
-
import { APIResponse, ERPApiConfig } from "../types";
|
|
1
|
+
import { QueryParams } from "./get-query-params.js";
|
|
2
|
+
import { APIResponse, ERPApiConfig } from "../types.js";
|
|
3
3
|
/**
|
|
4
4
|
* RestAPIService is a utility class for making REST API requests to an ERP system.
|
|
5
5
|
* Provides methods for GET, PATCH, and POST requests, with built-in pagination support.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-api-service.d.ts","sourceRoot":"","sources":["../../../../src/services/erp-api-services/rest/rest-api-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAGZ,MAAM,
|
|
1
|
+
{"version":3,"file":"rest-api-service.d.ts","sourceRoot":"","sources":["../../../../src/services/erp-api-services/rest/rest-api-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAGZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKxD;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAS;gBAG9B,MAAM,EAAE,YAAY,EACpB,aAAa,CAAC,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM;YAWZ,UAAU;IASxB,OAAO,CAAC,gBAAgB;IA+BxB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,QAAQ;IASV,GAAG,CAAC,CAAC,EACT,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,WAAgB,GACtB,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAkCtB,KAAK,CAAC,CAAC,EACX,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAoBpB,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,QAAQ,EACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAoBlC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { HTTPClientFactory } from "../../../utils/http-client.js";
|
|
2
|
+
import { buildLogicalCondition, } from "./get-query-params.js";
|
|
3
|
+
import { ErrorHandler } from "../errors.js";
|
|
4
|
+
const DEFAULT_RETRY_ATTEMPTS = 0; // One try only, no retries
|
|
5
|
+
const DEFAULT_PAGINATION_LIMIT = 100; // Reasonable default for most APIs
|
|
6
|
+
/**
|
|
7
|
+
* RestAPIService is a utility class for making REST API requests to an ERP system.
|
|
8
|
+
* Provides methods for GET, PATCH, and POST requests, with built-in pagination support.
|
|
9
|
+
*
|
|
10
|
+
* @param config - Configuration for the ERP API connection
|
|
11
|
+
* @param retryAttempts - Optional number of retry attempts for failed requests. Defaults to 0 (no retries)
|
|
12
|
+
* @param paginationLimit - Optional default limit for paginated requests. Defaults to 100 items per page
|
|
13
|
+
*
|
|
14
|
+
* NOTE: assumes bearertoken-based authentication.
|
|
15
|
+
*/
|
|
16
|
+
export class RestAPIService {
|
|
17
|
+
client;
|
|
18
|
+
config;
|
|
19
|
+
paginationLimit;
|
|
20
|
+
constructor(config, retryAttempts, paginationLimit) {
|
|
21
|
+
this.config = config;
|
|
22
|
+
this.paginationLimit = paginationLimit ?? DEFAULT_PAGINATION_LIMIT;
|
|
23
|
+
this.client = HTTPClientFactory.getInstance({
|
|
24
|
+
baseUrl: config.apiUrl,
|
|
25
|
+
retryAttempts: retryAttempts ?? DEFAULT_RETRY_ATTEMPTS,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//#region Get Request Helpers
|
|
29
|
+
async getHeaders() {
|
|
30
|
+
const token = await this.config.getAuthToken();
|
|
31
|
+
return {
|
|
32
|
+
"Content-Type": "application/json",
|
|
33
|
+
Accept: "application/json",
|
|
34
|
+
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
buildQueryParams(query = {}) {
|
|
38
|
+
const { limit, nextPage, filter } = query;
|
|
39
|
+
const queryParams = {};
|
|
40
|
+
if (limit) {
|
|
41
|
+
queryParams.take = limit.toString();
|
|
42
|
+
}
|
|
43
|
+
if (nextPage) {
|
|
44
|
+
queryParams.skip = nextPage;
|
|
45
|
+
}
|
|
46
|
+
if (filter) {
|
|
47
|
+
if (filter.in) {
|
|
48
|
+
filter.in.forEach((filterIn) => {
|
|
49
|
+
const query = filterIn.value.join("|");
|
|
50
|
+
queryParams[`${filterIn.field}[in]`] = query;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (filter.and) {
|
|
54
|
+
queryParams["filter[and]"] = buildLogicalCondition(filter.and, "and");
|
|
55
|
+
}
|
|
56
|
+
if (filter.or) {
|
|
57
|
+
queryParams["filter[or]"] = buildLogicalCondition(filter.or, "or");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return new URLSearchParams(queryParams);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Builds pagination metadata for API responses
|
|
64
|
+
* @param limit - Optional limit for this specific request. If not provided, uses the service's default pagination limit
|
|
65
|
+
* @param nextPage - Optional next page token
|
|
66
|
+
* @param previousPage - Optional previous page token
|
|
67
|
+
* @param dataLength - Number of items in the current response
|
|
68
|
+
* @param totalCount - Total number of items available
|
|
69
|
+
* @returns Pagination metadata including count, limit, and page tokens
|
|
70
|
+
*/
|
|
71
|
+
buildPagination(limit, nextPage, previousPage, dataLength = 0, totalCount) {
|
|
72
|
+
const paging = {
|
|
73
|
+
count: totalCount || 0,
|
|
74
|
+
limit: limit || this.paginationLimit,
|
|
75
|
+
nextPage: undefined,
|
|
76
|
+
previousPage,
|
|
77
|
+
};
|
|
78
|
+
if (limit) {
|
|
79
|
+
paging.limit = limit;
|
|
80
|
+
const currentSkip = parseInt(nextPage || "0");
|
|
81
|
+
// Only set nextPage if:
|
|
82
|
+
// 1. We have data in this response
|
|
83
|
+
// 2. We haven't reached the end (current skip + limit < total count)
|
|
84
|
+
if (dataLength > 0 && (!totalCount || currentSkip + limit < totalCount)) {
|
|
85
|
+
paging.nextPage = `${currentSkip + limit}`;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return paging;
|
|
89
|
+
}
|
|
90
|
+
buildUrl(endpoint, queryParams) {
|
|
91
|
+
const pathParts = [this.config.apiUrl || ""];
|
|
92
|
+
pathParts.push(endpoint);
|
|
93
|
+
const path = pathParts.filter(Boolean).join("/");
|
|
94
|
+
return queryParams ? `${path}?${queryParams.toString()}` : path;
|
|
95
|
+
}
|
|
96
|
+
//#endregion get request helpers
|
|
97
|
+
async get(endpoint, query = {}) {
|
|
98
|
+
try {
|
|
99
|
+
const params = this.buildQueryParams(query);
|
|
100
|
+
const url = this.buildUrl(endpoint, params);
|
|
101
|
+
const headers = await this.getHeaders();
|
|
102
|
+
const response = await this.client.request({
|
|
103
|
+
method: "GET",
|
|
104
|
+
url,
|
|
105
|
+
headers,
|
|
106
|
+
});
|
|
107
|
+
const paging = this.buildPagination(query.limit, query.nextPage, query.previousPage, response.data.Data?.length, response.data.TotalCount);
|
|
108
|
+
return {
|
|
109
|
+
data: response.data.Data || [],
|
|
110
|
+
metadata: {
|
|
111
|
+
pagination: paging,
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
ErrorHandler.handle(error);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async patch(endpoint, id, data) {
|
|
120
|
+
try {
|
|
121
|
+
const url = this.buildUrl(`${endpoint}/${id}`);
|
|
122
|
+
const headers = await this.getHeaders();
|
|
123
|
+
const response = await this.client.request({
|
|
124
|
+
method: "PATCH",
|
|
125
|
+
url,
|
|
126
|
+
data,
|
|
127
|
+
headers,
|
|
128
|
+
});
|
|
129
|
+
return {
|
|
130
|
+
data: response.data,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
ErrorHandler.handle(error);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
async post(endpoint, data) {
|
|
138
|
+
try {
|
|
139
|
+
const url = this.buildUrl(endpoint);
|
|
140
|
+
const headers = await this.getHeaders();
|
|
141
|
+
const response = await this.client.request({
|
|
142
|
+
method: "POST",
|
|
143
|
+
url,
|
|
144
|
+
data,
|
|
145
|
+
headers,
|
|
146
|
+
});
|
|
147
|
+
return {
|
|
148
|
+
data: response.data,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
ErrorHandler.handle(error);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Cleanup all HTTP connections and resources
|
|
157
|
+
* Call this when the service is no longer needed
|
|
158
|
+
*/
|
|
159
|
+
async destroy() {
|
|
160
|
+
await this.client.destroy();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=rest-api-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest-api-service.js","sourceRoot":"","sources":["../../../../src/services/erp-api-services/rest/rest-api-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAEL,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,sBAAsB,GAAG,CAAC,CAAC,CAAC,2BAA2B;AAC7D,MAAM,wBAAwB,GAAG,GAAG,CAAC,CAAC,mCAAmC;AAEzE;;;;;;;;;GASG;AACH,MAAM,OAAO,cAAc;IACjB,MAAM,CAAa;IACnB,MAAM,CAAe;IACrB,eAAe,CAAS;IAEhC,YACE,MAAoB,EACpB,aAAsB,EACtB,eAAwB;QAExB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,wBAAwB,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC;YAC1C,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,aAAa,EAAE,aAAa,IAAI,sBAAsB;SACvD,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IACrB,KAAK,CAAC,UAAU;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC/C,OAAO;YACL,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;YAC1B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,QAAqB,EAAE;QAC9C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAC1C,MAAM,WAAW,GAA2B,EAAE,CAAC;QAE/C,IAAI,KAAK,EAAE,CAAC;YACV,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACvC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,MAAM,CAAC,GAAG,KAAK,CAAC;gBAC/C,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBACf,WAAW,CAAC,aAAa,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxE,CAAC;YAED,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,WAAW,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACK,eAAe,CACrB,KAAc,EACd,QAAiB,EACjB,YAAqB,EACrB,aAAqB,CAAC,EACtB,UAAmB;QAEnB,MAAM,MAAM,GAAe;YACzB,KAAK,EAAE,UAAU,IAAI,CAAC;YACtB,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,eAAe;YACpC,QAAQ,EAAE,SAAS;YACnB,YAAY;SACb,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;YAE9C,wBAAwB;YACxB,mCAAmC;YACnC,qEAAqE;YACrE,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,WAAW,GAAG,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC;gBACxE,MAAM,CAAC,QAAQ,GAAG,GAAG,WAAW,GAAG,KAAK,EAAE,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,QAAQ,CAAC,QAAgB,EAAE,WAA6B;QAC9D,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC7C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzB,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IACD,gCAAgC;IAEhC,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,QAAqB,EAAE;QAEvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAGvC;gBACD,MAAM,EAAE,KAAK;gBACb,GAAG;gBACH,OAAO;aACR,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CACjC,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,YAAY,EAClB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAC1B,QAAQ,CAAC,IAAI,CAAC,UAAU,CACzB,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;gBAC9B,QAAQ,EAAE;oBACR,UAAU,EAAE,MAAM;iBACnB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,EAAU,EACV,IAAgB;QAEhB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI;gBAC5C,MAAM,EAAE,OAAO;gBACf,GAAG;gBACH,IAAI;gBACJ,OAAO;aACR,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CACR,QAAgB,EAChB,IAAc;QAEd,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAY;gBACpD,MAAM,EAAE,MAAM;gBACd,GAAG;gBACH,IAAI;gBACJ,OAAO;aACR,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Pagination } from "./rest/get-query-params";
|
|
2
|
-
import { GraphQLServerError } from "./graphql/types";
|
|
1
|
+
import { Pagination } from "./rest/get-query-params.js";
|
|
2
|
+
import { GraphQLServerError } from "./graphql/types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Configuration for making API requests to an ERP system.
|
|
5
5
|
* apiUrl: The base URL of the ERP API.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/erp-api-services/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/erp-api-services/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACtC,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/erp-api-services/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { MMApiClient } from "./mm-api-service";
|
|
2
|
-
import type { MMReceiveLaborTicketReason, MMReceiveLaborTicketWorkOrderOperation } from "./types/receive-types";
|
|
3
|
-
import { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, MMSendWorkOrderBatch } from "./types/send-types";
|
|
4
|
-
import type { IToRESTApiObject } from "./types/send-types";
|
|
5
|
-
import type { MMApiBaseResponse, MM200NonLaborTicketResponse, MM200LaborTicketResponse, MM207NonLaborTicketResponse, MM207LaborTicketResponse, MM500NonLaborTicketException, MM500LaborTicketException, MMGraphQLResourceResponse, MMMachineGroupsResponse } from "./types/mm-response-interfaces";
|
|
6
|
-
import { getCompanyInfo } from "./company-info";
|
|
7
|
-
import type { CompanyInfo } from "./company-info";
|
|
1
|
+
import { MMApiClient } from "./mm-api-service.js";
|
|
2
|
+
import type { MMReceiveLaborTicketReason, MMReceiveLaborTicketWorkOrderOperation } from "./types/receive-types.js";
|
|
3
|
+
import { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, MMSendWorkOrderBatch } from "./types/send-types.js";
|
|
4
|
+
import type { IToRESTApiObject } from "./types/send-types.js";
|
|
5
|
+
import type { MMApiBaseResponse, MM200NonLaborTicketResponse, MM200LaborTicketResponse, MM207NonLaborTicketResponse, MM207LaborTicketResponse, MM500NonLaborTicketException, MM500LaborTicketException, MMGraphQLResourceResponse, MMMachineGroupsResponse } from "./types/mm-response-interfaces.js";
|
|
8
6
|
/**
|
|
9
7
|
* A class to manage interactions with the MM API
|
|
10
8
|
*/
|
|
@@ -17,7 +15,7 @@ export type { MMApiBaseResponse, MM200NonLaborTicketResponse, MM200LaborTicketRe
|
|
|
17
15
|
/**
|
|
18
16
|
* Types related of labor tickets received from the MM API
|
|
19
17
|
*/
|
|
20
|
-
export { MMReceiveLaborTicket } from "./types/receive-types";
|
|
18
|
+
export { MMReceiveLaborTicket } from "./types/receive-types.js";
|
|
21
19
|
export type { MMReceiveLaborTicketReason, MMReceiveLaborTicketWorkOrderOperation, };
|
|
22
20
|
/**
|
|
23
21
|
* Interface for entities sent to the MM API
|
|
@@ -31,9 +29,4 @@ export { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWo
|
|
|
31
29
|
* Batch interfaces for sending multiple related entities
|
|
32
30
|
*/
|
|
33
31
|
export type { MMSendWorkOrderBatch };
|
|
34
|
-
/**
|
|
35
|
-
* Company information utilities
|
|
36
|
-
*/
|
|
37
|
-
export { getCompanyInfo };
|
|
38
|
-
export type { CompanyInfo };
|
|
39
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAEV,0BAA0B,EAC1B,sCAAsC,EACvC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAE3C;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;GAGG;AACH,YAAY,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,GACxB,CAAC;AAEF;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EACV,0BAA0B,EAC1B,sCAAsC,GACvC,CAAC;AAEF;;GAEG;AACH,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,GAClB,CAAC;AAEF;;GAEG;AACH,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MMApiClient } from "./mm-api-service.js";
|
|
2
|
+
import { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, } from "./types/send-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* A class to manage interactions with the MM API
|
|
5
|
+
*/
|
|
6
|
+
export { MMApiClient };
|
|
7
|
+
/**
|
|
8
|
+
* Types related of labor tickets received from the MM API
|
|
9
|
+
*/
|
|
10
|
+
export { MMReceiveLaborTicket } from "./types/receive-types.js";
|
|
11
|
+
/**
|
|
12
|
+
* Classes for entities sent to the MM API
|
|
13
|
+
*/
|
|
14
|
+
export { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, };
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/mm-api-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,GAElB,MAAM,uBAAuB,CAAC;AAc/B;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC;AAkBvB;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAWhE;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,GAClB,CAAC"}
|