@microsoft/power-apps 1.0.4 → 1.1.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/LICENSE +153 -153
- package/README.md +17 -17
- package/{lib → dist}/app/App.Types.d.ts +1 -1
- package/dist/app/App.Types.d.ts.map +1 -0
- package/{lib → dist}/app/Config.d.ts +1 -1
- package/{lib → dist}/app/Config.d.ts.map +1 -1
- package/{lib → dist}/app/Config.js.map +1 -1
- package/{lib → dist}/app/ContextProvider.d.ts +1 -1
- package/{lib → dist}/app/ContextProvider.d.ts.map +1 -1
- package/{lib → dist}/app/ContextProvider.js.map +1 -1
- package/{lib → dist}/app/index.d.ts +2 -2
- package/dist/app/index.d.ts.map +1 -0
- package/{lib → dist}/app/index.js +1 -1
- package/dist/app/index.js.map +1 -0
- package/{lib → dist}/data/Data.types.d.ts +5 -1
- package/dist/data/Data.types.d.ts.map +1 -0
- package/{lib → dist}/data/executors/index.d.ts +1 -1
- package/{lib → dist}/data/executors/index.d.ts.map +1 -1
- package/dist/data/executors/index.js +5 -0
- package/{lib → dist}/data/executors/index.js.map +1 -1
- package/{lib → dist}/data/index.d.ts +3 -2
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +6 -0
- package/dist/data/index.js.map +1 -0
- package/{lib → dist}/data/metadata/dataverse/index.d.ts +1 -1
- package/dist/data/metadata/dataverse/index.d.ts.map +1 -0
- package/{lib → dist}/data/metadata/dataverse/index.js.map +1 -1
- package/dist/data/multiSelectPicklistUtils.d.ts +34 -0
- package/dist/data/multiSelectPicklistUtils.d.ts.map +1 -0
- package/dist/data/multiSelectPicklistUtils.js +51 -0
- package/dist/data/multiSelectPicklistUtils.js.map +1 -0
- package/{lib → dist}/data/powerAppsData.d.ts +2 -2
- package/dist/data/powerAppsData.d.ts.map +1 -0
- package/{lib → dist}/data/powerAppsData.js +19 -3
- package/dist/data/powerAppsData.js.map +1 -0
- package/dist/internal/data/ConnectionUtils.js.map +1 -0
- package/{lib → dist}/internal/data/OperationExecutor.d.ts +1 -1
- package/dist/internal/data/OperationExecutor.d.ts.map +1 -0
- package/{lib → dist}/internal/data/OperationExecutor.js +8 -13
- package/dist/internal/data/OperationExecutor.js.map +1 -0
- package/dist/internal/data/core/api/deleteFileOrImageFromRecord.d.ts +16 -0
- package/dist/internal/data/core/api/deleteFileOrImageFromRecord.d.ts.map +1 -0
- package/dist/internal/data/core/api/deleteFileOrImageFromRecord.js +18 -0
- package/dist/internal/data/core/api/deleteFileOrImageFromRecord.js.map +1 -0
- package/{lib → dist}/internal/data/core/api/deleteRecord.d.ts.map +1 -1
- package/{lib → dist}/internal/data/core/api/deleteRecord.js.map +1 -1
- package/dist/internal/data/core/api/downloadFileFromRecord.d.ts +19 -0
- package/dist/internal/data/core/api/downloadFileFromRecord.d.ts.map +1 -0
- package/dist/internal/data/core/api/downloadFileFromRecord.js +21 -0
- package/dist/internal/data/core/api/downloadFileFromRecord.js.map +1 -0
- package/dist/internal/data/core/api/downloadImageFromRecord.d.ts +20 -0
- package/dist/internal/data/core/api/downloadImageFromRecord.d.ts.map +1 -0
- package/dist/internal/data/core/api/downloadImageFromRecord.js +22 -0
- package/dist/internal/data/core/api/downloadImageFromRecord.js.map +1 -0
- package/{lib → dist}/internal/data/core/api/execute.d.ts.map +1 -1
- package/{lib → dist}/internal/data/core/api/execute.js.map +1 -1
- package/dist/internal/data/core/api/uploadRecord.d.ts +20 -0
- package/dist/internal/data/core/api/uploadRecord.d.ts.map +1 -0
- package/dist/internal/data/core/api/uploadRecord.js +22 -0
- package/dist/internal/data/core/api/uploadRecord.js.map +1 -0
- package/{lib → dist}/internal/data/core/common/types.d.ts +22 -34
- package/dist/internal/data/core/common/types.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/common/types.js.map +1 -1
- package/{lib → dist}/internal/data/core/common/utils.d.ts +2 -2
- package/{lib → dist}/internal/data/core/common/utils.js +5 -5
- package/dist/internal/data/core/common/utils.js.map +1 -0
- package/{lib → dist}/internal/data/core/data/defaultOperationOrchestrator.d.ts +42 -3
- package/dist/internal/data/core/data/defaultOperationOrchestrator.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/data/defaultOperationOrchestrator.js +76 -1
- package/dist/internal/data/core/data/defaultOperationOrchestrator.js.map +1 -0
- package/{lib → dist}/internal/data/core/data/executors/connectorDataOperationExecutor.d.ts +18 -2
- package/dist/internal/data/core/data/executors/connectorDataOperationExecutor.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/data/executors/connectorDataOperationExecutor.js +50 -16
- package/dist/internal/data/core/data/executors/connectorDataOperationExecutor.js.map +1 -0
- package/{lib → dist}/internal/data/core/data/executors/dataverseDataOperationExecutor.d.ts +52 -6
- package/dist/internal/data/core/data/executors/dataverseDataOperationExecutor.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/data/executors/dataverseDataOperationExecutor.js +237 -11
- package/dist/internal/data/core/data/executors/dataverseDataOperationExecutor.js.map +1 -0
- package/dist/internal/data/core/data/executors/mockDataOperationExecutor.d.ts +25 -0
- package/dist/internal/data/core/data/executors/mockDataOperationExecutor.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/data/executors/mockDataOperationExecutor.js +42 -6
- package/dist/internal/data/core/data/executors/mockDataOperationExecutor.js.map +1 -0
- package/{lib → dist}/internal/data/core/data/executors/shared/stringQueryOptions.d.ts +1 -1
- package/{lib → dist}/internal/data/core/data/executors/shared/stringQueryOptions.d.ts.map +1 -1
- package/{lib → dist}/internal/data/core/data/executors/shared/stringQueryOptions.js +3 -1
- package/dist/internal/data/core/data/executors/shared/stringQueryOptions.js.map +1 -0
- package/{lib → dist}/internal/data/core/error/constants.d.ts +5 -1
- package/dist/internal/data/core/error/constants.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/error/constants.js +4 -0
- package/dist/internal/data/core/error/constants.js.map +1 -0
- package/{lib → dist}/internal/data/core/error/error.d.ts +1 -1
- package/{lib → dist}/internal/data/core/error/error.d.ts.map +1 -1
- package/{lib → dist}/internal/data/core/error/error.js +1 -1
- package/{lib → dist}/internal/data/core/error/error.js.map +1 -1
- package/{lib → dist}/internal/data/core/error/messages.d.ts +5 -1
- package/{lib → dist}/internal/data/core/error/messages.d.ts.map +1 -1
- package/{lib → dist}/internal/data/core/error/messages.js +4 -0
- package/{lib → dist}/internal/data/core/error/messages.js.map +1 -1
- package/{lib → dist}/internal/data/core/error/types.d.ts +1 -1
- package/dist/internal/data/core/error/types.d.ts.map +1 -0
- package/dist/internal/data/core/error/types.js.map +1 -0
- package/{lib → dist}/internal/data/core/error/util.d.ts +3 -2
- package/dist/internal/data/core/error/util.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/error/util.js +2 -2
- package/dist/internal/data/core/error/util.js.map +1 -0
- package/{lib → dist}/internal/data/core/metadata/runtimeDataSourceService.d.ts +2 -2
- package/dist/internal/data/core/metadata/runtimeDataSourceService.d.ts.map +1 -0
- package/dist/internal/data/core/metadata/runtimeDataSourceService.js.map +1 -0
- package/{lib → dist}/internal/data/core/metadata/runtimeMetadataOperations.d.ts +3 -3
- package/dist/internal/data/core/metadata/runtimeMetadataOperations.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/runtime/getRuntimeContext.d.ts +1 -1
- package/dist/internal/data/core/runtime/getRuntimeContext.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/runtime/getRuntimeContext.js +1 -1
- package/dist/internal/data/core/runtime/getRuntimeContext.js.map +1 -0
- package/{lib → dist}/internal/data/core/runtime/powerDataRuntime.d.ts +3 -3
- package/dist/internal/data/core/runtime/powerDataRuntime.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/runtime/powerDataRuntime.js +5 -5
- package/dist/internal/data/core/runtime/powerDataRuntime.js.map +1 -0
- package/{lib → dist}/internal/data/core/runtime/powerDataRuntimeInstance.d.ts +2 -2
- package/dist/internal/data/core/runtime/powerDataRuntimeInstance.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/runtime/powerDataRuntimeInstance.js +1 -1
- package/dist/internal/data/core/runtime/powerDataRuntimeInstance.js.map +1 -0
- package/{lib → dist}/internal/data/core/runtime/powerDataSourcesInfoProvider.d.ts +2 -2
- package/dist/internal/data/core/runtime/powerDataSourcesInfoProvider.d.ts.map +1 -0
- package/dist/internal/data/core/runtime/powerDataSourcesInfoProvider.js.map +1 -0
- package/{lib → dist}/internal/data/core/runtimeClient/runtimeClientProvider.d.ts +2 -2
- package/dist/internal/data/core/runtimeClient/runtimeClientProvider.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/runtimeClient/runtimeClientProvider.js +1 -1
- package/dist/internal/data/core/runtimeClient/runtimeClientProvider.js.map +1 -0
- package/{lib → dist}/internal/data/core/runtimeClient/runtimeDataClient.d.ts +16 -3
- package/dist/internal/data/core/runtimeClient/runtimeDataClient.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/runtimeClient/runtimeDataClient.js +90 -17
- package/dist/internal/data/core/runtimeClient/runtimeDataClient.js.map +1 -0
- package/{lib → dist}/internal/data/core/runtimeClient/runtimeMetadataClient.d.ts +2 -2
- package/dist/internal/data/core/runtimeClient/runtimeMetadataClient.d.ts.map +1 -0
- package/dist/internal/data/core/runtimeClient/runtimeMetadataClient.js.map +1 -0
- package/{lib → dist}/internal/data/core/telemetry/log.d.ts +1 -1
- package/dist/internal/data/core/telemetry/log.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/telemetry/log.js +9 -16
- package/dist/internal/data/core/telemetry/log.js.map +1 -0
- package/{lib → dist}/internal/data/core/types/dataverseMetadata.d.ts +1 -1
- package/{lib → dist}/internal/data/core/types/dataverseMetadata.js +9 -9
- package/{lib → dist}/internal/data/core/types/dataverseMetadata.js.map +1 -1
- package/{lib → dist}/internal/data/core/types/index.d.ts +57 -2
- package/dist/internal/data/core/types/index.d.ts.map +1 -0
- package/{lib → dist}/internal/data/core/types/index.js.map +1 -1
- package/{lib → dist}/internal/plugins/DefaultPowerAppsBridge.d.ts +1 -1
- package/dist/internal/plugins/DefaultPowerAppsBridge.d.ts.map +1 -0
- package/{lib → dist}/internal/plugins/DefaultPowerAppsBridge.js +0 -1
- package/dist/internal/plugins/DefaultPowerAppsBridge.js.map +1 -0
- package/{lib → dist}/internal/plugins/PluginBridge.js +5 -10
- package/{lib → dist}/internal/plugins/PluginBridge.js.map +1 -1
- package/dist/internal/plugins/SendMessage/CompatibleMessageReceiver.d.ts.map +1 -0
- package/dist/internal/plugins/SendMessage/CompatibleMessageReceiver.js.map +1 -0
- package/{lib → dist}/internal/plugins/SendMessage/IncompatibleMessageReceiver.d.ts.map +1 -1
- package/{lib → dist}/internal/plugins/SendMessage/IncompatibleMessageReceiver.js.map +1 -1
- package/{lib → dist}/internal/plugins/SendMessage/MessageReceiver.Types.d.ts +2 -2
- package/dist/internal/plugins/SendMessage/MessageReceiver.Types.d.ts.map +1 -0
- package/dist/internal/plugins/SendMessage/SendMessage.d.ts.map +1 -0
- package/{lib → dist}/internal/plugins/SendMessage/SendMessage.js +1 -1
- package/dist/internal/plugins/SendMessage/SendMessage.js.map +1 -0
- package/dist/internal/plugins/SendMessage/SendMessageOperation.d.ts.map +1 -0
- package/{lib → dist}/internal/plugins/SendMessage/SendMessageOperation.js.map +1 -1
- package/{lib → dist}/telemetry/LoggerManager.d.ts.map +1 -1
- package/dist/telemetry/LoggerManager.js.map +1 -0
- package/dist/telemetry/Metrics.types.d.ts.map +1 -0
- package/dist/telemetry/Performance.js.map +1 -0
- package/package.json +31 -32
- package/lib/__tests__/DefaultPowerAppsBridge.test.d.ts +0 -5
- package/lib/__tests__/DefaultPowerAppsBridge.test.d.ts.map +0 -1
- package/lib/__tests__/DefaultPowerAppsBridge.test.js +0 -173
- package/lib/__tests__/DefaultPowerAppsBridge.test.js.map +0 -1
- package/lib/__tests__/connectorDataOperationExecutor.spec.d.ts +0 -5
- package/lib/__tests__/connectorDataOperationExecutor.spec.d.ts.map +0 -1
- package/lib/__tests__/connectorDataOperationExecutor.spec.js +0 -593
- package/lib/__tests__/connectorDataOperationExecutor.spec.js.map +0 -1
- package/lib/__tests__/dataverseDataOperationExecutor.spec.d.ts +0 -5
- package/lib/__tests__/dataverseDataOperationExecutor.spec.d.ts.map +0 -1
- package/lib/__tests__/dataverseDataOperationExecutor.spec.js +0 -307
- package/lib/__tests__/dataverseDataOperationExecutor.spec.js.map +0 -1
- package/lib/__tests__/helpers/testHelpers.d.ts +0 -27
- package/lib/__tests__/helpers/testHelpers.d.ts.map +0 -1
- package/lib/__tests__/helpers/testHelpers.js +0 -67
- package/lib/__tests__/helpers/testHelpers.js.map +0 -1
- package/lib/__tests__/index.spec.d.ts +0 -5
- package/lib/__tests__/index.spec.d.ts.map +0 -1
- package/lib/__tests__/index.spec.js +0 -10
- package/lib/__tests__/index.spec.js.map +0 -1
- package/lib/__tests__/mockDataOperationExecutor.spec.d.ts +0 -5
- package/lib/__tests__/mockDataOperationExecutor.spec.d.ts.map +0 -1
- package/lib/__tests__/mockDataOperationExecutor.spec.js +0 -51
- package/lib/__tests__/mockDataOperationExecutor.spec.js.map +0 -1
- package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.d.ts +0 -17
- package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.d.ts.map +0 -1
- package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.js +0 -35
- package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.js.map +0 -1
- package/lib/__tests__/mocks/mockLog.d.ts +0 -31
- package/lib/__tests__/mocks/mockLog.d.ts.map +0 -1
- package/lib/__tests__/mocks/mockLog.js +0 -53
- package/lib/__tests__/mocks/mockLog.js.map +0 -1
- package/lib/__tests__/mocks/mockTeamsConnectorResponse.d.ts +0 -76
- package/lib/__tests__/mocks/mockTeamsConnectorResponse.d.ts.map +0 -1
- package/lib/__tests__/mocks/mockTeamsConnectorResponse.js +0 -81
- package/lib/__tests__/mocks/mockTeamsConnectorResponse.js.map +0 -1
- package/lib/__tests__/mocks/silenceConsole.d.ts +0 -37
- package/lib/__tests__/mocks/silenceConsole.d.ts.map +0 -1
- package/lib/__tests__/mocks/silenceConsole.js +0 -58
- package/lib/__tests__/mocks/silenceConsole.js.map +0 -1
- package/lib/__tests__/powerDataRuntimeInstance.test.d.ts +0 -5
- package/lib/__tests__/powerDataRuntimeInstance.test.d.ts.map +0 -1
- package/lib/__tests__/powerDataRuntimeInstance.test.js +0 -164
- package/lib/__tests__/powerDataRuntimeInstance.test.js.map +0 -1
- package/lib/__tests__/powerDataSourcesInfoProvider.test.d.ts +0 -5
- package/lib/__tests__/powerDataSourcesInfoProvider.test.d.ts.map +0 -1
- package/lib/__tests__/powerDataSourcesInfoProvider.test.js +0 -153
- package/lib/__tests__/powerDataSourcesInfoProvider.test.js.map +0 -1
- package/lib/__tests__/runtimeClientProvider.test.d.ts +0 -5
- package/lib/__tests__/runtimeClientProvider.test.d.ts.map +0 -1
- package/lib/__tests__/runtimeClientProvider.test.js +0 -248
- package/lib/__tests__/runtimeClientProvider.test.js.map +0 -1
- package/lib/__tests__/runtimeDataClient.spec.d.ts +0 -2
- package/lib/__tests__/runtimeDataClient.spec.d.ts.map +0 -1
- package/lib/__tests__/runtimeDataClient.spec.js +0 -371
- package/lib/__tests__/runtimeDataClient.spec.js.map +0 -1
- package/lib/__tests__/runtimeDataClient.test.d.ts +0 -2
- package/lib/__tests__/runtimeDataClient.test.d.ts.map +0 -1
- package/lib/__tests__/runtimeDataClient.test.js +0 -351
- package/lib/__tests__/runtimeDataClient.test.js.map +0 -1
- package/lib/__tests__/runtimeDataOperation.test.d.ts +0 -5
- package/lib/__tests__/runtimeDataOperation.test.d.ts.map +0 -1
- package/lib/__tests__/runtimeDataOperation.test.js +0 -235
- package/lib/__tests__/runtimeDataOperation.test.js.map +0 -1
- package/lib/__tests__/runtimeMetadataClient.test.d.ts +0 -5
- package/lib/__tests__/runtimeMetadataClient.test.d.ts.map +0 -1
- package/lib/__tests__/runtimeMetadataClient.test.js +0 -271
- package/lib/__tests__/runtimeMetadataClient.test.js.map +0 -1
- package/lib/__tests__/runtimeMetadataOperations.test.d.ts +0 -5
- package/lib/__tests__/runtimeMetadataOperations.test.d.ts.map +0 -1
- package/lib/__tests__/runtimeMetadataOperations.test.js +0 -286
- package/lib/__tests__/runtimeMetadataOperations.test.js.map +0 -1
- package/lib/__tests__/serviceSchemaModelSnapshot.test.d.ts +0 -2
- package/lib/__tests__/serviceSchemaModelSnapshot.test.d.ts.map +0 -1
- package/lib/__tests__/serviceSchemaModelSnapshot.test.js +0 -98
- package/lib/__tests__/serviceSchemaModelSnapshot.test.js.map +0 -1
- package/lib/__tests__/types.spec.d.ts +0 -5
- package/lib/__tests__/types.spec.d.ts.map +0 -1
- package/lib/__tests__/types.spec.js +0 -104
- package/lib/__tests__/types.spec.js.map +0 -1
- package/lib/__tests__/utils.test.d.ts +0 -5
- package/lib/__tests__/utils.test.d.ts.map +0 -1
- package/lib/__tests__/utils.test.js +0 -33
- package/lib/__tests__/utils.test.js.map +0 -1
- package/lib/app/App.Types.d.ts.map +0 -1
- package/lib/app/index.d.ts.map +0 -1
- package/lib/app/index.js.map +0 -1
- package/lib/data/Data.types.d.ts.map +0 -1
- package/lib/data/executors/index.js +0 -5
- package/lib/data/index.d.ts.map +0 -1
- package/lib/data/index.js +0 -5
- package/lib/data/index.js.map +0 -1
- package/lib/data/metadata/dataverse/index.d.ts.map +0 -1
- package/lib/data/powerAppsData.d.ts.map +0 -1
- package/lib/data/powerAppsData.js.map +0 -1
- package/lib/internal/data/ConnectionUtils.js.map +0 -1
- package/lib/internal/data/OperationExecutor.d.ts.map +0 -1
- package/lib/internal/data/OperationExecutor.js.map +0 -1
- package/lib/internal/data/core/common/types.d.ts.map +0 -1
- package/lib/internal/data/core/common/utils.js.map +0 -1
- package/lib/internal/data/core/data/defaultOperationOrchestrator.d.ts.map +0 -1
- package/lib/internal/data/core/data/defaultOperationOrchestrator.js.map +0 -1
- package/lib/internal/data/core/data/executors/__tests__/dataverseDataOperationExecutor.test.d.ts +0 -5
- package/lib/internal/data/core/data/executors/__tests__/dataverseDataOperationExecutor.test.d.ts.map +0 -1
- package/lib/internal/data/core/data/executors/__tests__/dataverseDataOperationExecutor.test.js +0 -116
- package/lib/internal/data/core/data/executors/__tests__/dataverseDataOperationExecutor.test.js.map +0 -1
- package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.d.ts.map +0 -1
- package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.js.map +0 -1
- package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.d.ts.map +0 -1
- package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.js.map +0 -1
- package/lib/internal/data/core/data/executors/mockDataOperationExecutor.d.ts +0 -21
- package/lib/internal/data/core/data/executors/mockDataOperationExecutor.d.ts.map +0 -1
- package/lib/internal/data/core/data/executors/mockDataOperationExecutor.js.map +0 -1
- package/lib/internal/data/core/data/executors/shared/stringQueryOptions.js.map +0 -1
- package/lib/internal/data/core/error/constants.d.ts.map +0 -1
- package/lib/internal/data/core/error/constants.js.map +0 -1
- package/lib/internal/data/core/error/types.d.ts.map +0 -1
- package/lib/internal/data/core/error/types.js.map +0 -1
- package/lib/internal/data/core/error/util.d.ts.map +0 -1
- package/lib/internal/data/core/error/util.js.map +0 -1
- package/lib/internal/data/core/metadata/runtimeDataSourceService.d.ts.map +0 -1
- package/lib/internal/data/core/metadata/runtimeDataSourceService.js.map +0 -1
- package/lib/internal/data/core/metadata/runtimeMetadataOperations.d.ts.map +0 -1
- package/lib/internal/data/core/runtime/getRuntimeContext.d.ts.map +0 -1
- package/lib/internal/data/core/runtime/getRuntimeContext.js.map +0 -1
- package/lib/internal/data/core/runtime/powerDataRuntime.d.ts.map +0 -1
- package/lib/internal/data/core/runtime/powerDataRuntime.js.map +0 -1
- package/lib/internal/data/core/runtime/powerDataRuntimeInstance.d.ts.map +0 -1
- package/lib/internal/data/core/runtime/powerDataRuntimeInstance.js.map +0 -1
- package/lib/internal/data/core/runtime/powerDataSourcesInfoProvider.d.ts.map +0 -1
- package/lib/internal/data/core/runtime/powerDataSourcesInfoProvider.js.map +0 -1
- package/lib/internal/data/core/runtimeClient/runtimeClientProvider.d.ts.map +0 -1
- package/lib/internal/data/core/runtimeClient/runtimeClientProvider.js.map +0 -1
- package/lib/internal/data/core/runtimeClient/runtimeDataClient.d.ts.map +0 -1
- package/lib/internal/data/core/runtimeClient/runtimeDataClient.js.map +0 -1
- package/lib/internal/data/core/runtimeClient/runtimeMetadataClient.d.ts.map +0 -1
- package/lib/internal/data/core/runtimeClient/runtimeMetadataClient.js.map +0 -1
- package/lib/internal/data/core/telemetry/log.d.ts.map +0 -1
- package/lib/internal/data/core/telemetry/log.js.map +0 -1
- package/lib/internal/data/core/types/index.d.ts.map +0 -1
- package/lib/internal/plugins/DefaultPowerAppsBridge.d.ts.map +0 -1
- package/lib/internal/plugins/DefaultPowerAppsBridge.js.map +0 -1
- package/lib/internal/plugins/SendMessage/CompatibleMessageReceiver.d.ts.map +0 -1
- package/lib/internal/plugins/SendMessage/CompatibleMessageReceiver.js.map +0 -1
- package/lib/internal/plugins/SendMessage/MessageReceiver.Types.d.ts.map +0 -1
- package/lib/internal/plugins/SendMessage/SendMessage.d.ts.map +0 -1
- package/lib/internal/plugins/SendMessage/SendMessage.js.map +0 -1
- package/lib/internal/plugins/SendMessage/SendMessageOperation.d.ts.map +0 -1
- package/lib/telemetry/LoggerManager.js.map +0 -1
- package/lib/telemetry/Metrics.types.d.ts.map +0 -1
- package/lib/telemetry/Performance.js.map +0 -1
- /package/{lib → dist}/app/App.Types.js +0 -0
- /package/{lib → dist}/app/App.Types.js.map +0 -0
- /package/{lib → dist}/app/Config.js +0 -0
- /package/{lib → dist}/app/ContextProvider.js +0 -0
- /package/{lib → dist}/data/Data.types.js +0 -0
- /package/{lib → dist}/data/Data.types.js.map +0 -0
- /package/{lib → dist}/data/metadata/dataverse/index.js +0 -0
- /package/{lib → dist}/index.d.ts +0 -0
- /package/{lib → dist}/index.d.ts.map +0 -0
- /package/{lib → dist}/index.js +0 -0
- /package/{lib → dist}/index.js.map +0 -0
- /package/{lib → dist}/internal/data/ConnectionUtils.d.ts +0 -0
- /package/{lib → dist}/internal/data/ConnectionUtils.d.ts.map +0 -0
- /package/{lib → dist}/internal/data/ConnectionUtils.js +0 -0
- /package/{lib → dist}/internal/data/core/api/createRecord.d.ts +0 -0
- /package/{lib → dist}/internal/data/core/api/createRecord.d.ts.map +0 -0
- /package/{lib → dist}/internal/data/core/api/createRecord.js +0 -0
- /package/{lib → dist}/internal/data/core/api/createRecord.js.map +0 -0
- /package/{lib → dist}/internal/data/core/api/deleteRecord.d.ts +0 -0
- /package/{lib → dist}/internal/data/core/api/deleteRecord.js +0 -0
- /package/{lib → dist}/internal/data/core/api/execute.d.ts +0 -0
- /package/{lib → dist}/internal/data/core/api/execute.js +0 -0
- /package/{lib → dist}/internal/data/core/api/retrieveMultipleRecords.d.ts +0 -0
- /package/{lib → dist}/internal/data/core/api/retrieveMultipleRecords.d.ts.map +0 -0
- /package/{lib → dist}/internal/data/core/api/retrieveMultipleRecords.js +0 -0
- /package/{lib → dist}/internal/data/core/api/retrieveMultipleRecords.js.map +0 -0
- /package/{lib → dist}/internal/data/core/api/retrieveRecord.d.ts +0 -0
- /package/{lib → dist}/internal/data/core/api/retrieveRecord.d.ts.map +0 -0
- /package/{lib → dist}/internal/data/core/api/retrieveRecord.js +0 -0
- /package/{lib → dist}/internal/data/core/api/retrieveRecord.js.map +0 -0
- /package/{lib → dist}/internal/data/core/api/updateRecord.d.ts +0 -0
- /package/{lib → dist}/internal/data/core/api/updateRecord.d.ts.map +0 -0
- /package/{lib → dist}/internal/data/core/api/updateRecord.js +0 -0
- /package/{lib → dist}/internal/data/core/api/updateRecord.js.map +0 -0
- /package/{lib → dist}/internal/data/core/common/types.js +0 -0
- /package/{lib → dist}/internal/data/core/common/utils.d.ts.map +0 -0
- /package/{lib → dist}/internal/data/core/data/executors/index.d.ts +0 -0
- /package/{lib → dist}/internal/data/core/data/executors/index.d.ts.map +0 -0
- /package/{lib → dist}/internal/data/core/data/executors/index.js +0 -0
- /package/{lib → dist}/internal/data/core/data/executors/index.js.map +0 -0
- /package/{lib → dist}/internal/data/core/error/codes.d.ts +0 -0
- /package/{lib → dist}/internal/data/core/error/codes.d.ts.map +0 -0
- /package/{lib → dist}/internal/data/core/error/codes.js +0 -0
- /package/{lib → dist}/internal/data/core/error/codes.js.map +0 -0
- /package/{lib → dist}/internal/data/core/error/types.js +0 -0
- /package/{lib → dist}/internal/data/core/metadata/runtimeDataSourceService.js +0 -0
- /package/{lib → dist}/internal/data/core/metadata/runtimeMetadataOperations.js +0 -0
- /package/{lib → dist}/internal/data/core/metadata/runtimeMetadataOperations.js.map +0 -0
- /package/{lib → dist}/internal/data/core/runtime/powerDataSourcesInfoProvider.js +0 -0
- /package/{lib → dist}/internal/data/core/runtimeClient/runtimeMetadataClient.js +0 -0
- /package/{lib → dist}/internal/data/core/types/dataverseMetadata.d.ts.map +0 -0
- /package/{lib → dist}/internal/data/core/types/index.js +0 -0
- /package/{lib → dist}/internal/data/index.d.ts +0 -0
- /package/{lib → dist}/internal/data/index.d.ts.map +0 -0
- /package/{lib → dist}/internal/data/index.js +0 -0
- /package/{lib → dist}/internal/data/index.js.map +0 -0
- /package/{lib → dist}/internal/plugins/PluginBridge.d.ts +0 -0
- /package/{lib → dist}/internal/plugins/PluginBridge.d.ts.map +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/CompatibleMessageReceiver.d.ts +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/CompatibleMessageReceiver.js +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/IncompatibleMessageReceiver.d.ts +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/IncompatibleMessageReceiver.js +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/MessageReceiver.Types.js +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/MessageReceiver.Types.js.map +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/SendMessage.d.ts +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/SendMessageOperation.d.ts +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/SendMessageOperation.js +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/index.d.ts +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/index.d.ts.map +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/index.js +0 -0
- /package/{lib → dist}/internal/plugins/SendMessage/index.js.map +0 -0
- /package/{lib → dist}/internal/plugins/index.d.ts +0 -0
- /package/{lib → dist}/internal/plugins/index.d.ts.map +0 -0
- /package/{lib → dist}/internal/plugins/index.js +0 -0
- /package/{lib → dist}/internal/plugins/index.js.map +0 -0
- /package/{lib → dist}/telemetry/Logger.types.d.ts +0 -0
- /package/{lib → dist}/telemetry/Logger.types.d.ts.map +0 -0
- /package/{lib → dist}/telemetry/Logger.types.js +0 -0
- /package/{lib → dist}/telemetry/Logger.types.js.map +0 -0
- /package/{lib → dist}/telemetry/LoggerManager.d.ts +0 -0
- /package/{lib → dist}/telemetry/LoggerManager.js +0 -0
- /package/{lib → dist}/telemetry/Metrics.types.d.ts +0 -0
- /package/{lib → dist}/telemetry/Metrics.types.js +0 -0
- /package/{lib → dist}/telemetry/Metrics.types.js.map +0 -0
- /package/{lib → dist}/telemetry/Performance.d.ts +0 -0
- /package/{lib → dist}/telemetry/Performance.d.ts.map +0 -0
- /package/{lib → dist}/telemetry/Performance.js +0 -0
- /package/{lib → dist}/telemetry/index.d.ts +0 -0
- /package/{lib → dist}/telemetry/index.d.ts.map +0 -0
- /package/{lib → dist}/telemetry/index.js +0 -0
- /package/{lib → dist}/telemetry/index.js.map +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import { DataSources, HttpMethod
|
|
4
|
+
import { DataSources, HttpMethod } from '../../common/types';
|
|
5
|
+
import { DataverseOperationName } from '../../error/constants';
|
|
5
6
|
import { createErrorResponse, DataOperationErrorMessages, ErrorCodes, PowerDataRuntimeError, } from '../../error/error';
|
|
6
7
|
import { Log } from '../../telemetry/log';
|
|
7
|
-
import { DataverseOperationName } from '../../error/constants';
|
|
8
8
|
import { convertOptionsToQueryString } from './shared/stringQueryOptions';
|
|
9
9
|
// OData annotation constants
|
|
10
10
|
export const ODATA_CONTEXT = '@odata.context';
|
|
@@ -20,9 +20,11 @@ export class DataverseDataOperationExecutor {
|
|
|
20
20
|
// Static identifiers for services and actions
|
|
21
21
|
// Used to identify specific services and actions within the PowerApps environment
|
|
22
22
|
_clientProvider;
|
|
23
|
+
_dataSourceService;
|
|
23
24
|
_databaseReferences;
|
|
24
|
-
constructor(clientProvider) {
|
|
25
|
+
constructor(clientProvider, dataSourceService) {
|
|
25
26
|
this._clientProvider = clientProvider;
|
|
27
|
+
this._dataSourceService = dataSourceService;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* Creates a new record in Dataverse
|
|
@@ -68,6 +70,78 @@ export class DataverseDataOperationExecutor {
|
|
|
68
70
|
return returnValue;
|
|
69
71
|
}, DataOperationErrorMessages.UpdateFailed);
|
|
70
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Uploads a record with binary data to Dataverse
|
|
75
|
+
* @param tableName - The name of the table
|
|
76
|
+
* @param id - The record identifier
|
|
77
|
+
* @param columnName - The name of the file column
|
|
78
|
+
* @param fileName - The name of the file (used for Dataverse file columns)
|
|
79
|
+
* @param data - The binary data to upload
|
|
80
|
+
* @returns Promise resolving to operation result
|
|
81
|
+
*/
|
|
82
|
+
async uploadFileToRecord(tableName, id, columnName, fileName, data) {
|
|
83
|
+
return this._executeNativeDataverseOperation(tableName, (dataSourceInfo, tblName) => this._getDataverseRequestUrl(dataSourceInfo, tblName, `(${id})/${columnName}`), async (dataClient, requestUrl, dataSourceInfo) => {
|
|
84
|
+
const dataverseResponse = await dataClient.uploadDataAsync(requestUrl, DataSources.Dataverse, tableName, data, {
|
|
85
|
+
operationName: DataverseOperationName.UploadRecord,
|
|
86
|
+
datasetName: dataSourceInfo.datasetName,
|
|
87
|
+
isDataVerseOperation: true,
|
|
88
|
+
fileName,
|
|
89
|
+
});
|
|
90
|
+
const returnValue = {
|
|
91
|
+
success: dataverseResponse.success,
|
|
92
|
+
data: dataverseResponse.data,
|
|
93
|
+
error: dataverseResponse.error,
|
|
94
|
+
};
|
|
95
|
+
return returnValue;
|
|
96
|
+
}, DataOperationErrorMessages.UploadFailed);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Downloads binary data from a file column in Dataverse
|
|
100
|
+
* @param tableName - The name of the table
|
|
101
|
+
* @param id - The record identifier
|
|
102
|
+
* @param columnName - The name of the file column
|
|
103
|
+
* @returns Promise resolving to operation result with file contents as binary data (Uint8Array)
|
|
104
|
+
*/
|
|
105
|
+
async downloadFileFromRecord(tableName, id, columnName) {
|
|
106
|
+
return this._executeNativeDataverseOperation(tableName, (dataSourceInfo, tblName) => this._getDataverseRequestUrl(dataSourceInfo, tblName, `(${id})/${columnName}/$value`), async (dataClient, requestUrl, dataSourceInfo) => {
|
|
107
|
+
const dataverseResponse = await dataClient.retrieveDataAsync(requestUrl, DataSources.Dataverse, tableName, HttpMethod.GET, { Accept: 'application/octet-stream' }, undefined, {
|
|
108
|
+
operationName: DataverseOperationName.DownloadRecord,
|
|
109
|
+
datasetName: dataSourceInfo.datasetName,
|
|
110
|
+
isDataVerseOperation: true,
|
|
111
|
+
skipBatch: true,
|
|
112
|
+
});
|
|
113
|
+
const returnValue = {
|
|
114
|
+
success: dataverseResponse.success,
|
|
115
|
+
data: dataverseResponse.data,
|
|
116
|
+
error: dataverseResponse.error,
|
|
117
|
+
fileName: dataverseResponse.fileName,
|
|
118
|
+
};
|
|
119
|
+
return returnValue;
|
|
120
|
+
}, DataOperationErrorMessages.DownloadFailed);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Downloads an image from a Dataverse image column via the Web API $value endpoint.
|
|
124
|
+
* @param tableName - The logical name of the Dataverse table.
|
|
125
|
+
* @param recordId - The identifier of the record.
|
|
126
|
+
* @param columnName - The name of the image column.
|
|
127
|
+
*/
|
|
128
|
+
async downloadImageFromRecord(tableName, recordId, columnName, fullSize = false) {
|
|
129
|
+
const urlSuffix = `(${recordId})/${columnName}/$value${fullSize ? '?size=full' : ''}`;
|
|
130
|
+
return this._executeNativeDataverseOperation(tableName, (dataSourceInfo, tblName) => this._getDataverseRequestUrl(dataSourceInfo, tblName, urlSuffix), async (dataClient, requestUrl, dataSourceInfo) => {
|
|
131
|
+
const dataverseResponse = await dataClient.retrieveDataAsync(requestUrl, DataSources.Dataverse, tableName, HttpMethod.GET, { Accept: 'application/octet-stream' }, undefined, {
|
|
132
|
+
operationName: DataverseOperationName.DownloadRecord,
|
|
133
|
+
datasetName: dataSourceInfo.datasetName,
|
|
134
|
+
isDataVerseOperation: true,
|
|
135
|
+
skipBatch: true,
|
|
136
|
+
});
|
|
137
|
+
return {
|
|
138
|
+
success: dataverseResponse.success,
|
|
139
|
+
data: dataverseResponse.data,
|
|
140
|
+
error: dataverseResponse.error,
|
|
141
|
+
fileName: deriveImageFileName(columnName, dataverseResponse.data),
|
|
142
|
+
};
|
|
143
|
+
}, DataOperationErrorMessages.DownloadFailed);
|
|
144
|
+
}
|
|
71
145
|
/**
|
|
72
146
|
* Deletes a record from Dataverse
|
|
73
147
|
* @param tableName - The name of the table
|
|
@@ -89,6 +163,28 @@ export class DataverseDataOperationExecutor {
|
|
|
89
163
|
return returnValue;
|
|
90
164
|
}, DataOperationErrorMessages.DeleteFailed);
|
|
91
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Deletes the file or image data stored in a file/image column of an existing record.
|
|
168
|
+
* Sends a DELETE request to `/<tableName>(<recordId>)/<columnName>`.
|
|
169
|
+
* Only applicable to Dataverse data sources.
|
|
170
|
+
* @param tableName - The logical name of the Dataverse table.
|
|
171
|
+
* @param recordId - The identifier of the record.
|
|
172
|
+
* @param columnName - The name of the file or image column whose data should be deleted.
|
|
173
|
+
*/
|
|
174
|
+
async deleteFileOrImageFromRecord(tableName, recordId, columnName) {
|
|
175
|
+
return this._executeNativeDataverseOperation(tableName, (dataSourceInfo, tblName) => this._getDataverseRequestUrl(dataSourceInfo, tblName, `(${recordId})/${columnName}`), async (dataClient, requestUrl, dataSourceInfo) => {
|
|
176
|
+
const dataverseResponse = await dataClient.deleteDataAsync(requestUrl, DataSources.Dataverse, tableName, {
|
|
177
|
+
operationName: DataverseOperationName.DeleteFileOrImageRecord,
|
|
178
|
+
datasetName: dataSourceInfo.datasetName,
|
|
179
|
+
isDataVerseOperation: true,
|
|
180
|
+
});
|
|
181
|
+
return {
|
|
182
|
+
success: dataverseResponse.success,
|
|
183
|
+
data: dataverseResponse.data,
|
|
184
|
+
error: dataverseResponse.error,
|
|
185
|
+
};
|
|
186
|
+
}, DataOperationErrorMessages.DeleteFileOrImageFailed);
|
|
187
|
+
}
|
|
92
188
|
/**
|
|
93
189
|
* Retrieves a single record from Dataverse
|
|
94
190
|
* @param tableName - The name of the table
|
|
@@ -161,7 +257,7 @@ export class DataverseDataOperationExecutor {
|
|
|
161
257
|
const { action, parameters } = dataverseRequest;
|
|
162
258
|
switch (action) {
|
|
163
259
|
// Future custom actions can be handled here
|
|
164
|
-
case 'getEntityMetadata':
|
|
260
|
+
case 'getEntityMetadata': {
|
|
165
261
|
const { tableName, options } = parameters;
|
|
166
262
|
if (!tableName) {
|
|
167
263
|
return {
|
|
@@ -171,6 +267,63 @@ export class DataverseDataOperationExecutor {
|
|
|
171
267
|
};
|
|
172
268
|
}
|
|
173
269
|
return this._getEntityMetadata(tableName, options ?? {});
|
|
270
|
+
}
|
|
271
|
+
case 'customapi': {
|
|
272
|
+
const { operationName, tableName, body } = parameters;
|
|
273
|
+
const dataSourceInfo = await this._dataSourceService.getDataSource(tableName);
|
|
274
|
+
const apiDef = dataSourceInfo.apis[operationName];
|
|
275
|
+
if (!apiDef) {
|
|
276
|
+
return {
|
|
277
|
+
success: false,
|
|
278
|
+
data: null,
|
|
279
|
+
error: {
|
|
280
|
+
message: `Operation '${operationName}' not found in data source '${tableName}'.`,
|
|
281
|
+
},
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
const dvInfo = await this._getDefaultDataverseEnvironmentInfo();
|
|
285
|
+
const instanceUrl = this._getInstanceUrl(dvInfo);
|
|
286
|
+
const bodyRecord = (body ?? {});
|
|
287
|
+
// Substitute path parameters into the pre-built OData path
|
|
288
|
+
// Collect body params (actions) and OData function params (functions, in: 'query')
|
|
289
|
+
let resolvedPath = apiDef.path;
|
|
290
|
+
const requestBody = {};
|
|
291
|
+
const functionParams = [];
|
|
292
|
+
for (const param of apiDef.parameters) {
|
|
293
|
+
if (param.in === 'path') {
|
|
294
|
+
resolvedPath = resolvedPath.replace(`{${param.name}}`, encodeURIComponent(String(bodyRecord[param.name] ?? '')));
|
|
295
|
+
}
|
|
296
|
+
else if (param.in === 'body') {
|
|
297
|
+
if (param.name in bodyRecord) {
|
|
298
|
+
requestBody[param.name] = bodyRecord[param.name];
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
else if (param.in === 'query') {
|
|
302
|
+
// Dataverse functions pass parameters as OData function params: FunctionName(p1=v1,p2=v2)
|
|
303
|
+
if (param.name in bodyRecord) {
|
|
304
|
+
functionParams.push(`${param.name}=${toODataLiteral(bodyRecord[param.name], param.type)}`);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
if (functionParams.length > 0) {
|
|
309
|
+
resolvedPath += `(${functionParams.join(',')})`;
|
|
310
|
+
}
|
|
311
|
+
const requestUrl = `${instanceUrl}${resolvedPath.startsWith('/') ? resolvedPath.slice(1) : resolvedPath}`;
|
|
312
|
+
const dataClient = await this._getDataClient();
|
|
313
|
+
const isGet = apiDef.method.toUpperCase() === HttpMethod.GET;
|
|
314
|
+
const response = isGet
|
|
315
|
+
? await dataClient.retrieveDataAsync(requestUrl, DataSources.Dataverse, operationName, HttpMethod.GET, undefined, undefined, {
|
|
316
|
+
operationName: DataverseOperationName.ExecuteCustomApi,
|
|
317
|
+
datasetName: dvInfo.datasetName,
|
|
318
|
+
isDataVerseOperation: true,
|
|
319
|
+
})
|
|
320
|
+
: await dataClient.createDataAsync(requestUrl, DataSources.Dataverse, operationName, requestBody, {
|
|
321
|
+
operationName: DataverseOperationName.ExecuteCustomApi,
|
|
322
|
+
datasetName: dvInfo.datasetName,
|
|
323
|
+
isDataVerseOperation: true,
|
|
324
|
+
});
|
|
325
|
+
return { success: response.success, data: response.data, error: response.error };
|
|
326
|
+
}
|
|
174
327
|
default:
|
|
175
328
|
Log.trackEvent('DataverseDataOperation.UnsupportedAction', {
|
|
176
329
|
message: `Unsupported Dataverse action: ${action}`,
|
|
@@ -245,7 +398,7 @@ export class DataverseDataOperationExecutor {
|
|
|
245
398
|
environmentVariableName: '',
|
|
246
399
|
},
|
|
247
400
|
linkedEnvironmentMetadata: {
|
|
248
|
-
resourceId: '',
|
|
401
|
+
resourceId: '', // This would be available in the full app info
|
|
249
402
|
friendlyName: '',
|
|
250
403
|
uniqueName: '',
|
|
251
404
|
domainName: '',
|
|
@@ -286,7 +439,7 @@ export class DataverseDataOperationExecutor {
|
|
|
286
439
|
// Runtime URL format: https://org.crm.dynamics.com/api/data/v9.2/
|
|
287
440
|
// Extract: https://org.crm.dynamics.com
|
|
288
441
|
// Using a simpler approach to avoid URL import issues
|
|
289
|
-
const matches = runtimeUrl.match(/^(https?:\/\/[
|
|
442
|
+
const matches = runtimeUrl.match(/^(https?:\/\/[^/]+)/);
|
|
290
443
|
return matches ? matches[1] : runtimeUrl;
|
|
291
444
|
}
|
|
292
445
|
catch (error) {
|
|
@@ -383,8 +536,23 @@ export class DataverseDataOperationExecutor {
|
|
|
383
536
|
throw new PowerDataRuntimeError(ErrorCodes.DataSourceNotFound, notFoundMsg);
|
|
384
537
|
}
|
|
385
538
|
/**
|
|
386
|
-
*
|
|
539
|
+
* Returns the Dataverse environment info from the default CDS database reference.
|
|
540
|
+
* Used for custom API operations where the data source name is not an entity table.
|
|
387
541
|
*/
|
|
542
|
+
async _getDefaultDataverseEnvironmentInfo() {
|
|
543
|
+
const dbRefs = await this.getDatabaseReferences();
|
|
544
|
+
const db = dbRefs['default.cds'];
|
|
545
|
+
if (!db?.databaseDetails?.linkedEnvironmentMetadata?.instanceUrl) {
|
|
546
|
+
throw new PowerDataRuntimeError(ErrorCodes.DataSourceNotFound, 'No Dataverse environment found at default.cds database reference.');
|
|
547
|
+
}
|
|
548
|
+
return {
|
|
549
|
+
datasetName: db.databaseDetails.environmentName,
|
|
550
|
+
referenceType: db.databaseDetails.referenceType,
|
|
551
|
+
linkedEnvironmentMetadata: db.databaseDetails.linkedEnvironmentMetadata,
|
|
552
|
+
tableId: '',
|
|
553
|
+
apis: {},
|
|
554
|
+
};
|
|
555
|
+
}
|
|
388
556
|
_getInstanceUrl(dataSourceInfo) {
|
|
389
557
|
const instanceUrl = dataSourceInfo.linkedEnvironmentMetadata?.instanceUrl;
|
|
390
558
|
if (!instanceUrl) {
|
|
@@ -394,9 +562,6 @@ export class DataverseDataOperationExecutor {
|
|
|
394
562
|
const baseUrl = instanceUrl.endsWith('/') ? instanceUrl : `${instanceUrl}/`;
|
|
395
563
|
return baseUrl;
|
|
396
564
|
}
|
|
397
|
-
/**
|
|
398
|
-
* Helper to construct the Dataverse API URL using instanceUrl if available, otherwise fallback to runtimeUrl.
|
|
399
|
-
*/
|
|
400
565
|
_getDataverseRequestUrl(dataSourceInfo, tableName, urlPath = '') {
|
|
401
566
|
const baseUrl = this._getInstanceUrl(dataSourceInfo);
|
|
402
567
|
return `${baseUrl}api/data/v9.0/${tableName}${urlPath}`;
|
|
@@ -452,7 +617,68 @@ export function extractSkipToken(nextLink) {
|
|
|
452
617
|
if (!nextLink?.trim()) {
|
|
453
618
|
return undefined;
|
|
454
619
|
}
|
|
455
|
-
const match = nextLink.match(/[
|
|
620
|
+
const match = nextLink.match(/[?&]\$?skiptoken=([^&#]+)/i);
|
|
456
621
|
return match ? decodeURIComponent(match[1]) : undefined;
|
|
457
622
|
}
|
|
623
|
+
/**
|
|
624
|
+
* Detects the image format from the magic bytes at the start of the binary data.
|
|
625
|
+
* This is necessary because Dataverse image columns do not provide file extension or MIME type information.
|
|
626
|
+
* The use of download url companion column (e.g: columnName_url) is not possible due to CORS, so we have to rely on the binary data sniff to determine the extension. This is a standard technique.
|
|
627
|
+
* Referring: https://learn.microsoft.com/en-us/power-apps/developer/data-platform/image-column-data?tabs=sdk#download-url
|
|
628
|
+
* Sniffing the magic bytes allows us to derive a file extension for the downloaded image, which can be used when saving the file or setting the correct MIME type for display.
|
|
629
|
+
* Docs: https://en.wikipedia.org/wiki/List_of_file_signatures
|
|
630
|
+
* Dataverse image columns support only GIF, JPEG, BMP, and PNG.
|
|
631
|
+
* The function checks for these formats and returns the corresponding extension.
|
|
632
|
+
* See: https://learn.microsoft.com/en-us/power-apps/developer/data-platform/image-column-data?tabs=sdk#image-file-types
|
|
633
|
+
* Returns a file extension string, or "png" as a fallback if the format is unrecognized.
|
|
634
|
+
*/
|
|
635
|
+
function sniffImageExtension(data) {
|
|
636
|
+
if (data.length >= 3 && data[0] === 0xff && data[1] === 0xd8 && data[2] === 0xff) {
|
|
637
|
+
return 'jpg';
|
|
638
|
+
}
|
|
639
|
+
if (data.length >= 8 &&
|
|
640
|
+
data[0] === 0x89 &&
|
|
641
|
+
data[1] === 0x50 &&
|
|
642
|
+
data[2] === 0x4e &&
|
|
643
|
+
data[3] === 0x47 &&
|
|
644
|
+
data[4] === 0x0d &&
|
|
645
|
+
data[5] === 0x0a &&
|
|
646
|
+
data[6] === 0x1a &&
|
|
647
|
+
data[7] === 0x0a) {
|
|
648
|
+
return 'png';
|
|
649
|
+
}
|
|
650
|
+
if (data.length >= 4 &&
|
|
651
|
+
data[0] === 0x47 &&
|
|
652
|
+
data[1] === 0x49 &&
|
|
653
|
+
data[2] === 0x46 &&
|
|
654
|
+
data[3] === 0x38) {
|
|
655
|
+
return 'gif';
|
|
656
|
+
}
|
|
657
|
+
if (data.length >= 2 && data[0] === 0x42 && data[1] === 0x4d) {
|
|
658
|
+
return 'bmp';
|
|
659
|
+
}
|
|
660
|
+
return 'png';
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* Derives a filename for a downloaded image by sniffing the magic bytes of the binary data.
|
|
664
|
+
* Falls back to "png" if the format is unrecognized, as PNG is the most common Dataverse image format.
|
|
665
|
+
*/
|
|
666
|
+
export function deriveImageFileName(columnName, data) {
|
|
667
|
+
const ext = data ? sniffImageExtension(data) : 'png';
|
|
668
|
+
return `${columnName}.${ext}`;
|
|
669
|
+
}
|
|
670
|
+
/**
|
|
671
|
+
* Converts a JavaScript value to an OData primitive literal string for use in function call URLs.
|
|
672
|
+
* Strings are single-quoted with internal single quotes escaped by doubling.
|
|
673
|
+
* Numbers and booleans are serialized as-is. Null/undefined becomes 'null'.
|
|
674
|
+
*/
|
|
675
|
+
export function toODataLiteral(value, type) {
|
|
676
|
+
if (value === null || value === undefined) {
|
|
677
|
+
return 'null';
|
|
678
|
+
}
|
|
679
|
+
if (type === 'string') {
|
|
680
|
+
return `'${String(value).replace(/'/g, "''")}'`;
|
|
681
|
+
}
|
|
682
|
+
return String(value);
|
|
683
|
+
}
|
|
458
684
|
//# sourceMappingURL=dataverseDataOperationExecutor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataverseDataOperationExecutor.js","sourceRoot":"","sources":["../../../../../../src/internal/data/core/data/executors/dataverseDataOperationExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import type { IDataOperation, IDataOperationExecutor, IOperationOptions, IOperationResult } from '../../types';
|
|
5
|
+
export type MockDataStore<TRecord = unknown> = {
|
|
6
|
+
[tableName: string]: {
|
|
7
|
+
[id: string]: TRecord;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export declare class MockDataOperationExecutor implements IDataOperationExecutor {
|
|
11
|
+
private _dataStore;
|
|
12
|
+
constructor(data: MockDataStore);
|
|
13
|
+
createRecordAsync<TRequest, TResponse>(_tableName: string, _data: TRequest): Promise<IOperationResult<TResponse>>;
|
|
14
|
+
updateRecordAsync<TRequest, TResponse>(_tableName: string, _id: string, _data: TRequest): Promise<IOperationResult<TResponse>>;
|
|
15
|
+
uploadFileToRecord<TRequest extends string | Uint8Array | ArrayBuffer | Blob>(tableName: string, id: string, columnName: string, fileName: string, data: TRequest): Promise<IOperationResult<void>>;
|
|
16
|
+
downloadFileFromRecord(tableName: string, id: string, columnName: string): Promise<IOperationResult<Uint8Array>>;
|
|
17
|
+
deleteFileOrImageFromRecord(_tableName: string, _recordId: string, _columnName: string): Promise<IOperationResult<void>>;
|
|
18
|
+
downloadImageFromRecord(tableName: string, recordId: string, columnName: string, _fullSize?: boolean): Promise<IOperationResult<Uint8Array>>;
|
|
19
|
+
deleteRecordAsync(_tableName: string, _id: string): Promise<IOperationResult<void>>;
|
|
20
|
+
retrieveRecordAsync<TResponse>(tableName: string, id: string, _options?: IOperationOptions): Promise<IOperationResult<TResponse>>;
|
|
21
|
+
retrieveMultipleRecordsAsync<TResponse>(tableName: string, _options?: IOperationOptions): Promise<IOperationResult<TResponse[]>>;
|
|
22
|
+
executeAsync<TRequest, TResponse>(_operation: IDataOperation<TRequest>): Promise<IOperationResult<TResponse>>;
|
|
23
|
+
}
|
|
24
|
+
export declare function createMockDataExecutor(data: MockDataStore): MockDataOperationExecutor;
|
|
25
|
+
//# sourceMappingURL=mockDataOperationExecutor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockDataOperationExecutor.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/data/core/data/executors/mockDataOperationExecutor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,aAAa,CAAC,OAAO,GAAG,OAAO,IAAI;IAC7C,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,qBAAa,yBAA0B,YAAW,sBAAsB;IACtE,OAAO,CAAC,UAAU,CAAgB;gBAEtB,IAAI,EAAE,aAAa;IAIlB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAChD,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAO1B,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAChD,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAO1B,kBAAkB,CAAC,QAAQ,SAAS,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,EACvF,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IASrB,sBAAsB,CACjC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAU3B,2BAA2B,CACtC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAUrB,uBAAuB,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAS3B,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAOnF,mBAAmB,CAAC,SAAS,EACxC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAqB1B,4BAA4B,CAAC,SAAS,EACjD,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC;IAa5B,YAAY,CAAC,QAAQ,EAAE,SAAS,EAC3C,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,GACnC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;CAOxC;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,yBAAyB,CAErF"}
|
|
@@ -6,28 +6,64 @@ export class MockDataOperationExecutor {
|
|
|
6
6
|
constructor(data) {
|
|
7
7
|
this._dataStore = data;
|
|
8
8
|
}
|
|
9
|
-
async createRecordAsync(
|
|
9
|
+
async createRecordAsync(_tableName, _data) {
|
|
10
10
|
return {
|
|
11
11
|
success: false,
|
|
12
12
|
error: { message: 'createRecordAsync is not supported by MockDataOperationExecutor' },
|
|
13
13
|
data: null,
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
async updateRecordAsync(
|
|
16
|
+
async updateRecordAsync(_tableName, _id, _data) {
|
|
17
17
|
return {
|
|
18
18
|
success: false,
|
|
19
19
|
error: { message: 'updateRecordAsync is not supported by MockDataOperationExecutor' },
|
|
20
20
|
data: null,
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
async
|
|
23
|
+
async uploadFileToRecord(tableName, id, columnName, fileName, data) {
|
|
24
|
+
return {
|
|
25
|
+
success: false,
|
|
26
|
+
error: {
|
|
27
|
+
message: `uploadFileToRecord is not supported by MockDataOperationExecutor, ${tableName}, ${columnName}, ${fileName}, ${id}, ${JSON.stringify(data)}`,
|
|
28
|
+
},
|
|
29
|
+
data: undefined,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
async downloadFileFromRecord(tableName, id, columnName) {
|
|
33
|
+
return {
|
|
34
|
+
success: false,
|
|
35
|
+
error: {
|
|
36
|
+
message: `downloadFileFromRecord is not supported by MockDataOperationExecutor, ${tableName}, ${columnName}, ${id}`,
|
|
37
|
+
},
|
|
38
|
+
data: new Uint8Array(0),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
async deleteFileOrImageFromRecord(_tableName, _recordId, _columnName) {
|
|
42
|
+
return {
|
|
43
|
+
success: false,
|
|
44
|
+
error: {
|
|
45
|
+
message: 'deleteFileOrImageFromRecord is not supported by MockDataOperationExecutor',
|
|
46
|
+
},
|
|
47
|
+
data: undefined,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
async downloadImageFromRecord(tableName, recordId, columnName, _fullSize) {
|
|
51
|
+
return {
|
|
52
|
+
success: false,
|
|
53
|
+
error: {
|
|
54
|
+
message: `downloadImageFromRecord is not supported by MockDataOperationExecutor, ${tableName}, ${columnName}, ${recordId}`,
|
|
55
|
+
},
|
|
56
|
+
data: new Uint8Array(0),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
async deleteRecordAsync(_tableName, _id) {
|
|
24
60
|
return {
|
|
25
61
|
success: false,
|
|
26
62
|
error: { message: 'deleteRecordAsync is not supported by MockDataOperationExecutor' },
|
|
27
63
|
data: undefined,
|
|
28
64
|
};
|
|
29
65
|
}
|
|
30
|
-
async retrieveRecordAsync(tableName, id,
|
|
66
|
+
async retrieveRecordAsync(tableName, id, _options) {
|
|
31
67
|
if (!this._dataStore[tableName]) {
|
|
32
68
|
return {
|
|
33
69
|
success: false,
|
|
@@ -48,7 +84,7 @@ export class MockDataOperationExecutor {
|
|
|
48
84
|
data: record,
|
|
49
85
|
};
|
|
50
86
|
}
|
|
51
|
-
async retrieveMultipleRecordsAsync(tableName,
|
|
87
|
+
async retrieveMultipleRecordsAsync(tableName, _options) {
|
|
52
88
|
if (!this._dataStore[tableName]) {
|
|
53
89
|
return {
|
|
54
90
|
success: false,
|
|
@@ -61,7 +97,7 @@ export class MockDataOperationExecutor {
|
|
|
61
97
|
data: Object.values(this._dataStore[tableName]),
|
|
62
98
|
};
|
|
63
99
|
}
|
|
64
|
-
async executeAsync(
|
|
100
|
+
async executeAsync(_operation) {
|
|
65
101
|
return {
|
|
66
102
|
success: false,
|
|
67
103
|
error: { message: 'executeAsync is not supported by MockDataOperationExecutor' },
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockDataOperationExecutor.js","sourceRoot":"","sources":["../../../../../../src/internal/data/core/data/executors/mockDataOperationExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import { IOperationOptions } from '../../../types';
|
|
4
|
+
import type { IOperationOptions } from '../../../types';
|
|
5
5
|
/**
|
|
6
6
|
* Converts operation options to a query string format.
|
|
7
7
|
* @param options - The operation options to convert.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringQueryOptions.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/data/core/data/executors/shared/stringQueryOptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"stringQueryOptions.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/data/core/data/executors/shared/stringQueryOptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CA8C/E"}
|
|
@@ -15,7 +15,9 @@ export function convertOptionsToQueryString(options) {
|
|
|
15
15
|
parts.push(`$select=${encodeURIComponent(options.select.map((s) => s.trim().replace(/%20/g, '+').replace(/'/g, '%27')).join(','))}`);
|
|
16
16
|
}
|
|
17
17
|
if (options.filter) {
|
|
18
|
-
const encodedFilter = encodeURIComponent(options.filter.trim())
|
|
18
|
+
const encodedFilter = encodeURIComponent(options.filter.trim())
|
|
19
|
+
.replace(/%20/g, '+')
|
|
20
|
+
.replace(/'/g, '%27');
|
|
19
21
|
parts.push(`$filter=${encodedFilter}`);
|
|
20
22
|
}
|
|
21
23
|
if (options.orderBy && options.orderBy.length > 0) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringQueryOptions.js","sourceRoot":"","sources":["../../../../../../../src/internal/data/core/data/executors/shared/stringQueryOptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAA2B;IACrE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CACR,WAAW,kBAAkB,CAC3B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACxF,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aAC5D,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,WAAW,aAAa,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CACR,YAAY,kBAAkB,CAC5B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACzF,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,cAAc,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC"}
|
|
@@ -13,9 +13,13 @@ export declare enum HeaderNames {
|
|
|
13
13
|
export declare enum DataverseOperationName {
|
|
14
14
|
CreateRecord = "dataverseDataOperation.createRecordAsync",
|
|
15
15
|
UpdateRecord = "dataverseDataOperation.updateRecordAsync",
|
|
16
|
+
UploadRecord = "dataverseDataOperation.uploadFileToRecord",
|
|
17
|
+
DownloadRecord = "dataverseDataOperation.downloadFileFromRecord",
|
|
16
18
|
DeleteRecord = "dataverseDataOperation.deleteRecordAsync",
|
|
19
|
+
DeleteFileOrImageRecord = "dataverseDataOperation.deleteFileOrImageFromRecord",
|
|
17
20
|
RetrieveRecord = "dataverseDataOperation.retrieveRecordAsync",
|
|
18
|
-
RetrieveMultipleRecords = "dataverseDataOperation.retrieveMultipleRecordsAsync"
|
|
21
|
+
RetrieveMultipleRecords = "dataverseDataOperation.retrieveMultipleRecordsAsync",
|
|
22
|
+
ExecuteCustomApi = "dataverseDataOperation.executeCustomApi"
|
|
19
23
|
}
|
|
20
24
|
/**
|
|
21
25
|
* Enum for ConnectorDataOperation operation names.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/internal/data/core/error/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,WAAW;IACrB;;OAEG;IACH,SAAS,2BAA2B;CACrC;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,YAAY,6CAA6C;IACzD,YAAY,6CAA6C;IACzD,YAAY,8CAA8C;IAC1D,cAAc,kDAAkD;IAChE,YAAY,6CAA6C;IACzD,uBAAuB,uDAAuD;IAC9E,cAAc,+CAA+C;IAC7D,uBAAuB,wDAAwD;IAC/E,gBAAgB,4CAA4C;CAC7D;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,YAAY,6CAA6C;IACzD,YAAY,6CAA6C;IACzD,YAAY,6CAA6C;IACzD,cAAc,+CAA+C;IAC7D,uBAAuB,wDAAwD;CAChF"}
|
|
@@ -15,9 +15,13 @@ export var DataverseOperationName;
|
|
|
15
15
|
(function (DataverseOperationName) {
|
|
16
16
|
DataverseOperationName["CreateRecord"] = "dataverseDataOperation.createRecordAsync";
|
|
17
17
|
DataverseOperationName["UpdateRecord"] = "dataverseDataOperation.updateRecordAsync";
|
|
18
|
+
DataverseOperationName["UploadRecord"] = "dataverseDataOperation.uploadFileToRecord";
|
|
19
|
+
DataverseOperationName["DownloadRecord"] = "dataverseDataOperation.downloadFileFromRecord";
|
|
18
20
|
DataverseOperationName["DeleteRecord"] = "dataverseDataOperation.deleteRecordAsync";
|
|
21
|
+
DataverseOperationName["DeleteFileOrImageRecord"] = "dataverseDataOperation.deleteFileOrImageFromRecord";
|
|
19
22
|
DataverseOperationName["RetrieveRecord"] = "dataverseDataOperation.retrieveRecordAsync";
|
|
20
23
|
DataverseOperationName["RetrieveMultipleRecords"] = "dataverseDataOperation.retrieveMultipleRecordsAsync";
|
|
24
|
+
DataverseOperationName["ExecuteCustomApi"] = "dataverseDataOperation.executeCustomApi";
|
|
21
25
|
})(DataverseOperationName || (DataverseOperationName = {}));
|
|
22
26
|
/**
|
|
23
27
|
* Enum for ConnectorDataOperation operation names.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/internal/data/core/error/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB;;OAEG;IACH,mDAAoC,CAAA;AACtC,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,sBAUX;AAVD,WAAY,sBAAsB;IAChC,mFAAyD,CAAA;IACzD,mFAAyD,CAAA;IACzD,oFAA0D,CAAA;IAC1D,0FAAgE,CAAA;IAChE,mFAAyD,CAAA;IACzD,wGAA8E,CAAA;IAC9E,uFAA6D,CAAA;IAC7D,yGAA+E,CAAA;IAC/E,sFAA4D,CAAA;AAC9D,CAAC,EAVW,sBAAsB,KAAtB,sBAAsB,QAUjC;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,sBAMX;AAND,WAAY,sBAAsB;IAChC,mFAAyD,CAAA;IACzD,mFAAyD,CAAA;IACzD,mFAAyD,CAAA;IACzD,uFAA6D,CAAA;IAC7D,yGAA+E,CAAA;AACjF,CAAC,EANW,sBAAsB,KAAtB,sBAAsB,QAMjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../../src/internal/data/core/error/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../../src/internal/data/core/error/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../src/internal/data/core/error/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../src/internal/data/core/error/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
|
|
@@ -19,6 +19,10 @@ export declare enum DataOperationErrorMessages {
|
|
|
19
19
|
MissingRequestBody = "Request body is required",
|
|
20
20
|
RetrieveFailed = "Retrieve operation failure",
|
|
21
21
|
RetrieveMultipleFailed = "Retrieve multiple records operation failure",
|
|
22
|
-
UpdateFailed = "Update operation failure"
|
|
22
|
+
UpdateFailed = "Update operation failure",
|
|
23
|
+
UploadFailed = "Upload operation failure",
|
|
24
|
+
DownloadFailed = "Download operation failure",
|
|
25
|
+
DeleteFileOrImageFailed = "Delete file or image operation failure",
|
|
26
|
+
MissingFileData = "File data is required"
|
|
23
27
|
}
|
|
24
28
|
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../../src/internal/data/core/error/messages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAE/D,eAAO,MAAM,aAAa,EAAE;KAAG,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,MAAM;CAoCzD,CAAC;AAKF,oBAAY,0BAA0B;IACpC,YAAY,6BAA6B;IACzC,YAAY,6BAA6B;IACzC,aAAa,8BAA8B;IAC3C,0BAA0B,iCAAiC;IAC3D,cAAc,oBAAoB;IAClC,eAAe,4BAA4B;IAC3C,yBAAyB,oCAAoC;IAC7D,uBAAuB,kCAAkC;IACzD,oBAAoB,+BAA+B;IACnD,kBAAkB,6BAA6B;IAC/C,cAAc,+BAA+B;IAC7C,sBAAsB,gDAAgD;IACtE,YAAY,6BAA6B;CAC1C"}
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../../src/internal/data/core/error/messages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAE/D,eAAO,MAAM,aAAa,EAAE;KAAG,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,MAAM;CAoCzD,CAAC;AAKF,oBAAY,0BAA0B;IACpC,YAAY,6BAA6B;IACzC,YAAY,6BAA6B;IACzC,aAAa,8BAA8B;IAC3C,0BAA0B,iCAAiC;IAC3D,cAAc,oBAAoB;IAClC,eAAe,4BAA4B;IAC3C,yBAAyB,oCAAoC;IAC7D,uBAAuB,kCAAkC;IACzD,oBAAoB,+BAA+B;IACnD,kBAAkB,6BAA6B;IAC/C,cAAc,+BAA+B;IAC7C,sBAAsB,gDAAgD;IACtE,YAAY,6BAA6B;IACzC,YAAY,6BAA6B;IACzC,cAAc,+BAA+B;IAC7C,uBAAuB,2CAA2C;IAClE,eAAe,0BAA0B;CAC1C"}
|