@machinemetrics/mm-erp-sdk 0.2.0-beta.3 → 0.3.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 +5 -0
- package/dist/index.d.ts +43 -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 +104 -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.js +40 -39
- 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 +43 -36
- 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 +36 -35
- 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 +22 -21
- package/dist/services/data-sync-service/jobs/run-migrations.js.map +1 -1
- package/dist/services/data-sync-service/jobs/to-erp.js +57 -48
- package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
- package/dist/services/data-sync-service/nats-labor-ticket-listener.js +290 -0
- package/dist/services/data-sync-service/nats-labor-ticket-listener.js.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/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/company-info.js +60 -0
- package/dist/services/mm-api-service/company-info.js.map +1 -0
- package/dist/services/mm-api-service/index.d.ts +8 -8
- package/dist/services/mm-api-service/index.d.ts.map +1 -1
- package/dist/services/mm-api-service/index.js +20 -0
- package/dist/services/mm-api-service/index.js.map +1 -0
- package/dist/services/mm-api-service/mm-api-service.d.ts +7 -7
- package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
- package/dist/services/mm-api-service/mm-api-service.js +531 -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.js +56 -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/nats-service/nats-service.js +244 -0
- package/dist/services/nats-service/nats-service.js.map +1 -0
- package/dist/services/nats-service/test-nats-subscriber.js +79 -0
- package/dist/services/nats-service/test-nats-subscriber.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 +246 -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 +1 -1
- 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/index.d.ts +2 -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/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-formatter.js +184 -0
- package/dist/utils/error-formatter.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 +187 -0
- package/dist/utils/http-client.js.map +1 -0
- package/dist/utils/index.d.ts +35 -35
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +69 -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.js +116 -0
- package/dist/utils/local-data-store/jobs-shared-data.js.map +1 -0
- 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/mm-labor-ticket-helpers.js +23 -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 +1 -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 +165 -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 +4 -4
- package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/mm-entity-processor.js +168 -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 +4 -4
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.js +324 -0
- package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +1 -0
- package/dist/utils/time-utils.js +96 -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 +5 -6
- package/src/index.ts +43 -43
- 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 +2 -2
- package/src/services/data-sync-service/data-sync-service.ts +12 -11
- 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 +6 -6
- 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 +3 -3
- package/src/services/data-sync-service/nats-labor-ticket-listener.ts +8 -8
- 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 +3 -3
- package/src/services/mm-api-service/index.ts +8 -8
- package/src/services/mm-api-service/mm-api-service.ts +10 -10
- 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/nats-service/nats-service.ts +1 -1
- package/src/services/nats-service/test-nats-subscriber.ts +1 -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 +109 -42
- 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/http-client.ts +1 -1
- package/src/utils/index.ts +35 -35
- 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/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
|
@@ -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":""}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { CoreConfiguration } from "../data-sync-service/configuration-manager.js";
|
|
2
|
+
import { HTTPClientFactory } from "../../utils/http-client.js";
|
|
3
|
+
import { logger } from "../reporting-service/index.js";
|
|
4
|
+
// Cache for company info to avoid repeated API calls
|
|
5
|
+
let companyInfoCache = null;
|
|
6
|
+
/**
|
|
7
|
+
* Fetches company information from /accounts/current endpoint
|
|
8
|
+
* Results are cached to avoid repeated API calls
|
|
9
|
+
* @returns Promise<CompanyInfo> Company information including timezone, locationRef, and companyId
|
|
10
|
+
* @throws Error if unable to fetch company information
|
|
11
|
+
*/
|
|
12
|
+
export const getCompanyInfo = async () => {
|
|
13
|
+
// Return cached value if available
|
|
14
|
+
if (companyInfoCache) {
|
|
15
|
+
return companyInfoCache;
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
// Get the configuration
|
|
19
|
+
const config = CoreConfiguration.inst();
|
|
20
|
+
const apiUrl = config.mmApiBaseUrl;
|
|
21
|
+
const authToken = config.mmApiAuthToken;
|
|
22
|
+
if (!apiUrl || !authToken) {
|
|
23
|
+
throw new Error("Missing required configuration for company info fetch");
|
|
24
|
+
}
|
|
25
|
+
// Create HTTP client
|
|
26
|
+
const client = HTTPClientFactory.getInstance({
|
|
27
|
+
baseUrl: apiUrl,
|
|
28
|
+
retryAttempts: config.mmApiRetryAttempts,
|
|
29
|
+
});
|
|
30
|
+
// Fetch user/company information from the API
|
|
31
|
+
const response = await client.request({
|
|
32
|
+
url: "/accounts/current?includeLocation=true",
|
|
33
|
+
method: "GET",
|
|
34
|
+
headers: {
|
|
35
|
+
Authorization: `Bearer ${authToken}`,
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
const userInfo = response.data;
|
|
39
|
+
if (!userInfo?.company) {
|
|
40
|
+
throw new Error("Unable to retrieve company information from API");
|
|
41
|
+
}
|
|
42
|
+
// Debug: Log what we actually got from the API
|
|
43
|
+
logger.info("Fetched company info from /accounts/current", {
|
|
44
|
+
locationRef: userInfo.locationRef,
|
|
45
|
+
companyId: userInfo.company.id,
|
|
46
|
+
timezone: userInfo.company.timezone,
|
|
47
|
+
});
|
|
48
|
+
// Cache and return company info - locationRef is at top level, not in company
|
|
49
|
+
companyInfoCache = {
|
|
50
|
+
timezone: userInfo.company.timezone,
|
|
51
|
+
locationRef: String(userInfo.locationRef), // Convert number to string
|
|
52
|
+
companyId: userInfo.company.id,
|
|
53
|
+
};
|
|
54
|
+
return companyInfoCache;
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
throw new Error(`Failed to get company info: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=company-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"company-info.js","sourceRoot":"","sources":["../../../src/services/mm-api-service/company-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEvD,qDAAqD;AACrD,IAAI,gBAAgB,GAIT,IAAI,CAAC;AAQhB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAA0B,EAAE;IAC7D,mCAAmC;IACnC,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;QAExC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC;YAC3C,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,MAAM,CAAC,kBAAkB;SACzC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAMlC;YACD,GAAG,EAAE,wCAAwC;YAC7C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,SAAS,EAAE;aACrC;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,+CAA+C;QAC/C,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE;YACzD,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC9B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;SACpC,CAAC,CAAC;QAEH,8EAA8E;QAC9E,gBAAgB,GAAG;YACjB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;YACnC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,2BAA2B;YACtE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;SAC/B,CAAC;QAEF,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
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";
|
|
6
|
+
import { getCompanyInfo } from "./company-info.js";
|
|
7
|
+
import type { CompanyInfo } from "./company-info.js";
|
|
8
8
|
/**
|
|
9
9
|
* A class to manage interactions with the MM API
|
|
10
10
|
*/
|
|
@@ -17,7 +17,7 @@ export type { MMApiBaseResponse, MM200NonLaborTicketResponse, MM200LaborTicketRe
|
|
|
17
17
|
/**
|
|
18
18
|
* Types related of labor tickets received from the MM API
|
|
19
19
|
*/
|
|
20
|
-
export { MMReceiveLaborTicket } from "./types/receive-types";
|
|
20
|
+
export { MMReceiveLaborTicket } from "./types/receive-types.js";
|
|
21
21
|
export type { MMReceiveLaborTicketReason, MMReceiveLaborTicketWorkOrderOperation, };
|
|
22
22
|
/**
|
|
23
23
|
* Interface for entities sent to the MM API
|
|
@@ -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;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;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;AAErC;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { MMApiClient } from "./mm-api-service.js";
|
|
2
|
+
import { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, } from "./types/send-types.js";
|
|
3
|
+
import { getCompanyInfo } from "./company-info.js";
|
|
4
|
+
/**
|
|
5
|
+
* A class to manage interactions with the MM API
|
|
6
|
+
*/
|
|
7
|
+
export { MMApiClient };
|
|
8
|
+
/**
|
|
9
|
+
* Types related of labor tickets received from the MM API
|
|
10
|
+
*/
|
|
11
|
+
export { MMReceiveLaborTicket } from "./types/receive-types.js";
|
|
12
|
+
/**
|
|
13
|
+
* Classes for entities sent to the MM API
|
|
14
|
+
*/
|
|
15
|
+
export { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, };
|
|
16
|
+
/**
|
|
17
|
+
* Company information utilities
|
|
18
|
+
*/
|
|
19
|
+
export { getCompanyInfo };
|
|
20
|
+
//# 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;AAa/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;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;AAOF;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ERPObjType } from "../../types/erp-types";
|
|
2
|
-
import { MMReceiveLaborTicket } from "./types/receive-types";
|
|
3
|
-
import { MMTokenManager } from "./token-mgr";
|
|
4
|
-
import * as MM_SEND_TYPES from "./types/send-types";
|
|
5
|
-
import { HTTPClient } from "../../utils/http-client";
|
|
6
|
-
import { Checkpoint } from "./types/checkpoint";
|
|
7
|
-
import { MMApiBaseResponse, MMGraphQLResourceResponse, MMMachineGroupsResponse } from "./types/mm-response-interfaces";
|
|
1
|
+
import { ERPObjType } from "../../types/erp-types.js";
|
|
2
|
+
import { MMReceiveLaborTicket } from "./types/receive-types.js";
|
|
3
|
+
import { MMTokenManager } from "./token-mgr.js";
|
|
4
|
+
import * as MM_SEND_TYPES from "./types/send-types.js";
|
|
5
|
+
import { HTTPClient } from "../../utils/http-client.js";
|
|
6
|
+
import { Checkpoint } from "./types/checkpoint.js";
|
|
7
|
+
import { MMApiBaseResponse, MMGraphQLResourceResponse, MMMachineGroupsResponse } from "./types/mm-response-interfaces.js";
|
|
8
8
|
/**
|
|
9
9
|
* Class to manage interactions with the MM Mapping Service
|
|
10
10
|
* Integrates an MM Token Manager to handle the API token.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mm-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/mm-api-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mm-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/mm-api-service.ts"],"names":[],"mappings":"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"}
|