@skedulo/integration-sdk 0.2.3 → 0.3.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/CHANGELOG.md +43 -1
- package/README.md +9 -0
- package/dist/adapters/adapter-registry.d.ts +9 -0
- package/dist/adapters/adapter-registry.d.ts.map +1 -0
- package/dist/adapters/adapter-registry.js +34 -0
- package/dist/adapters/adapter-registry.js.map +1 -0
- package/dist/adapters/base-adapter-handler.d.ts +105 -0
- package/dist/adapters/base-adapter-handler.d.ts.map +1 -0
- package/dist/adapters/base-adapter-handler.js +379 -0
- package/dist/adapters/base-adapter-handler.js.map +1 -0
- package/dist/adapters/base.adapter.d.ts +38 -17
- package/dist/adapters/base.adapter.d.ts.map +1 -1
- package/dist/adapters/base.adapter.js +80 -22
- package/dist/adapters/base.adapter.js.map +1 -1
- package/dist/adapters/helpers.d.ts +15 -0
- package/dist/adapters/helpers.d.ts.map +1 -0
- package/dist/adapters/helpers.js +55 -0
- package/dist/adapters/helpers.js.map +1 -0
- package/dist/adapters/skedulo-metadata-adapter.d.ts +3 -0
- package/dist/adapters/skedulo-metadata-adapter.d.ts.map +1 -0
- package/dist/adapters/skedulo-metadata-adapter.js +57 -0
- package/dist/adapters/skedulo-metadata-adapter.js.map +1 -0
- package/dist/adapters/skedulo-metadata.adapter.d.ts +3 -0
- package/dist/adapters/skedulo-metadata.adapter.d.ts.map +1 -0
- package/dist/adapters/skedulo-metadata.adapter.js +57 -0
- package/dist/adapters/skedulo-metadata.adapter.js.map +1 -0
- package/dist/adapters/skedulo.adapter.d.ts +11 -0
- package/dist/adapters/skedulo.adapter.d.ts.map +1 -1
- package/dist/adapters/skedulo.adapter.js +38 -7
- package/dist/adapters/skedulo.adapter.js.map +1 -1
- package/dist/adapters/upsert-harness.d.ts +15 -0
- package/dist/adapters/upsert-harness.d.ts.map +1 -0
- package/dist/adapters/upsert-harness.js +55 -0
- package/dist/adapters/upsert-harness.js.map +1 -0
- package/dist/clients/dataflow-client.d.ts +18 -0
- package/dist/clients/dataflow-client.d.ts.map +1 -0
- package/dist/clients/dataflow-client.js +43 -0
- package/dist/clients/dataflow-client.js.map +1 -0
- package/dist/clients/dataflow.client.js +2 -2
- package/dist/clients/dataflow.client.js.map +1 -1
- package/dist/clients/proxy-client.d.ts +13 -0
- package/dist/clients/proxy-client.d.ts.map +1 -0
- package/dist/clients/proxy-client.js +20 -0
- package/dist/clients/proxy-client.js.map +1 -0
- package/dist/clients/proxy.client.d.ts +11 -1
- package/dist/clients/proxy.client.d.ts.map +1 -1
- package/dist/clients/proxy.client.js.map +1 -1
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +7 -1
- package/dist/constants.js.map +1 -1
- package/dist/context.d.ts +5 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +9 -0
- package/dist/context.js.map +1 -1
- package/dist/dist/adapters/skedulo-metadata-adapter.d.ts +3 -0
- package/dist/dist/adapters/skedulo-metadata-adapter.d.ts.map +1 -0
- package/dist/dist/adapters/skedulo-metadata-adapter.js +57 -0
- package/dist/dist/adapters/skedulo-metadata-adapter.js.map +1 -0
- package/dist/dist/adapters/skedulo-metadata.adapter.d.ts +3 -0
- package/dist/dist/adapters/skedulo-metadata.adapter.d.ts.map +1 -0
- package/dist/dist/adapters/skedulo-metadata.adapter.js +57 -0
- package/dist/dist/adapters/skedulo-metadata.adapter.js.map +1 -0
- package/dist/dist/adapters/skedulo.adapter.d.ts +15 -0
- package/dist/dist/adapters/skedulo.adapter.d.ts.map +1 -0
- package/dist/dist/adapters/skedulo.adapter.js +213 -0
- package/dist/dist/adapters/skedulo.adapter.js.map +1 -0
- package/dist/dist/browser.d.ts +12 -0
- package/dist/dist/browser.d.ts.map +1 -0
- package/dist/dist/browser.js +9 -0
- package/dist/dist/browser.js.map +1 -0
- package/dist/dist/clients/dataflow-client.d.ts +18 -0
- package/dist/dist/clients/dataflow-client.d.ts.map +1 -0
- package/dist/dist/clients/dataflow-client.js +43 -0
- package/dist/dist/clients/dataflow-client.js.map +1 -0
- package/dist/dist/clients/dataflow.client.d.ts +19 -0
- package/dist/dist/clients/dataflow.client.d.ts.map +1 -0
- package/dist/dist/clients/dataflow.client.js +28 -0
- package/dist/dist/clients/dataflow.client.js.map +1 -0
- package/dist/dist/clients/proxy-client.d.ts +13 -0
- package/dist/dist/clients/proxy-client.d.ts.map +1 -0
- package/dist/dist/clients/proxy-client.js +20 -0
- package/dist/dist/clients/proxy-client.js.map +1 -0
- package/dist/dist/clients/proxy.client.d.ts +13 -0
- package/dist/dist/clients/proxy.client.d.ts.map +1 -0
- package/dist/dist/clients/proxy.client.js +21 -0
- package/dist/dist/clients/proxy.client.js.map +1 -0
- package/dist/dist/constants.d.ts +17 -0
- package/dist/dist/constants.d.ts.map +1 -0
- package/dist/dist/constants.js +20 -0
- package/dist/dist/constants.js.map +1 -0
- package/dist/dist/context.d.ts +19 -0
- package/dist/dist/context.d.ts.map +1 -0
- package/dist/dist/context.js +40 -0
- package/dist/dist/context.js.map +1 -0
- package/dist/dist/handlers/metadata.handler.d.ts +17 -0
- package/dist/dist/handlers/metadata.handler.d.ts.map +1 -0
- package/dist/dist/handlers/metadata.handler.js +50 -0
- package/dist/dist/handlers/metadata.handler.js.map +1 -0
- package/dist/dist/index.d.ts +18 -0
- package/dist/dist/index.d.ts.map +1 -0
- package/dist/dist/index.js +48 -0
- package/dist/dist/index.js.map +1 -0
- package/dist/dist/interfaces/adapter.interface.d.ts +122 -0
- package/dist/dist/interfaces/adapter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/adapter.interface.js +3 -0
- package/dist/dist/interfaces/adapter.interface.js.map +1 -0
- package/dist/dist/interfaces/data-flow-spec.interface.d.ts +22 -0
- package/dist/dist/interfaces/data-flow-spec.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/data-flow-spec.interface.js +3 -0
- package/dist/dist/interfaces/data-flow-spec.interface.js.map +1 -0
- package/dist/dist/interfaces/field-mapping.interface.d.ts +26 -0
- package/dist/dist/interfaces/field-mapping.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/field-mapping.interface.js +3 -0
- package/dist/dist/interfaces/field-mapping.interface.js.map +1 -0
- package/dist/dist/interfaces/filter.interface.d.ts +19 -0
- package/dist/dist/interfaces/filter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/filter.interface.js +20 -0
- package/dist/dist/interfaces/filter.interface.js.map +1 -0
- package/dist/dist/interfaces/integration-capabilities.interface.d.ts +13 -0
- package/dist/dist/interfaces/integration-capabilities.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/integration-capabilities.interface.js +3 -0
- package/dist/dist/interfaces/integration-capabilities.interface.js.map +1 -0
- package/dist/dist/interfaces/lookup-rule.interface.d.ts +14 -0
- package/dist/dist/interfaces/lookup-rule.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/lookup-rule.interface.js +3 -0
- package/dist/dist/interfaces/lookup-rule.interface.js.map +1 -0
- package/dist/dist/interfaces/mapped-event.interface.d.ts +9 -0
- package/dist/dist/interfaces/mapped-event.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/mapped-event.interface.js +3 -0
- package/dist/dist/interfaces/mapped-event.interface.js.map +1 -0
- package/dist/dist/interfaces/mapping-config.interface.d.ts +26 -0
- package/dist/dist/interfaces/mapping-config.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/mapping-config.interface.js +3 -0
- package/dist/dist/interfaces/mapping-config.interface.js.map +1 -0
- package/dist/dist/interfaces/metadata-adapter.interface.d.ts +26 -0
- package/dist/dist/interfaces/metadata-adapter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/metadata-adapter.interface.js +3 -0
- package/dist/dist/interfaces/metadata-adapter.interface.js.map +1 -0
- package/dist/dist/interfaces/pull-adapter.interface.d.ts +50 -0
- package/dist/dist/interfaces/pull-adapter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/pull-adapter.interface.js +3 -0
- package/dist/dist/interfaces/pull-adapter.interface.js.map +1 -0
- package/dist/dist/interfaces/push-adapter.interface.d.ts +28 -0
- package/dist/dist/interfaces/push-adapter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/push-adapter.interface.js +3 -0
- package/dist/dist/interfaces/push-adapter.interface.js.map +1 -0
- package/dist/dist/interfaces/sample-fetcher.interface.d.ts +4 -0
- package/dist/dist/interfaces/sample-fetcher.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/sample-fetcher.interface.js +3 -0
- package/dist/dist/interfaces/sample-fetcher.interface.js.map +1 -0
- package/dist/dist/interfaces/sync-result.interface.d.ts +19 -0
- package/dist/dist/interfaces/sync-result.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/sync-result.interface.js +3 -0
- package/dist/dist/interfaces/sync-result.interface.js.map +1 -0
- package/dist/dist/interfaces/target-adapter.interface.d.ts +10 -0
- package/dist/dist/interfaces/target-adapter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/target-adapter.interface.js +3 -0
- package/dist/dist/interfaces/target-adapter.interface.js.map +1 -0
- package/dist/dist/mocks/hubspot.d.ts +4 -0
- package/dist/dist/mocks/hubspot.d.ts.map +1 -0
- package/dist/dist/mocks/hubspot.js +61 -0
- package/dist/dist/mocks/hubspot.js.map +1 -0
- package/dist/dist/provenance.d.ts +3 -0
- package/dist/dist/provenance.d.ts.map +1 -0
- package/dist/dist/provenance.js +12 -0
- package/dist/dist/provenance.js.map +1 -0
- package/dist/dist/services/dataflow-service.d.ts +21 -0
- package/dist/dist/services/dataflow-service.d.ts.map +1 -0
- package/dist/dist/services/dataflow-service.js +47 -0
- package/dist/dist/services/dataflow-service.js.map +1 -0
- package/dist/dist/services/dataflow.service.d.ts +20 -0
- package/dist/dist/services/dataflow.service.d.ts.map +1 -0
- package/dist/dist/services/dataflow.service.js +52 -0
- package/dist/dist/services/dataflow.service.js.map +1 -0
- package/dist/dist/services/eql.d.ts +2 -0
- package/dist/dist/services/eql.d.ts.map +1 -0
- package/dist/dist/services/eql.js +10 -0
- package/dist/dist/services/eql.js.map +1 -0
- package/dist/dist/services/mapping-service.d.ts +14 -0
- package/dist/dist/services/mapping-service.d.ts.map +1 -0
- package/dist/dist/services/mapping-service.js +88 -0
- package/dist/dist/services/mapping-service.js.map +1 -0
- package/dist/dist/services/mapping.service.d.ts +14 -0
- package/dist/dist/services/mapping.service.d.ts.map +1 -0
- package/dist/dist/services/mapping.service.js +89 -0
- package/dist/dist/services/mapping.service.js.map +1 -0
- package/dist/dist/services/outbound-service.d.ts +14 -0
- package/dist/dist/services/outbound-service.d.ts.map +1 -0
- package/dist/dist/services/outbound-service.js +65 -0
- package/dist/dist/services/outbound-service.js.map +1 -0
- package/dist/dist/services/paragon-workflow-service.d.ts +7 -0
- package/dist/dist/services/paragon-workflow-service.d.ts.map +1 -0
- package/dist/dist/services/paragon-workflow-service.js +68 -0
- package/dist/dist/services/paragon-workflow-service.js.map +1 -0
- package/dist/dist/services/paragon-workflow.service.d.ts +8 -0
- package/dist/dist/services/paragon-workflow.service.d.ts.map +1 -0
- package/dist/dist/services/paragon-workflow.service.js +31 -0
- package/dist/dist/services/paragon-workflow.service.js.map +1 -0
- package/dist/dist/services/preview-service.d.ts +11 -0
- package/dist/dist/services/preview-service.d.ts.map +1 -0
- package/dist/dist/services/preview-service.js +66 -0
- package/dist/dist/services/preview-service.js.map +1 -0
- package/dist/dist/services/preview.service.d.ts +11 -0
- package/dist/dist/services/preview.service.d.ts.map +1 -0
- package/dist/dist/services/preview.service.js +74 -0
- package/dist/dist/services/preview.service.js.map +1 -0
- package/dist/dist/services/pull-service.d.ts +9 -0
- package/dist/dist/services/pull-service.d.ts.map +1 -0
- package/dist/dist/services/pull-service.js +207 -0
- package/dist/dist/services/pull-service.js.map +1 -0
- package/dist/dist/services/pull.service.d.ts +11 -0
- package/dist/dist/services/pull.service.d.ts.map +1 -0
- package/dist/dist/services/pull.service.js +200 -0
- package/dist/dist/services/pull.service.js.map +1 -0
- package/dist/dist/services/push-service.d.ts +16 -0
- package/dist/dist/services/push-service.d.ts.map +1 -0
- package/dist/dist/services/push-service.js +76 -0
- package/dist/dist/services/push-service.js.map +1 -0
- package/dist/dist/services/push.service.d.ts +19 -0
- package/dist/dist/services/push.service.d.ts.map +1 -0
- package/dist/dist/services/push.service.js +186 -0
- package/dist/dist/services/push.service.js.map +1 -0
- package/dist/dist/services/scheduled-pull-service.d.ts +7 -0
- package/dist/dist/services/scheduled-pull-service.d.ts.map +1 -0
- package/dist/dist/services/scheduled-pull-service.js +58 -0
- package/dist/dist/services/scheduled-pull-service.js.map +1 -0
- package/dist/dist/services/split-filter.d.ts +3 -0
- package/dist/dist/services/split-filter.d.ts.map +1 -0
- package/dist/dist/services/split-filter.js +50 -0
- package/dist/dist/services/split-filter.js.map +1 -0
- package/dist/dist/services/sync-runner.d.ts +22 -0
- package/dist/dist/services/sync-runner.d.ts.map +1 -0
- package/dist/dist/services/sync-runner.js +110 -0
- package/dist/dist/services/sync-runner.js.map +1 -0
- package/dist/dist/services/sync.service.d.ts +21 -0
- package/dist/dist/services/sync.service.d.ts.map +1 -0
- package/dist/dist/services/sync.service.js +166 -0
- package/dist/dist/services/sync.service.js.map +1 -0
- package/dist/dist/types.d.ts +11 -0
- package/dist/dist/types.d.ts.map +1 -0
- package/dist/dist/types.js +6 -0
- package/dist/dist/types.js.map +1 -0
- package/dist/dist/utils/compileFilter.d.ts +3 -0
- package/dist/dist/utils/compileFilter.d.ts.map +1 -0
- package/dist/dist/utils/compileFilter.js +73 -0
- package/dist/dist/utils/compileFilter.js.map +1 -0
- package/dist/dist/utils/normalizeDataFlow.d.ts +3 -0
- package/dist/dist/utils/normalizeDataFlow.d.ts.map +1 -0
- package/dist/dist/utils/normalizeDataFlow.js +30 -0
- package/dist/dist/utils/normalizeDataFlow.js.map +1 -0
- package/dist/dist/utils.d.ts +2 -0
- package/dist/dist/utils.d.ts.map +1 -0
- package/dist/dist/utils.js +10 -0
- package/dist/dist/utils.js.map +1 -0
- package/dist/handlers/metadata.handler.d.ts +0 -4
- package/dist/handlers/metadata.handler.d.ts.map +1 -1
- package/dist/handlers/metadata.handler.js +8 -12
- package/dist/handlers/metadata.handler.js.map +1 -1
- package/dist/index.d.ts +15 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -4
- package/dist/index.js.map +1 -1
- package/dist/interfaces/adapter.interface.d.ts +54 -1
- package/dist/interfaces/adapter.interface.d.ts.map +1 -1
- package/dist/interfaces/integration-capabilities.interface.d.ts +4 -9
- package/dist/interfaces/integration-capabilities.interface.d.ts.map +1 -1
- package/dist/interfaces/mapping-config.interface.d.ts +26 -0
- package/dist/interfaces/mapping-config.interface.d.ts.map +1 -0
- package/dist/interfaces/mapping-config.interface.js +3 -0
- package/dist/interfaces/mapping-config.interface.js.map +1 -0
- package/dist/interfaces/metadata-adapter.interface.d.ts +26 -0
- package/dist/interfaces/metadata-adapter.interface.d.ts.map +1 -0
- package/dist/interfaces/metadata-adapter.interface.js +3 -0
- package/dist/interfaces/metadata-adapter.interface.js.map +1 -0
- package/dist/interfaces/pull-adapter.interface.d.ts +50 -0
- package/dist/interfaces/pull-adapter.interface.d.ts.map +1 -0
- package/dist/interfaces/pull-adapter.interface.js +3 -0
- package/dist/interfaces/pull-adapter.interface.js.map +1 -0
- package/dist/interfaces/push-adapter.interface.d.ts +28 -0
- package/dist/interfaces/push-adapter.interface.d.ts.map +1 -0
- package/dist/interfaces/push-adapter.interface.js +3 -0
- package/dist/interfaces/push-adapter.interface.js.map +1 -0
- package/dist/interfaces/sync-flow-strategy.interface.d.ts +2 -1
- package/dist/interfaces/sync-flow-strategy.interface.d.ts.map +1 -1
- package/dist/interfaces/sync-result.interface.d.ts +1 -1
- package/dist/interfaces/sync-result.interface.d.ts.map +1 -1
- package/dist/interfaces/target-adapter.interface.d.ts +10 -0
- package/dist/interfaces/target-adapter.interface.d.ts.map +1 -0
- package/dist/interfaces/target-adapter.interface.js +3 -0
- package/dist/interfaces/target-adapter.interface.js.map +1 -0
- package/dist/mocks/hubspot.d.ts +4 -0
- package/dist/mocks/hubspot.d.ts.map +1 -0
- package/dist/mocks/hubspot.js +61 -0
- package/dist/mocks/hubspot.js.map +1 -0
- package/dist/provenance.d.ts +3 -0
- package/dist/provenance.d.ts.map +1 -0
- package/dist/provenance.js +12 -0
- package/dist/provenance.js.map +1 -0
- package/dist/services/dataflow-service.d.ts +21 -0
- package/dist/services/dataflow-service.d.ts.map +1 -0
- package/dist/services/dataflow-service.js +47 -0
- package/dist/services/dataflow-service.js.map +1 -0
- package/dist/services/eql.d.ts +2 -0
- package/dist/services/eql.d.ts.map +1 -0
- package/dist/services/eql.js +10 -0
- package/dist/services/eql.js.map +1 -0
- package/dist/services/external-id-sync.strategy.d.ts +1 -1
- package/dist/services/external-id-sync.strategy.d.ts.map +1 -1
- package/dist/services/external-id-sync.strategy.js +18 -9
- package/dist/services/external-id-sync.strategy.js.map +1 -1
- package/dist/services/id-mapping-sync.strategy.d.ts.map +1 -1
- package/dist/services/id-mapping-sync.strategy.js +88 -20
- package/dist/services/id-mapping-sync.strategy.js.map +1 -1
- package/dist/services/id-mapping.service.js +11 -11
- package/dist/services/id-mapping.service.js.map +1 -1
- package/dist/services/mapping-service.d.ts +14 -0
- package/dist/services/mapping-service.d.ts.map +1 -0
- package/dist/services/mapping-service.js +88 -0
- package/dist/services/mapping-service.js.map +1 -0
- package/dist/services/mapping.service.d.ts +14 -0
- package/dist/services/mapping.service.d.ts.map +1 -0
- package/dist/services/mapping.service.js +89 -0
- package/dist/services/mapping.service.js.map +1 -0
- package/dist/services/outbound-service.d.ts +14 -0
- package/dist/services/outbound-service.d.ts.map +1 -0
- package/dist/services/outbound-service.js +65 -0
- package/dist/services/outbound-service.js.map +1 -0
- package/dist/services/paragon-workflow-service.d.ts +7 -0
- package/dist/services/paragon-workflow-service.d.ts.map +1 -0
- package/dist/services/paragon-workflow-service.js +68 -0
- package/dist/services/paragon-workflow-service.js.map +1 -0
- package/dist/services/paragon-workflow.service.d.ts +8 -0
- package/dist/services/paragon-workflow.service.d.ts.map +1 -0
- package/dist/services/paragon-workflow.service.js +31 -0
- package/dist/services/paragon-workflow.service.js.map +1 -0
- package/dist/services/preview-service.d.ts +11 -0
- package/dist/services/preview-service.d.ts.map +1 -0
- package/dist/services/preview-service.js +66 -0
- package/dist/services/preview-service.js.map +1 -0
- package/dist/services/pull-service.d.ts +9 -0
- package/dist/services/pull-service.d.ts.map +1 -0
- package/dist/services/pull-service.js +207 -0
- package/dist/services/pull-service.js.map +1 -0
- package/dist/services/pull.service.d.ts +11 -0
- package/dist/services/pull.service.d.ts.map +1 -0
- package/dist/services/pull.service.js +200 -0
- package/dist/services/pull.service.js.map +1 -0
- package/dist/services/push-service.d.ts +16 -0
- package/dist/services/push-service.d.ts.map +1 -0
- package/dist/services/push-service.js +76 -0
- package/dist/services/push-service.js.map +1 -0
- package/dist/services/push.service.d.ts +19 -0
- package/dist/services/push.service.d.ts.map +1 -0
- package/dist/services/push.service.js +186 -0
- package/dist/services/push.service.js.map +1 -0
- package/dist/services/routes.factory.d.ts +19 -0
- package/dist/services/routes.factory.d.ts.map +1 -0
- package/dist/services/routes.factory.js +352 -0
- package/dist/services/routes.factory.js.map +1 -0
- package/dist/services/scheduled-pull-service.d.ts +7 -0
- package/dist/services/scheduled-pull-service.d.ts.map +1 -0
- package/dist/services/scheduled-pull-service.js +58 -0
- package/dist/services/scheduled-pull-service.js.map +1 -0
- package/dist/services/split-filter.d.ts +3 -0
- package/dist/services/split-filter.d.ts.map +1 -0
- package/dist/services/split-filter.js +50 -0
- package/dist/services/split-filter.js.map +1 -0
- package/dist/services/sync-runner.d.ts +6 -0
- package/dist/services/sync-runner.d.ts.map +1 -1
- package/dist/services/sync-runner.js +46 -20
- package/dist/services/sync-runner.js.map +1 -1
- package/dist/testing/adapter-contract.d.ts +24 -0
- package/dist/testing/adapter-contract.d.ts.map +1 -0
- package/dist/testing/adapter-contract.js +82 -0
- package/dist/testing/adapter-contract.js.map +1 -0
- package/dist/utils/auth.d.ts +6 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +18 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/helpers.d.ts +23 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +118 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/http-response.d.ts +16 -0
- package/dist/utils/http-response.d.ts.map +1 -0
- package/dist/utils/http-response.js +36 -0
- package/dist/utils/http-response.js.map +1 -0
- package/dist/utils/query-string.d.ts +2 -0
- package/dist/utils/query-string.d.ts.map +1 -0
- package/dist/utils/query-string.js +13 -0
- package/dist/utils/query-string.js.map +1 -0
- package/dist/utils/sked-handler.d.ts +22 -0
- package/dist/utils/sked-handler.d.ts.map +1 -0
- package/dist/utils/sked-handler.js +41 -0
- package/dist/utils/sked-handler.js.map +1 -0
- package/dist/utils/strings.d.ts +2 -0
- package/dist/utils/strings.d.ts.map +1 -0
- package/dist/utils/strings.js +14 -0
- package/dist/utils/strings.js.map +1 -0
- package/dist/utils/unwrap-proxy.d.ts +2 -0
- package/dist/utils/unwrap-proxy.d.ts.map +1 -0
- package/dist/utils/unwrap-proxy.js +12 -0
- package/dist/utils/unwrap-proxy.js.map +1 -0
- package/package.json +1 -1
- package/yarn.lock +5 -0
- package/.claude/worktrees/agent-a16acadaf5412dffd/jest.config.js +0 -12
- package/.claude/worktrees/agent-a33c3e4636d488e49/jest.config.js +0 -12
- package/.claude/worktrees/agent-a5b1d2ffa4ceef4a6/jest.config.js +0 -12
- package/.claude/worktrees/agent-aa1db4c22eabbde8e/jest.config.js +0 -12
- package/.claude/worktrees/agent-ac197ae8c69d7061c/jest.config.js +0 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-adapter-handler.js","sourceRoot":"","sources":["../../src/adapters/base-adapter-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,28 +2,24 @@ import type { IntegrationContext } from '../context';
|
|
|
2
2
|
import type { DataFlow } from '../interfaces/data-flow-spec.interface';
|
|
3
3
|
import type { Adapter, FieldInfo, ObjectInfo, SampleRecord, UpsertOutcome } from '../interfaces/adapter.interface';
|
|
4
4
|
import { AdapterRole } from '../constants';
|
|
5
|
+
export type RetryClass = 'transient' | 'permanent';
|
|
6
|
+
export interface StaleMappingArgs {
|
|
7
|
+
attemptUpdate: () => Promise<UpsertOutcome>;
|
|
8
|
+
isStale: (outcome: UpsertOutcome) => boolean;
|
|
9
|
+
retryAsCreate: () => Promise<UpsertOutcome>;
|
|
10
|
+
}
|
|
5
11
|
/**
|
|
6
12
|
* Base class for integration adapters. Extend this to get:
|
|
7
13
|
* - Default no-op implementations for all optional lifecycle hooks
|
|
8
14
|
* - Default getRecordIdField() returning 'id'
|
|
9
15
|
* - Abstract declarations for required methods (compile-time enforcement)
|
|
16
|
+
* - Protected utilities for batch upsert + stale-mapping retry
|
|
10
17
|
*
|
|
11
18
|
* Override only the methods your adapter needs.
|
|
12
|
-
*
|
|
13
|
-
* Example:
|
|
14
|
-
* export class HubSpotAdapter extends BaseAdapter {
|
|
15
|
-
* async upsert(ctx, flow, records) { ... }
|
|
16
|
-
* async delete(ctx, flow, ids) { ... }
|
|
17
|
-
* async getObjects(ctx) { ... }
|
|
18
|
-
* async getFields(ctx, objectName) { ... }
|
|
19
|
-
* async fetchSampleRecords(ctx, objectName, properties, limit) { ... }
|
|
20
|
-
*
|
|
21
|
-
* // Override only the hooks you need:
|
|
22
|
-
* async beforeMap(ctx) { ... } // flatten properties.*, prefetch related data
|
|
23
|
-
* async afterUpsert(ctx) { ... } // write-back HubSpot IDs
|
|
24
|
-
* }
|
|
25
19
|
*/
|
|
26
20
|
export declare abstract class BaseAdapter implements Adapter {
|
|
21
|
+
/** Canonical system name — subclass must set (e.g. "microsoftDynamics"). */
|
|
22
|
+
abstract integrationType: string;
|
|
27
23
|
private _role;
|
|
28
24
|
/** @internal Called by SyncService to assign this adapter's role in the pipeline. */
|
|
29
25
|
_initRole(role: AdapterRole): void;
|
|
@@ -34,10 +30,14 @@ export declare abstract class BaseAdapter implements Adapter {
|
|
|
34
30
|
abstract fetchSampleRecords(ctx: IntegrationContext, objectName: string, properties: string[], limit: number): Promise<SampleRecord[]>;
|
|
35
31
|
/** Returns the field name that identifies records in this adapter's native system. */
|
|
36
32
|
getRecordIdField(): string;
|
|
37
|
-
/**
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Default zip of sourceIds + outcome results. Override only when your
|
|
35
|
+
* adapter's UpsertOutcome.result shape is not "the target ID".
|
|
36
|
+
*/
|
|
37
|
+
buildMappingEntries(sourceIds: string[], outcomes: UpsertOutcome[]): Array<{
|
|
38
|
+
sourceId: string;
|
|
39
|
+
targetId: string;
|
|
40
|
+
}>;
|
|
41
41
|
/** Before FME mapping. Add synthetic fields to ctx.pipeline.data[].raw. */
|
|
42
42
|
beforeMap(_ctx: IntegrationContext): Promise<void>;
|
|
43
43
|
/** After FME mapping. ctx.pipeline.data[].mapped is populated. */
|
|
@@ -57,5 +57,26 @@ export declare abstract class BaseAdapter implements Adapter {
|
|
|
57
57
|
beforeDelete(_ctx: IntegrationContext): Promise<void>;
|
|
58
58
|
/** After successful delete. */
|
|
59
59
|
afterDelete(_ctx: IntegrationContext): Promise<void>;
|
|
60
|
+
/** True when this adapter is the source (fetching) adapter in the current SyncService. */
|
|
61
|
+
protected isSource(): boolean;
|
|
62
|
+
/** True when this adapter is the target (writing) adapter in the current SyncService. */
|
|
63
|
+
protected isTarget(): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Run an async per-record fn over a batch in parallel. Thrown exceptions
|
|
66
|
+
* are converted into permanent UpsertOutcomes carrying the message.
|
|
67
|
+
* Outcomes are returned in input order.
|
|
68
|
+
*/
|
|
69
|
+
protected runUpsertBatch<T>(records: T[], perRecord: (record: T, index: number) => Promise<UpsertOutcome>): Promise<UpsertOutcome[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Classify an HTTP status code into a UpsertOutcome retry class.
|
|
72
|
+
* undefined (no response = network/timeout), 429, 408, 425, 5xx → transient.
|
|
73
|
+
* Everything else → permanent.
|
|
74
|
+
*/
|
|
75
|
+
protected classifyHttpStatus(status: number | undefined): RetryClass;
|
|
76
|
+
/**
|
|
77
|
+
* Run update → if stale (target gone), retry as create and mark wasCreated.
|
|
78
|
+
* IdMappingSyncStrategy uses wasCreated to overwrite the stale mapping entry.
|
|
79
|
+
*/
|
|
80
|
+
protected handleStaleMapping(args: StaleMappingArgs): Promise<UpsertOutcome>;
|
|
60
81
|
}
|
|
61
82
|
//# sourceMappingURL=base.adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/base.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"base.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/base.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,40 +7,33 @@ const constants_1 = require("../constants");
|
|
|
7
7
|
* - Default no-op implementations for all optional lifecycle hooks
|
|
8
8
|
* - Default getRecordIdField() returning 'id'
|
|
9
9
|
* - Abstract declarations for required methods (compile-time enforcement)
|
|
10
|
+
* - Protected utilities for batch upsert + stale-mapping retry
|
|
10
11
|
*
|
|
11
12
|
* Override only the methods your adapter needs.
|
|
12
|
-
*
|
|
13
|
-
* Example:
|
|
14
|
-
* export class HubSpotAdapter extends BaseAdapter {
|
|
15
|
-
* async upsert(ctx, flow, records) { ... }
|
|
16
|
-
* async delete(ctx, flow, ids) { ... }
|
|
17
|
-
* async getObjects(ctx) { ... }
|
|
18
|
-
* async getFields(ctx, objectName) { ... }
|
|
19
|
-
* async fetchSampleRecords(ctx, objectName, properties, limit) { ... }
|
|
20
|
-
*
|
|
21
|
-
* // Override only the hooks you need:
|
|
22
|
-
* async beforeMap(ctx) { ... } // flatten properties.*, prefetch related data
|
|
23
|
-
* async afterUpsert(ctx) { ... } // write-back HubSpot IDs
|
|
24
|
-
* }
|
|
25
13
|
*/
|
|
26
14
|
class BaseAdapter {
|
|
27
15
|
/** @internal Called by SyncService to assign this adapter's role in the pipeline. */
|
|
28
16
|
_initRole(role) {
|
|
29
17
|
this._role = role;
|
|
30
18
|
}
|
|
31
|
-
// ──
|
|
19
|
+
// ── Overridable defaults ──────────────────────────────────────────────────────
|
|
32
20
|
/** Returns the field name that identifies records in this adapter's native system. */
|
|
33
21
|
getRecordIdField() {
|
|
34
22
|
return 'id';
|
|
35
23
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Default zip of sourceIds + outcome results. Override only when your
|
|
26
|
+
* adapter's UpsertOutcome.result shape is not "the target ID".
|
|
27
|
+
*/
|
|
28
|
+
buildMappingEntries(sourceIds, outcomes) {
|
|
29
|
+
return sourceIds
|
|
30
|
+
.map((sourceId, i) => {
|
|
31
|
+
var _a;
|
|
32
|
+
const result = (_a = outcomes[i]) === null || _a === void 0 ? void 0 : _a.result;
|
|
33
|
+
const targetId = typeof result === 'string' || typeof result === 'number' ? String(result) : '';
|
|
34
|
+
return { sourceId, targetId };
|
|
35
|
+
})
|
|
36
|
+
.filter(({ targetId }) => targetId.length > 0);
|
|
44
37
|
}
|
|
45
38
|
// ── Pipeline lifecycle hooks — all no-ops by default ─────────────────────────
|
|
46
39
|
// Override to inject behaviour at specific pipeline steps.
|
|
@@ -64,6 +57,71 @@ class BaseAdapter {
|
|
|
64
57
|
async beforeDelete(_ctx) { }
|
|
65
58
|
/** After successful delete. */
|
|
66
59
|
async afterDelete(_ctx) { }
|
|
60
|
+
// ── Protected utilities for subclasses ───────────────────────────────────────
|
|
61
|
+
/** True when this adapter is the source (fetching) adapter in the current SyncService. */
|
|
62
|
+
isSource() {
|
|
63
|
+
return this._role === constants_1.AdapterRole.SOURCE;
|
|
64
|
+
}
|
|
65
|
+
/** True when this adapter is the target (writing) adapter in the current SyncService. */
|
|
66
|
+
isTarget() {
|
|
67
|
+
return this._role === constants_1.AdapterRole.TARGET;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Run an async per-record fn over a batch in parallel. Thrown exceptions
|
|
71
|
+
* are converted into permanent UpsertOutcomes carrying the message.
|
|
72
|
+
* Outcomes are returned in input order.
|
|
73
|
+
*/
|
|
74
|
+
runUpsertBatch(records, perRecord) {
|
|
75
|
+
return runUpsertBatch(records, perRecord);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Classify an HTTP status code into a UpsertOutcome retry class.
|
|
79
|
+
* undefined (no response = network/timeout), 429, 408, 425, 5xx → transient.
|
|
80
|
+
* Everything else → permanent.
|
|
81
|
+
*/
|
|
82
|
+
classifyHttpStatus(status) {
|
|
83
|
+
return classifyHttpStatus(status);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Run update → if stale (target gone), retry as create and mark wasCreated.
|
|
87
|
+
* IdMappingSyncStrategy uses wasCreated to overwrite the stale mapping entry.
|
|
88
|
+
*/
|
|
89
|
+
handleStaleMapping(args) {
|
|
90
|
+
return handleStaleMapping(args);
|
|
91
|
+
}
|
|
67
92
|
}
|
|
68
93
|
exports.BaseAdapter = BaseAdapter;
|
|
94
|
+
// ── Private helpers (module-scoped) ─────────────────────────────────────────────
|
|
95
|
+
async function runUpsertBatch(records, perRecord) {
|
|
96
|
+
return Promise.all(records.map(async (record, index) => {
|
|
97
|
+
try {
|
|
98
|
+
return await perRecord(record, index);
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
return {
|
|
102
|
+
status: 'permanent',
|
|
103
|
+
error: err instanceof Error ? err.message : String(err),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
function classifyHttpStatus(status) {
|
|
109
|
+
if (status === undefined)
|
|
110
|
+
return 'transient';
|
|
111
|
+
if (status === 429 || status === 408 || status === 425)
|
|
112
|
+
return 'transient';
|
|
113
|
+
if (status >= 500)
|
|
114
|
+
return 'transient';
|
|
115
|
+
return 'permanent';
|
|
116
|
+
}
|
|
117
|
+
async function handleStaleMapping(args) {
|
|
118
|
+
const updateOutcome = await args.attemptUpdate();
|
|
119
|
+
if (!args.isStale(updateOutcome))
|
|
120
|
+
return updateOutcome;
|
|
121
|
+
const createOutcome = await args.retryAsCreate();
|
|
122
|
+
if (createOutcome.status === 'ok') {
|
|
123
|
+
return Object.assign(Object.assign({}, createOutcome), { wasCreated: true });
|
|
124
|
+
}
|
|
125
|
+
return createOutcome;
|
|
126
|
+
}
|
|
69
127
|
//# sourceMappingURL=base.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.adapter.js","sourceRoot":"","sources":["../../src/adapters/base.adapter.ts"],"names":[],"mappings":";;;AASA,4CAA2C;
|
|
1
|
+
{"version":3,"file":"base.adapter.js","sourceRoot":"","sources":["../../src/adapters/base.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { UpsertOutcome } from '../interfaces/adapter.interface';
|
|
2
|
+
export type RetryClass = 'transient' | 'permanent';
|
|
3
|
+
export declare function classifyHttpStatus(status: number | undefined): RetryClass;
|
|
4
|
+
export declare function runUpsertBatch<T>(records: T[], perRecord: (record: T, index: number) => Promise<UpsertOutcome>): Promise<UpsertOutcome[]>;
|
|
5
|
+
export interface StaleMappingArgs {
|
|
6
|
+
attemptUpdate: () => Promise<UpsertOutcome>;
|
|
7
|
+
isStale: (outcome: UpsertOutcome) => boolean;
|
|
8
|
+
retryAsCreate: () => Promise<UpsertOutcome>;
|
|
9
|
+
}
|
|
10
|
+
export declare function handleStaleMapping(args: StaleMappingArgs): Promise<UpsertOutcome>;
|
|
11
|
+
export declare function defaultBuildMappingEntries(sourceIds: string[], outcomes: UpsertOutcome[]): Array<{
|
|
12
|
+
sourceId: string;
|
|
13
|
+
targetId: string;
|
|
14
|
+
}>;
|
|
15
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/adapters/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAKnD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAKzE;AAKD,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,CAAC,EAAE,EACZ,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,GAC9D,OAAO,CAAC,aAAa,EAAE,CAAC,CAa1B;AAED,MAAM,WAAW,gBAAgB;IAG/B,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAI5C,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC;IAE7C,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7C;AAID,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAQvF;AAKD,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,aAAa,EAAE,GACxB,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAI/C"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.classifyHttpStatus = classifyHttpStatus;
|
|
4
|
+
exports.runUpsertBatch = runUpsertBatch;
|
|
5
|
+
exports.handleStaleMapping = handleStaleMapping;
|
|
6
|
+
exports.defaultBuildMappingEntries = defaultBuildMappingEntries;
|
|
7
|
+
// Classify an HTTP status code into a UpsertOutcome retry class.
|
|
8
|
+
// undefined → transient (no response = network/timeout). 429, 408, 425, 5xx → transient.
|
|
9
|
+
// Everything else → permanent.
|
|
10
|
+
function classifyHttpStatus(status) {
|
|
11
|
+
if (status === undefined)
|
|
12
|
+
return 'transient';
|
|
13
|
+
if (status === 429 || status === 408 || status === 425)
|
|
14
|
+
return 'transient';
|
|
15
|
+
if (status >= 500)
|
|
16
|
+
return 'transient';
|
|
17
|
+
return 'permanent';
|
|
18
|
+
}
|
|
19
|
+
// Run an async per-record function over a batch in parallel. Any thrown
|
|
20
|
+
// exception is converted into a permanent UpsertOutcome carrying the message.
|
|
21
|
+
// Outcomes are returned in input order; the perRecord fn receives the index too.
|
|
22
|
+
async function runUpsertBatch(records, perRecord) {
|
|
23
|
+
return Promise.all(records.map(async (record, index) => {
|
|
24
|
+
try {
|
|
25
|
+
return await perRecord(record, index);
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
return {
|
|
29
|
+
status: 'permanent',
|
|
30
|
+
error: err instanceof Error ? err.message : String(err),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
// Run update → if stale (target gone), retry as create and mark wasCreated.
|
|
36
|
+
// IdMappingSyncStrategy uses wasCreated to overwrite the stale mapping entry.
|
|
37
|
+
async function handleStaleMapping(args) {
|
|
38
|
+
const updateOutcome = await args.attemptUpdate();
|
|
39
|
+
if (!args.isStale(updateOutcome))
|
|
40
|
+
return updateOutcome;
|
|
41
|
+
const createOutcome = await args.retryAsCreate();
|
|
42
|
+
if (createOutcome.status === 'ok') {
|
|
43
|
+
return Object.assign(Object.assign({}, createOutcome), { wasCreated: true });
|
|
44
|
+
}
|
|
45
|
+
return createOutcome;
|
|
46
|
+
}
|
|
47
|
+
// Default mapping for buildMappingEntries(): zip sourceIds with outcome.result.
|
|
48
|
+
// Strips entries whose target ID resolves to an empty string.
|
|
49
|
+
// Adapters override only when their .result shape differs from "the target ID".
|
|
50
|
+
function defaultBuildMappingEntries(sourceIds, outcomes) {
|
|
51
|
+
return sourceIds
|
|
52
|
+
.map((sourceId, i) => { var _a, _b; return ({ sourceId, targetId: String((_b = (_a = outcomes[i]) === null || _a === void 0 ? void 0 : _a.result) !== null && _b !== void 0 ? _b : '') }); })
|
|
53
|
+
.filter(({ targetId }) => targetId.length > 0);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/adapters/helpers.ts"],"names":[],"mappings":";;AAOA,gDAKC;AAKD,wCAgBC;AAgBD,gDAQC;AAKD,gEAOC;AAjED,iEAAiE;AACjE,yFAAyF;AACzF,+BAA+B;AAC/B,SAAgB,kBAAkB,CAAC,MAA0B;IAC3D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,WAAW,CAAC;IAC3E,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,WAAW,CAAC;IACtC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,wEAAwE;AACxE,8EAA8E;AAC9E,iFAAiF;AAC1E,KAAK,UAAU,cAAc,CAClC,OAAY,EACZ,SAA+D;IAE/D,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,MAAM,EAAE,WAAoB;gBAC5B,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAcD,4EAA4E;AAC5E,8EAA8E;AACvE,KAAK,UAAU,kBAAkB,CAAC,IAAsB;IAC7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,aAAa,CAAC;IACvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACjD,IAAI,aAAa,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAClC,uCAAY,aAAa,KAAE,UAAU,EAAE,IAAI,IAAG;IAChD,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,gFAAgF;AAChF,8DAA8D;AAC9D,gFAAgF;AAChF,SAAgB,0BAA0B,CACxC,SAAmB,EACnB,QAAyB;IAEzB,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAA,MAAA,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,mCAAI,EAAE,CAAC,EAAE,CAAC,CAAA,EAAA,CAAC;SACjF,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skedulo-metadata-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/skedulo-metadata-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,eAAe,EAA4B,MAAM,UAAU,CAAC;AAErF,eAAO,MAAM,sBAAsB,EAAE,eA6CpC,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.skeduloMetadataAdapter = void 0;
|
|
15
|
+
exports.skeduloMetadataAdapter = {
|
|
16
|
+
async listObjects(ctx) {
|
|
17
|
+
const metadata = await ctx.metadataClient.fetchAllMetadata();
|
|
18
|
+
return metadata
|
|
19
|
+
.filter((m) => m.name != null)
|
|
20
|
+
.map((m) => ({ name: m.name, label: m.name }));
|
|
21
|
+
},
|
|
22
|
+
async listFields(ctx, objectName) {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
const all = await ctx.metadataClient.fetchAllMetadata();
|
|
25
|
+
const entry = (all !== null && all !== void 0 ? all : []).find((m) => m.name === objectName || m.mapping === objectName);
|
|
26
|
+
const lookupKey = (_a = entry === null || entry === void 0 ? void 0 : entry.mapping) !== null && _a !== void 0 ? _a : objectName;
|
|
27
|
+
const metadata = await ctx.metadataClient.fetchObjectMetadata(lookupKey);
|
|
28
|
+
return ((_b = metadata.fields) !== null && _b !== void 0 ? _b : [])
|
|
29
|
+
.map((f) => {
|
|
30
|
+
var _a;
|
|
31
|
+
return ({
|
|
32
|
+
name: f.name,
|
|
33
|
+
label: (_a = f.label) !== null && _a !== void 0 ? _a : f.name,
|
|
34
|
+
type: f.type,
|
|
35
|
+
expression: f.name,
|
|
36
|
+
readOnly: f.accessMode === 'read_only',
|
|
37
|
+
required: f.nillable === false && f.accessMode == 'read_write',
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
async fetchSampleRecords(ctx, objectName, properties, limit) {
|
|
42
|
+
var _a;
|
|
43
|
+
const fields = ['UID', ...properties.filter((p) => p !== 'UID')];
|
|
44
|
+
const builder = ctx.newQueryBuilder({
|
|
45
|
+
objectName,
|
|
46
|
+
operationName: 'metadataSample',
|
|
47
|
+
readOnly: true,
|
|
48
|
+
});
|
|
49
|
+
const result = await builder.withFields(fields).withLimit(limit).execute();
|
|
50
|
+
const records = ((_a = result === null || result === void 0 ? void 0 : result.records) !== null && _a !== void 0 ? _a : []);
|
|
51
|
+
return records.map((r) => {
|
|
52
|
+
const _a = r, { UID } = _a, rest = __rest(_a, ["UID"]);
|
|
53
|
+
return { id: String(UID !== null && UID !== void 0 ? UID : ''), properties: rest };
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=skedulo-metadata-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skedulo-metadata-adapter.js","sourceRoot":"","sources":["../../src/adapters/skedulo-metadata-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGa,QAAA,sBAAsB,GAAoB;IACrD,KAAK,CAAC,WAAW,CAAC,GAAuB;QACvC,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACtE,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;aAClC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAuB,EAAE,UAAkB;;QAC1D,MAAM,GAAG,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC,IAAI,CAC5B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,UAAU,CAC9D,CAAC;QACF,MAAM,SAAS,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,UAAU,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,CAAC,MAAA,QAAQ,CAAC,MAAM,mCAAI,EAAE,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;;YAAC,OAAA,CAAC;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,IAAI;gBACxB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,CAAC,CAAC,IAAI;gBAClB,QAAQ,EAAE,CAAC,CAAC,UAAU,KAAK,WAAW;gBACtC,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,UAAU,IAAI,YAAY;aAC/D,CAAC,CAAA;SAAA,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,GAAuB,EACvB,UAAkB,EAClB,UAAoB,EACpB,KAAa;;QAEb,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAI,GAAW,CAAC,eAAe,CAAC;YAC3C,UAAU;YACV,aAAa,EAAE,gBAAgB;YAC/B,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,EAAE,CAAmC,CAAC;QAC1E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,KAAmB,CAA+C,EAAlE,EAAE,GAAG,OAA6D,EAAxD,IAAI,cAAd,OAAgB,CAAkD,CAAC;YACzE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skedulo-metadata.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/skedulo-metadata.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,eAAe,EAA4B,MAAM,UAAU,CAAC;AAGrF,eAAO,MAAM,sBAAsB,EAAE,eA0CpC,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.skeduloMetadataAdapter = void 0;
|
|
15
|
+
const constants_1 = require("../constants");
|
|
16
|
+
exports.skeduloMetadataAdapter = {
|
|
17
|
+
async listObjects(ctx) {
|
|
18
|
+
const metadata = await ctx.metadataClient.fetchAllMetadata();
|
|
19
|
+
return metadata
|
|
20
|
+
.filter((m) => m.name != null)
|
|
21
|
+
.map((m) => ({ name: m.name, label: m.name }));
|
|
22
|
+
},
|
|
23
|
+
async listFields(ctx, objectName) {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
const all = await ctx.metadataClient.fetchAllMetadata();
|
|
26
|
+
const entry = (all !== null && all !== void 0 ? all : []).find((m) => m.name === objectName || m.mapping === objectName);
|
|
27
|
+
const lookupKey = (_a = entry === null || entry === void 0 ? void 0 : entry.mapping) !== null && _a !== void 0 ? _a : objectName;
|
|
28
|
+
const metadata = await ctx.metadataClient.fetchObjectMetadata(lookupKey);
|
|
29
|
+
return ((_b = metadata.fields) !== null && _b !== void 0 ? _b : []).map((f) => {
|
|
30
|
+
var _a;
|
|
31
|
+
return ({
|
|
32
|
+
name: f.name,
|
|
33
|
+
label: (_a = f.label) !== null && _a !== void 0 ? _a : f.name,
|
|
34
|
+
type: f.type,
|
|
35
|
+
expression: f.name,
|
|
36
|
+
readOnly: f.accessMode === 'read_only',
|
|
37
|
+
required: f.nillable === false && f.accessMode == 'read_write',
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
async fetchSampleRecords(ctx, objectName, properties, limit) {
|
|
42
|
+
var _a;
|
|
43
|
+
const fields = ['UID', ...properties.filter((p) => p !== 'UID')];
|
|
44
|
+
const builder = ctx.newQueryBuilder({
|
|
45
|
+
objectName,
|
|
46
|
+
operationName: constants_1.OperationName.METADATA_SAMPLE,
|
|
47
|
+
readOnly: true,
|
|
48
|
+
});
|
|
49
|
+
const result = await builder.withFields(fields).withLimit(limit).execute();
|
|
50
|
+
const records = ((_a = result === null || result === void 0 ? void 0 : result.records) !== null && _a !== void 0 ? _a : []);
|
|
51
|
+
return records.map((r) => {
|
|
52
|
+
const _a = r, { UID } = _a, rest = __rest(_a, ["UID"]);
|
|
53
|
+
return { id: String(UID !== null && UID !== void 0 ? UID : ''), properties: rest };
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=skedulo-metadata.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skedulo-metadata.adapter.js","sourceRoot":"","sources":["../../src/adapters/skedulo-metadata.adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,4CAA6C;AAEhC,QAAA,sBAAsB,GAAoB;IACrD,KAAK,CAAC,WAAW,CAAC,GAAuB;QACvC,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACtE,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;aAClC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAuB,EAAE,UAAkB;;QAC1D,MAAM,GAAG,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;QAC9F,MAAM,SAAS,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,UAAU,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,CAAC,MAAA,QAAQ,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;;YAAC,OAAA,CAAC;gBAC9C,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,IAAI;gBACxB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,CAAC,CAAC,IAAI;gBAClB,QAAQ,EAAE,CAAC,CAAC,UAAU,KAAK,WAAW;gBACtC,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,UAAU,IAAI,YAAY;aAC/D,CAAC,CAAA;SAAA,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,GAAuB,EACvB,UAAkB,EAClB,UAAoB,EACpB,KAAa;;QAEb,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAI,GAAW,CAAC,eAAe,CAAC;YAC3C,UAAU;YACV,aAAa,EAAE,yBAAa,CAAC,eAAe;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,EAAE,CAAmC,CAAC;QAC1E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,KAAmB,CAA+C,EAAlE,EAAE,GAAG,OAA6D,EAAxD,IAAI,cAAd,OAAgB,CAAkD,CAAC;YACzE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -3,6 +3,16 @@ import type { DataFlow } from '../interfaces/data-flow-spec.interface';
|
|
|
3
3
|
import type { FilterSpec } from '../interfaces/filter.interface';
|
|
4
4
|
import type { Adapter, EnrichmentPair, FieldInfo, ObjectInfo, SampleRecord, UpsertOutcome } from '../interfaces/adapter.interface';
|
|
5
5
|
export declare class SkeduloAdapter implements Adapter<Record<string, unknown>> {
|
|
6
|
+
readonly integrationType = "skedulo";
|
|
7
|
+
readonly capabilities: {
|
|
8
|
+
readonly roles: readonly ["source", "target"];
|
|
9
|
+
readonly allowNewDataFlows: true;
|
|
10
|
+
readonly hasDataFlows: true;
|
|
11
|
+
};
|
|
12
|
+
checkBootstrap(ctx: IntegrationContext): Promise<{
|
|
13
|
+
complete: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
bootstrap(ctx: IntegrationContext): Promise<void>;
|
|
6
16
|
fetch(ctx: IntegrationContext, flow: DataFlow, since: Date | null, _filter: FilterSpec | null): AsyncIterable<Record<string, unknown>[]>;
|
|
7
17
|
resolveLookups(ctx: IntegrationContext, flow: DataFlow, pairs: EnrichmentPair[]): Promise<void>;
|
|
8
18
|
upsert(ctx: IntegrationContext, flow: DataFlow, records: Record<string, unknown>[]): Promise<UpsertOutcome[]>;
|
|
@@ -20,4 +30,5 @@ export declare class SkeduloAdapter implements Adapter<Record<string, unknown>>
|
|
|
20
30
|
fetchSampleRecords(ctx: IntegrationContext, objectName: string, properties: string[], limit: number): Promise<SampleRecord[]>;
|
|
21
31
|
private _batchLookup;
|
|
22
32
|
}
|
|
33
|
+
export declare const skeduloAdapter: SkeduloAdapter;
|
|
23
34
|
//# sourceMappingURL=skedulo.adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skedulo.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/skedulo.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACd,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"skedulo.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/skedulo.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACd,MAAM,iCAAiC,CAAC;AAUzC,qBAAa,cAAe,YAAW,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,QAAQ,CAAC,eAAe,aAAa;IAErC,QAAQ,CAAC,YAAY;;;;MAIV;IAML,cAAc,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAIvE,SAAS,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhD,KAAK,CACV,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,IAAI,GAAG,IAAI,EAClB,OAAO,EAAE,UAAU,GAAG,IAAI,GACzB,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAsCrC,cAAc,CAClB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,cAAc,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC;IAyCV,MAAM,CACV,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,aAAa,EAAE,CAAC;YAkDb,OAAO;IAwCf,MAAM,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnF,iGAAiG;IAC3F,UAAU,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvF,gBAAgB,IAAI,MAAM;IAI1B,mBAAmB,CACjB,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,aAAa,EAAE,GACxB,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ1C,UAAU,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAO1D,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAe5E,kBAAkB,CACtB,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,EAAE,CAAC;YAaZ,YAAY;CA+B3B;AASD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -24,14 +24,32 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
24
24
|
return t;
|
|
25
25
|
};
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.SkeduloAdapter = void 0;
|
|
27
|
+
exports.skeduloAdapter = exports.SkeduloAdapter = void 0;
|
|
28
28
|
const constants_1 = require("../constants");
|
|
29
|
-
const
|
|
29
|
+
const helpers_1 = require("../utils/helpers");
|
|
30
|
+
const id_mapping_service_1 = require("../services/id-mapping.service");
|
|
30
31
|
const SKEDULO_PAGE_SIZE = 200;
|
|
31
32
|
// Skedulo adapter covers both source (fetch from Skedulo for outbound batch sync)
|
|
32
33
|
// and target (upsert/delete into Skedulo for inbound sync) roles.
|
|
33
34
|
// Lookup resolution uses Skedulo EQL to translate ExternalId → UID.
|
|
34
35
|
class SkeduloAdapter {
|
|
36
|
+
constructor() {
|
|
37
|
+
this.integrationType = 'skedulo';
|
|
38
|
+
this.capabilities = {
|
|
39
|
+
roles: [constants_1.AdapterRole.SOURCE, constants_1.AdapterRole.TARGET],
|
|
40
|
+
allowNewDataFlows: true,
|
|
41
|
+
hasDataFlows: true,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
// ── Bootstrap ───────────────────────────────────────────────────────────────
|
|
45
|
+
// The Skedulo side owns the IntegrationIdMapping custom object that backs the
|
|
46
|
+
// idMapping lookup strategy. Consumers expose these via /setup endpoints.
|
|
47
|
+
async checkBootstrap(ctx) {
|
|
48
|
+
return id_mapping_service_1.IdMappingService.checkSchema(ctx);
|
|
49
|
+
}
|
|
50
|
+
async bootstrap(ctx) {
|
|
51
|
+
await id_mapping_service_1.IdMappingService.ensureSchema(ctx);
|
|
52
|
+
}
|
|
35
53
|
// ── Source role ─────────────────────────────────────────────────────────────
|
|
36
54
|
fetch(ctx, flow, since, _filter) {
|
|
37
55
|
return __asyncGenerator(this, arguments, function* fetch_1() {
|
|
@@ -41,10 +59,11 @@ class SkeduloAdapter {
|
|
|
41
59
|
let lastUID = null;
|
|
42
60
|
while (true) {
|
|
43
61
|
const clauses = [];
|
|
62
|
+
// EQL Instant literals are unquoted; wrapping in single quotes makes EQL parse it as String.
|
|
44
63
|
if (since)
|
|
45
|
-
clauses.push(`LastModifiedDate >=
|
|
64
|
+
clauses.push(`LastModifiedDate >= ${since.toISOString()}`);
|
|
46
65
|
if (lastUID)
|
|
47
|
-
clauses.push(`UID > '${(0,
|
|
66
|
+
clauses.push(`UID > '${(0, helpers_1.escapeEqlString)(lastUID)}'`);
|
|
48
67
|
const eqlFilter = clauses.length > 0 ? clauses.join(' AND ') : undefined;
|
|
49
68
|
const builder = ctx.newQueryBuilder({
|
|
50
69
|
objectName: flow.sourceObject,
|
|
@@ -160,7 +179,17 @@ class SkeduloAdapter {
|
|
|
160
179
|
return records.map(() => ({ status: 'permanent', error: message }));
|
|
161
180
|
}
|
|
162
181
|
const uids = ctx.graphqlService.extractUIDs(result);
|
|
163
|
-
return records.map((_, i) => {
|
|
182
|
+
return records.map((_, i) => {
|
|
183
|
+
var _a;
|
|
184
|
+
const uid = (_a = uids[i]) !== null && _a !== void 0 ? _a : null;
|
|
185
|
+
if (uid === null && operation === 'insert') {
|
|
186
|
+
return {
|
|
187
|
+
status: 'precondition',
|
|
188
|
+
error: 'insert returned no UID — IntegrationIdMapping may not be bootstrapped (run /setup then /on-initial-sync)',
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
return { status: 'ok', result: uid };
|
|
192
|
+
});
|
|
164
193
|
}
|
|
165
194
|
async delete(ctx, flow, ids) {
|
|
166
195
|
for (const id of ids) {
|
|
@@ -170,7 +199,7 @@ class SkeduloAdapter {
|
|
|
170
199
|
});
|
|
171
200
|
const result = await builder
|
|
172
201
|
.withFields(['UID'])
|
|
173
|
-
.withFilter(`${flow.matchKeyField} == "${(0,
|
|
202
|
+
.withFilter(`${flow.matchKeyField} == "${(0, helpers_1.escapeEqlString)(id)}"`)
|
|
174
203
|
.withLimit(1)
|
|
175
204
|
.execute();
|
|
176
205
|
if (!result.records || result.records.length === 0)
|
|
@@ -242,7 +271,7 @@ class SkeduloAdapter {
|
|
|
242
271
|
var _a, _b, _c;
|
|
243
272
|
const result = new Map();
|
|
244
273
|
for (const chunkValues of chunk(values, constants_1.LOOKUP_CHUNK_SIZE)) {
|
|
245
|
-
const list = chunkValues.map((v) => `'${(0,
|
|
274
|
+
const list = chunkValues.map((v) => `'${(0, helpers_1.escapeEqlString)(v)}'`).join(', ');
|
|
246
275
|
const builder = ctx.newQueryBuilder({
|
|
247
276
|
objectName,
|
|
248
277
|
operationName: constants_1.OperationName.LOOKUP_RESOLVE(objectName),
|
|
@@ -270,4 +299,6 @@ function chunk(arr, size) {
|
|
|
270
299
|
out.push(arr.slice(i, i + size));
|
|
271
300
|
return out;
|
|
272
301
|
}
|
|
302
|
+
// Stateless singleton — every consumer can share the same instance.
|
|
303
|
+
exports.skeduloAdapter = new SkeduloAdapter();
|
|
273
304
|
//# sourceMappingURL=skedulo.adapter.js.map
|