@microsoft/power-apps 0.3.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 -0
- package/README.md +63 -0
- package/lib/__tests__/connectorDataOperationExecutor.spec.d.ts +5 -0
- package/lib/__tests__/connectorDataOperationExecutor.spec.d.ts.map +1 -0
- package/lib/__tests__/connectorDataOperationExecutor.spec.js +509 -0
- package/lib/__tests__/connectorDataOperationExecutor.spec.js.map +1 -0
- package/lib/__tests__/dataverseDataOperationExecutor.spec.d.ts +5 -0
- package/lib/__tests__/dataverseDataOperationExecutor.spec.d.ts.map +1 -0
- package/lib/__tests__/dataverseDataOperationExecutor.spec.js +349 -0
- package/lib/__tests__/dataverseDataOperationExecutor.spec.js.map +1 -0
- package/lib/__tests__/helpers/testHelpers.d.ts +27 -0
- package/lib/__tests__/helpers/testHelpers.d.ts.map +1 -0
- package/lib/__tests__/helpers/testHelpers.js +67 -0
- package/lib/__tests__/helpers/testHelpers.js.map +1 -0
- package/lib/__tests__/index.spec.d.ts +5 -0
- package/lib/__tests__/index.spec.d.ts.map +1 -0
- package/lib/__tests__/index.spec.js +10 -0
- package/lib/__tests__/index.spec.js.map +1 -0
- package/lib/__tests__/mockDataOperationExecutor.spec.d.ts +5 -0
- package/lib/__tests__/mockDataOperationExecutor.spec.d.ts.map +1 -0
- package/lib/__tests__/mockDataOperationExecutor.spec.js +51 -0
- package/lib/__tests__/mockDataOperationExecutor.spec.js.map +1 -0
- package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.d.ts +17 -0
- package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.d.ts.map +1 -0
- package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.js +35 -0
- package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.js.map +1 -0
- package/lib/__tests__/mocks/mockLog.d.ts +31 -0
- package/lib/__tests__/mocks/mockLog.d.ts.map +1 -0
- package/lib/__tests__/mocks/mockLog.js +53 -0
- package/lib/__tests__/mocks/mockLog.js.map +1 -0
- package/lib/__tests__/mocks/mockTeamsConnectorResponse.d.ts +76 -0
- package/lib/__tests__/mocks/mockTeamsConnectorResponse.d.ts.map +1 -0
- package/lib/__tests__/mocks/mockTeamsConnectorResponse.js +81 -0
- package/lib/__tests__/mocks/mockTeamsConnectorResponse.js.map +1 -0
- package/lib/__tests__/mocks/silenceConsole.d.ts +37 -0
- package/lib/__tests__/mocks/silenceConsole.d.ts.map +1 -0
- package/lib/__tests__/mocks/silenceConsole.js +58 -0
- package/lib/__tests__/mocks/silenceConsole.js.map +1 -0
- package/lib/__tests__/powerDataRuntimeInstance.test.d.ts +5 -0
- package/lib/__tests__/powerDataRuntimeInstance.test.d.ts.map +1 -0
- package/lib/__tests__/powerDataRuntimeInstance.test.js +179 -0
- package/lib/__tests__/powerDataRuntimeInstance.test.js.map +1 -0
- package/lib/__tests__/powerDataSourcesInfoProvider.test.d.ts +5 -0
- package/lib/__tests__/powerDataSourcesInfoProvider.test.d.ts.map +1 -0
- package/lib/__tests__/powerDataSourcesInfoProvider.test.js +153 -0
- package/lib/__tests__/powerDataSourcesInfoProvider.test.js.map +1 -0
- package/lib/__tests__/runtimeClientProvider.test.d.ts +5 -0
- package/lib/__tests__/runtimeClientProvider.test.d.ts.map +1 -0
- package/lib/__tests__/runtimeClientProvider.test.js +248 -0
- package/lib/__tests__/runtimeClientProvider.test.js.map +1 -0
- package/lib/__tests__/runtimeDataClient.spec.d.ts +2 -0
- package/lib/__tests__/runtimeDataClient.spec.d.ts.map +1 -0
- package/lib/__tests__/runtimeDataClient.spec.js +351 -0
- package/lib/__tests__/runtimeDataClient.spec.js.map +1 -0
- package/lib/__tests__/runtimeDataClient.test.d.ts +2 -0
- package/lib/__tests__/runtimeDataClient.test.d.ts.map +1 -0
- package/lib/__tests__/runtimeDataClient.test.js +351 -0
- package/lib/__tests__/runtimeDataClient.test.js.map +1 -0
- package/lib/__tests__/runtimeDataOperation.test.d.ts +5 -0
- package/lib/__tests__/runtimeDataOperation.test.d.ts.map +1 -0
- package/lib/__tests__/runtimeDataOperation.test.js +234 -0
- package/lib/__tests__/runtimeDataOperation.test.js.map +1 -0
- package/lib/__tests__/runtimeMetadataClient.test.d.ts +5 -0
- package/lib/__tests__/runtimeMetadataClient.test.d.ts.map +1 -0
- package/lib/__tests__/runtimeMetadataClient.test.js +271 -0
- package/lib/__tests__/runtimeMetadataClient.test.js.map +1 -0
- package/lib/__tests__/runtimeMetadataOperations.test.d.ts +5 -0
- package/lib/__tests__/runtimeMetadataOperations.test.d.ts.map +1 -0
- package/lib/__tests__/runtimeMetadataOperations.test.js +286 -0
- package/lib/__tests__/runtimeMetadataOperations.test.js.map +1 -0
- package/lib/__tests__/serviceSchemaModelSnapshot.test.d.ts +2 -0
- package/lib/__tests__/serviceSchemaModelSnapshot.test.d.ts.map +1 -0
- package/lib/__tests__/serviceSchemaModelSnapshot.test.js +98 -0
- package/lib/__tests__/serviceSchemaModelSnapshot.test.js.map +1 -0
- package/lib/__tests__/types.spec.d.ts +5 -0
- package/lib/__tests__/types.spec.d.ts.map +1 -0
- package/lib/__tests__/types.spec.js +104 -0
- package/lib/__tests__/types.spec.js.map +1 -0
- package/lib/__tests__/utils.test.d.ts +5 -0
- package/lib/__tests__/utils.test.d.ts.map +1 -0
- package/lib/__tests__/utils.test.js +33 -0
- package/lib/__tests__/utils.test.js.map +1 -0
- package/lib/app/Lifecycle.d.ts +14 -0
- package/lib/app/Lifecycle.d.ts.map +1 -0
- package/lib/app/Lifecycle.js +37 -0
- package/lib/app/Lifecycle.js.map +1 -0
- package/lib/app/index.d.ts +5 -0
- package/lib/app/index.d.ts.map +1 -0
- package/lib/app/index.js +5 -0
- package/lib/app/index.js.map +1 -0
- package/lib/data/Data.types.d.ts +20 -0
- package/lib/data/Data.types.d.ts.map +1 -0
- package/lib/data/Data.types.js +5 -0
- package/lib/data/Data.types.js.map +1 -0
- package/lib/data/executors/index.d.ts +6 -0
- package/lib/data/executors/index.d.ts.map +1 -0
- package/lib/data/executors/index.js +5 -0
- package/lib/data/executors/index.js.map +1 -0
- package/lib/data/index.d.ts +7 -0
- package/lib/data/index.d.ts.map +1 -0
- package/lib/data/index.js +5 -0
- package/lib/data/index.js.map +1 -0
- package/lib/data/powerAppsData.d.ts +10 -0
- package/lib/data/powerAppsData.d.ts.map +1 -0
- package/lib/data/powerAppsData.js +43 -0
- package/lib/data/powerAppsData.js.map +1 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -0
- package/lib/internal/communication/CompatibleMessageReceiver.d.ts +12 -0
- package/lib/internal/communication/CompatibleMessageReceiver.d.ts.map +1 -0
- package/lib/internal/communication/CompatibleMessageReceiver.js +92 -0
- package/lib/internal/communication/CompatibleMessageReceiver.js.map +1 -0
- package/lib/internal/communication/IncompatibleMessageReceiver.d.ts +10 -0
- package/lib/internal/communication/IncompatibleMessageReceiver.d.ts.map +1 -0
- package/lib/internal/communication/IncompatibleMessageReceiver.js +13 -0
- package/lib/internal/communication/IncompatibleMessageReceiver.js.map +1 -0
- package/lib/internal/communication/MessageReceiver.Types.d.ts +18 -0
- package/lib/internal/communication/MessageReceiver.Types.d.ts.map +1 -0
- package/lib/internal/communication/MessageReceiver.Types.js +5 -0
- package/lib/internal/communication/MessageReceiver.Types.js.map +1 -0
- package/lib/internal/communication/SendMessage.d.ts +11 -0
- package/lib/internal/communication/SendMessage.d.ts.map +1 -0
- package/lib/internal/communication/SendMessage.js +32 -0
- package/lib/internal/communication/SendMessage.js.map +1 -0
- package/lib/internal/communication/SendMessageOperation.d.ts +15 -0
- package/lib/internal/communication/SendMessageOperation.d.ts.map +1 -0
- package/lib/internal/communication/SendMessageOperation.js +18 -0
- package/lib/internal/communication/SendMessageOperation.js.map +1 -0
- package/lib/internal/data/ConnectionUtils.d.ts +5 -0
- package/lib/internal/data/ConnectionUtils.d.ts.map +1 -0
- package/lib/internal/data/ConnectionUtils.js +20 -0
- package/lib/internal/data/ConnectionUtils.js.map +1 -0
- package/lib/internal/data/OperationExecutor.d.ts +18 -0
- package/lib/internal/data/OperationExecutor.d.ts.map +1 -0
- package/lib/internal/data/OperationExecutor.js +35 -0
- package/lib/internal/data/OperationExecutor.js.map +1 -0
- package/lib/internal/data/core/api/createRecord.d.ts +13 -0
- package/lib/internal/data/core/api/createRecord.d.ts.map +1 -0
- package/lib/internal/data/core/api/createRecord.js +15 -0
- package/lib/internal/data/core/api/createRecord.js.map +1 -0
- package/lib/internal/data/core/api/deleteRecord.d.ts +13 -0
- package/lib/internal/data/core/api/deleteRecord.d.ts.map +1 -0
- package/lib/internal/data/core/api/deleteRecord.js +15 -0
- package/lib/internal/data/core/api/deleteRecord.js.map +1 -0
- package/lib/internal/data/core/api/execute.d.ts +11 -0
- package/lib/internal/data/core/api/execute.d.ts.map +1 -0
- package/lib/internal/data/core/api/execute.js +13 -0
- package/lib/internal/data/core/api/execute.js.map +1 -0
- package/lib/internal/data/core/api/retrieveMultipleRecords.d.ts +13 -0
- package/lib/internal/data/core/api/retrieveMultipleRecords.d.ts.map +1 -0
- package/lib/internal/data/core/api/retrieveMultipleRecords.js +15 -0
- package/lib/internal/data/core/api/retrieveMultipleRecords.js.map +1 -0
- package/lib/internal/data/core/api/retrieveRecord.d.ts +13 -0
- package/lib/internal/data/core/api/retrieveRecord.d.ts.map +1 -0
- package/lib/internal/data/core/api/retrieveRecord.js +15 -0
- package/lib/internal/data/core/api/retrieveRecord.js.map +1 -0
- package/lib/internal/data/core/api/updateRecord.d.ts +14 -0
- package/lib/internal/data/core/api/updateRecord.d.ts.map +1 -0
- package/lib/internal/data/core/api/updateRecord.js +16 -0
- package/lib/internal/data/core/api/updateRecord.js.map +1 -0
- package/lib/internal/data/core/common/types.d.ts +230 -0
- package/lib/internal/data/core/common/types.d.ts.map +1 -0
- package/lib/internal/data/core/common/types.js +25 -0
- package/lib/internal/data/core/common/types.js.map +1 -0
- package/lib/internal/data/core/common/utils.d.ts +19 -0
- package/lib/internal/data/core/common/utils.d.ts.map +1 -0
- package/lib/internal/data/core/common/utils.js +47 -0
- package/lib/internal/data/core/common/utils.js.map +1 -0
- package/lib/internal/data/core/data/defaultOperationOrchestrator.d.ts +93 -0
- package/lib/internal/data/core/data/defaultOperationOrchestrator.d.ts.map +1 -0
- package/lib/internal/data/core/data/defaultOperationOrchestrator.js +249 -0
- package/lib/internal/data/core/data/defaultOperationOrchestrator.js.map +1 -0
- package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.d.ts +160 -0
- package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.d.ts.map +1 -0
- package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.js +500 -0
- package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.js.map +1 -0
- package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.d.ts +164 -0
- package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.d.ts.map +1 -0
- package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.js +508 -0
- package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.js.map +1 -0
- package/lib/internal/data/core/data/executors/index.d.ts +5 -0
- package/lib/internal/data/core/data/executors/index.d.ts.map +1 -0
- package/lib/internal/data/core/data/executors/index.js +5 -0
- package/lib/internal/data/core/data/executors/index.js.map +1 -0
- package/lib/internal/data/core/data/executors/mockDataOperationExecutor.d.ts +21 -0
- package/lib/internal/data/core/data/executors/mockDataOperationExecutor.d.ts.map +1 -0
- package/lib/internal/data/core/data/executors/mockDataOperationExecutor.js +75 -0
- package/lib/internal/data/core/data/executors/mockDataOperationExecutor.js.map +1 -0
- package/lib/internal/data/core/error/codes.d.ts +31 -0
- package/lib/internal/data/core/error/codes.d.ts.map +1 -0
- package/lib/internal/data/core/error/codes.js +39 -0
- package/lib/internal/data/core/error/codes.js.map +1 -0
- package/lib/internal/data/core/error/constants.d.ts +30 -0
- package/lib/internal/data/core/error/constants.d.ts.map +1 -0
- package/lib/internal/data/core/error/constants.js +33 -0
- package/lib/internal/data/core/error/constants.js.map +1 -0
- package/lib/internal/data/core/error/error.d.ts +8 -0
- package/lib/internal/data/core/error/error.d.ts.map +1 -0
- package/lib/internal/data/core/error/error.js +8 -0
- package/lib/internal/data/core/error/error.js.map +1 -0
- package/lib/internal/data/core/error/messages.d.ts +24 -0
- package/lib/internal/data/core/error/messages.d.ts.map +1 -0
- package/lib/internal/data/core/error/messages.js +55 -0
- package/lib/internal/data/core/error/messages.js.map +1 -0
- package/lib/internal/data/core/error/types.d.ts +30 -0
- package/lib/internal/data/core/error/types.d.ts.map +1 -0
- package/lib/internal/data/core/error/types.js +28 -0
- package/lib/internal/data/core/error/types.js.map +1 -0
- package/lib/internal/data/core/error/util.d.ts +24 -0
- package/lib/internal/data/core/error/util.d.ts.map +1 -0
- package/lib/internal/data/core/error/util.js +71 -0
- package/lib/internal/data/core/error/util.js.map +1 -0
- package/lib/internal/data/core/metadata/runtimeDataSourceService.d.ts +65 -0
- package/lib/internal/data/core/metadata/runtimeDataSourceService.d.ts.map +1 -0
- package/lib/internal/data/core/metadata/runtimeDataSourceService.js +101 -0
- package/lib/internal/data/core/metadata/runtimeDataSourceService.js.map +1 -0
- package/lib/internal/data/core/metadata/runtimeMetadataOperations.d.ts +17 -0
- package/lib/internal/data/core/metadata/runtimeMetadataOperations.d.ts.map +1 -0
- package/lib/internal/data/core/metadata/runtimeMetadataOperations.js +34 -0
- package/lib/internal/data/core/metadata/runtimeMetadataOperations.js.map +1 -0
- package/lib/internal/data/core/runtime/getRuntimeContext.d.ts +11 -0
- package/lib/internal/data/core/runtime/getRuntimeContext.d.ts.map +1 -0
- package/lib/internal/data/core/runtime/getRuntimeContext.js +16 -0
- package/lib/internal/data/core/runtime/getRuntimeContext.js.map +1 -0
- package/lib/internal/data/core/runtime/initializeRuntime.d.ts +13 -0
- package/lib/internal/data/core/runtime/initializeRuntime.d.ts.map +1 -0
- package/lib/internal/data/core/runtime/initializeRuntime.js +38 -0
- package/lib/internal/data/core/runtime/initializeRuntime.js.map +1 -0
- package/lib/internal/data/core/runtime/powerDataRuntime.d.ts +68 -0
- package/lib/internal/data/core/runtime/powerDataRuntime.d.ts.map +1 -0
- package/lib/internal/data/core/runtime/powerDataRuntime.js +116 -0
- package/lib/internal/data/core/runtime/powerDataRuntime.js.map +1 -0
- package/lib/internal/data/core/runtime/powerDataRuntimeInstance.d.ts +20 -0
- package/lib/internal/data/core/runtime/powerDataRuntimeInstance.d.ts.map +1 -0
- package/lib/internal/data/core/runtime/powerDataRuntimeInstance.js +36 -0
- package/lib/internal/data/core/runtime/powerDataRuntimeInstance.js.map +1 -0
- package/lib/internal/data/core/runtime/powerDataSourcesInfoProvider.d.ts +34 -0
- package/lib/internal/data/core/runtime/powerDataSourcesInfoProvider.d.ts.map +1 -0
- package/lib/internal/data/core/runtime/powerDataSourcesInfoProvider.js +45 -0
- package/lib/internal/data/core/runtime/powerDataSourcesInfoProvider.js.map +1 -0
- package/lib/internal/data/core/runtimeClient/runtimeClientProvider.d.ts +43 -0
- package/lib/internal/data/core/runtimeClient/runtimeClientProvider.d.ts.map +1 -0
- package/lib/internal/data/core/runtimeClient/runtimeClientProvider.js +87 -0
- package/lib/internal/data/core/runtimeClient/runtimeClientProvider.js.map +1 -0
- package/lib/internal/data/core/runtimeClient/runtimeDataClient.d.ts +112 -0
- package/lib/internal/data/core/runtimeClient/runtimeDataClient.d.ts.map +1 -0
- package/lib/internal/data/core/runtimeClient/runtimeDataClient.js +457 -0
- package/lib/internal/data/core/runtimeClient/runtimeDataClient.js.map +1 -0
- package/lib/internal/data/core/runtimeClient/runtimeMetadataClient.d.ts +40 -0
- package/lib/internal/data/core/runtimeClient/runtimeMetadataClient.d.ts.map +1 -0
- package/lib/internal/data/core/runtimeClient/runtimeMetadataClient.js +94 -0
- package/lib/internal/data/core/runtimeClient/runtimeMetadataClient.js.map +1 -0
- package/lib/internal/data/core/telemetry/log.d.ts +20 -0
- package/lib/internal/data/core/telemetry/log.d.ts.map +1 -0
- package/lib/internal/data/core/telemetry/log.js +85 -0
- package/lib/internal/data/core/telemetry/log.js.map +1 -0
- package/lib/internal/data/core/types/index.d.ts +164 -0
- package/lib/internal/data/core/types/index.d.ts.map +1 -0
- package/lib/internal/data/core/types/index.js +7 -0
- package/lib/internal/data/core/types/index.js.map +1 -0
- package/lib/internal/plugin/PluginCommon.d.ts +16 -0
- package/lib/internal/plugin/PluginCommon.d.ts.map +1 -0
- package/lib/internal/plugin/PluginCommon.js +116 -0
- package/lib/internal/plugin/PluginCommon.js.map +1 -0
- package/lib/internal/plugin/PluginMobile.d.ts +13 -0
- package/lib/internal/plugin/PluginMobile.d.ts.map +1 -0
- package/lib/internal/plugin/PluginMobile.js +109 -0
- package/lib/internal/plugin/PluginMobile.js.map +1 -0
- package/lib/telemetry/Logger.types.d.ts +8 -0
- package/lib/telemetry/Logger.types.d.ts.map +1 -0
- package/lib/telemetry/Logger.types.js +5 -0
- package/lib/telemetry/Logger.types.js.map +1 -0
- package/lib/telemetry/LoggerManager.d.ts +6 -0
- package/lib/telemetry/LoggerManager.d.ts.map +1 -0
- package/lib/telemetry/LoggerManager.js +28 -0
- package/lib/telemetry/LoggerManager.js.map +1 -0
- package/lib/telemetry/Metrics.types.d.ts +53 -0
- package/lib/telemetry/Metrics.types.d.ts.map +1 -0
- package/lib/telemetry/Metrics.types.js +5 -0
- package/lib/telemetry/Metrics.types.js.map +1 -0
- package/lib/telemetry/Performance.d.ts +5 -0
- package/lib/telemetry/Performance.d.ts.map +1 -0
- package/lib/telemetry/Performance.js +47 -0
- package/lib/telemetry/Performance.js.map +1 -0
- package/lib/telemetry/index.d.ts +5 -0
- package/lib/telemetry/index.d.ts.map +1 -0
- package/lib/telemetry/index.js +5 -0
- package/lib/telemetry/index.js.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1,457 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { DataSources, } from '../common/types';
|
|
5
|
+
import { HttpMethod } from '../common/types';
|
|
6
|
+
import { arrayBufferToBase64, convertArrayBufferToString } from '../common/utils';
|
|
7
|
+
import { isOperationResult } from '../types';
|
|
8
|
+
import { createErrorResponse, DataOperationErrorMessages, ErrorCodes, getErrorMessage, parseHttpPluginError, PowerDataRuntimeError, } from '../error/error';
|
|
9
|
+
import { extractDataverseUrlParts } from '../common/utils';
|
|
10
|
+
/**
|
|
11
|
+
* RuntimeDataClient handles data operations through PowerOperationExecutor
|
|
12
|
+
*/
|
|
13
|
+
export class RuntimeDataClient {
|
|
14
|
+
_powerOperationExecutor;
|
|
15
|
+
// Static identifiers for services
|
|
16
|
+
// Used to identify specific services within the PowerApps environment
|
|
17
|
+
static SERVICES = {
|
|
18
|
+
dataClient: 'AppHttpClientPlugin',
|
|
19
|
+
identityService: 'AppIdentityServicePlugin',
|
|
20
|
+
};
|
|
21
|
+
// Static identifiers for service actions
|
|
22
|
+
// Used to identify specific actions within the service
|
|
23
|
+
// These actions are used to send HTTP requests and get access tokens
|
|
24
|
+
static ACTIONS = {
|
|
25
|
+
sendHttp: 'sendHttpAsync',
|
|
26
|
+
getToken: 'getAppAccessTokenAsync',
|
|
27
|
+
getDynamicToken: 'getAppDynamicResourceAccessTokenAsync',
|
|
28
|
+
};
|
|
29
|
+
// Request source identifier for telemetry
|
|
30
|
+
// Used to identify the source of the request in telemetry data
|
|
31
|
+
static REQUEST_SOURCE = 'PublishedApp';
|
|
32
|
+
// Constructor for RuntimeDataClient
|
|
33
|
+
// Accepts an IPowerOperationExecutor instance for executing operations
|
|
34
|
+
constructor(_powerOperationExecutor) {
|
|
35
|
+
this._powerOperationExecutor = _powerOperationExecutor;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Creates a new instance of RuntimeDataClient
|
|
39
|
+
*/
|
|
40
|
+
static createInstanceAsync(powerOperationExecutor) {
|
|
41
|
+
return Promise.resolve(new RuntimeDataClient(powerOperationExecutor));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Creates data using POST method
|
|
45
|
+
* @param url - The URL for the request
|
|
46
|
+
* @param apiId - The API ID for authentication
|
|
47
|
+
* @param tableName - The name of the table to access
|
|
48
|
+
* @param body - The request body for the POST method
|
|
49
|
+
* @param operationName - Optional operation name for telemetry
|
|
50
|
+
* @return Promise resolving to the response data
|
|
51
|
+
* @throws Error if the request fails or the response is invalid
|
|
52
|
+
* @throws Error if the request body is invalid
|
|
53
|
+
*/
|
|
54
|
+
async createDataAsync(url, apiId, tableName, body, context) {
|
|
55
|
+
try {
|
|
56
|
+
if (!body) {
|
|
57
|
+
throw new Error(`${DataOperationErrorMessages.InvalidRequest}: ${DataOperationErrorMessages.MissingRequestBody}`);
|
|
58
|
+
}
|
|
59
|
+
const config = {
|
|
60
|
+
url,
|
|
61
|
+
method: HttpMethod.POST,
|
|
62
|
+
apiId,
|
|
63
|
+
tableName,
|
|
64
|
+
body: JSON.stringify(body),
|
|
65
|
+
};
|
|
66
|
+
context = this._ensureContext(context, 'runtimeDataClient.createDataAsync');
|
|
67
|
+
return await this._executeRequest(config, context);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
if (isOperationResult(error)) {
|
|
71
|
+
return error;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return createErrorResponse(error, DataOperationErrorMessages.CreateFailed);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Updates data using PATCH method
|
|
80
|
+
* @param url - The URL for the request
|
|
81
|
+
* @param apiId - The API ID for authentication
|
|
82
|
+
* @param tableName - The name of the table to access
|
|
83
|
+
* @param body - The request body for the PATCH method
|
|
84
|
+
* @param operationName - Optional operation name for telemetry
|
|
85
|
+
* @return Promise resolving to the response data
|
|
86
|
+
* @throws Error if the request fails or the response is invalid
|
|
87
|
+
* @throws Error if the request body is invalid
|
|
88
|
+
*/
|
|
89
|
+
async updateDataAsync(url, apiId, tableName, body, context) {
|
|
90
|
+
try {
|
|
91
|
+
if (!body) {
|
|
92
|
+
throw new Error(`${DataOperationErrorMessages.InvalidRequest}: ${DataOperationErrorMessages.MissingRequestBody}`);
|
|
93
|
+
}
|
|
94
|
+
const config = {
|
|
95
|
+
url,
|
|
96
|
+
method: HttpMethod.PATCH,
|
|
97
|
+
apiId,
|
|
98
|
+
tableName,
|
|
99
|
+
body: JSON.stringify(body),
|
|
100
|
+
};
|
|
101
|
+
context = this._ensureContext(context, 'runtimeDataClient.updateDataAsync');
|
|
102
|
+
return await this._executeRequest(config, context);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
if (isOperationResult(error)) {
|
|
106
|
+
return error;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
return createErrorResponse(error, DataOperationErrorMessages.UpdateFailed);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Deletes data using DELETE method
|
|
115
|
+
* @param url - The URL for the request
|
|
116
|
+
* @param connectionApi - The API ID for authentication
|
|
117
|
+
* @param serviceNamespace - The name of the service namespace
|
|
118
|
+
* @param operationName - Optional operation name for telemetry
|
|
119
|
+
* @return Promise resolving to the response data
|
|
120
|
+
* @throws Error if the request fails or the response is invalid
|
|
121
|
+
*/
|
|
122
|
+
async deleteDataAsync(url, connectionApi, serviceNamespace, context) {
|
|
123
|
+
try {
|
|
124
|
+
const config = {
|
|
125
|
+
url,
|
|
126
|
+
method: HttpMethod.DELETE,
|
|
127
|
+
apiId: connectionApi,
|
|
128
|
+
tableName: serviceNamespace,
|
|
129
|
+
};
|
|
130
|
+
context = this._ensureContext(context, 'runtimeDataClient.deleteDataAsync');
|
|
131
|
+
return await this._executeRequest(config, context);
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
if (isOperationResult(error)) {
|
|
135
|
+
return error;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
return createErrorResponse(error, DataOperationErrorMessages.DeleteFailed);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Retrieves data using GET or POST method
|
|
144
|
+
* @param url - The URL for the request
|
|
145
|
+
* @param apiId - The API ID for authentication
|
|
146
|
+
* @param tableName - The name of the table to access
|
|
147
|
+
* @param method - The HTTP method
|
|
148
|
+
* @param body - Optional request body for POST method
|
|
149
|
+
* @param context - Optional operation context
|
|
150
|
+
* @param operationName - Optional operation name for telemetry
|
|
151
|
+
* @return Promise resolving to the response data
|
|
152
|
+
* @throws Error if the request fails or the response is invalid
|
|
153
|
+
*/
|
|
154
|
+
async retrieveDataAsync(url, apiId, tableName, method, headers, body, context) {
|
|
155
|
+
try {
|
|
156
|
+
const config = {
|
|
157
|
+
url,
|
|
158
|
+
method,
|
|
159
|
+
apiId,
|
|
160
|
+
tableName,
|
|
161
|
+
headers,
|
|
162
|
+
body: body ? (typeof body === 'string' ? body : JSON.stringify(body)) : undefined,
|
|
163
|
+
};
|
|
164
|
+
context = this._ensureContext(context, 'runtimeDataClient.retrieveDataAsync');
|
|
165
|
+
return await this._executeRequest(config, context);
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
if (isOperationResult(error)) {
|
|
169
|
+
return error;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
return createErrorResponse(error, DataOperationErrorMessages.RetrieveFailed);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Gets an access token for the specified API.
|
|
178
|
+
* If the API is Dataverse, retrieves a dynamic resource token; otherwise, retrieves a standard appservice API token.
|
|
179
|
+
* @param apiId - The API ID for authentication
|
|
180
|
+
* @param datasetName - Optional dataset name for Dataverse
|
|
181
|
+
* @returns Promise resolving to the access token
|
|
182
|
+
* @throws Error if token acquisition fails
|
|
183
|
+
*/
|
|
184
|
+
async _getAccessToken(apiId, datasetName) {
|
|
185
|
+
try {
|
|
186
|
+
let result;
|
|
187
|
+
if (apiId === DataSources.Dataverse) {
|
|
188
|
+
// For Dataverse datasources, use dynamic token with datasetName as resourceId
|
|
189
|
+
result = await this._powerOperationExecutor.execute(RuntimeDataClient.SERVICES.identityService, RuntimeDataClient.ACTIONS.getDynamicToken, [datasetName]);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
result = await this._powerOperationExecutor.execute(RuntimeDataClient.SERVICES.identityService, RuntimeDataClient.ACTIONS.getToken, [apiId]);
|
|
193
|
+
}
|
|
194
|
+
return result.data;
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
throw new PowerDataRuntimeError(ErrorCodes.TokenAcquisitionFailed, getErrorMessage(error));
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// Merge Prefer headers for Dataverse batch payloads
|
|
201
|
+
_mergePreferHeaders(configHeaders, method) {
|
|
202
|
+
let preferHeader = '';
|
|
203
|
+
if (configHeaders?.Prefer) {
|
|
204
|
+
preferHeader += configHeaders.Prefer;
|
|
205
|
+
}
|
|
206
|
+
if (method === HttpMethod.POST || method === HttpMethod.PATCH) {
|
|
207
|
+
const defaultPrefer = 'return=representation,odata.include-annotations=*';
|
|
208
|
+
if (preferHeader) {
|
|
209
|
+
// Only add if not already present
|
|
210
|
+
if (!preferHeader.includes('return=representation')) {
|
|
211
|
+
preferHeader += (preferHeader ? ',' : '') + defaultPrefer;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
preferHeader = defaultPrefer;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return preferHeader;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Creates headers for the HTTP request.
|
|
222
|
+
* Combines default headers with any custom headers provided in the config.
|
|
223
|
+
* Custom headers are optional and take precedence over default headers.
|
|
224
|
+
* @param token - The access token for authentication
|
|
225
|
+
* @param config - The HTTP request configuration
|
|
226
|
+
* @return The headers for the request
|
|
227
|
+
* @throws Error if header creation fails
|
|
228
|
+
*/
|
|
229
|
+
_createHeaders(token, config, context) {
|
|
230
|
+
const baseHeaders = {
|
|
231
|
+
Accept: 'application/json',
|
|
232
|
+
'x-ms-protocol-semantics': 'cdp',
|
|
233
|
+
ServiceNamespace: config.tableName,
|
|
234
|
+
Authorization: `paauth ${token}`,
|
|
235
|
+
'x-ms-pa-client-custom-headers-options': '{"addCustomHeaders":true}',
|
|
236
|
+
'x-ms-enable-selects': 'true',
|
|
237
|
+
'x-ms-pa-client-telemetry-options': `paclient-telemetry {"operationName":"${context?.operationName ?? 'runtimeDataClient.executeRequest'}"}`,
|
|
238
|
+
'x-ms-pa-client-telemetry-additional-data': `{"apiId":"${config.apiId}"}`,
|
|
239
|
+
};
|
|
240
|
+
if (config.apiId === DataSources.Dataverse) {
|
|
241
|
+
// Extract baseUrl and encodedPath for Dataverse batch payload construction
|
|
242
|
+
baseHeaders['x-ms-protocol-semantics'] = DataSources.Dataverse;
|
|
243
|
+
baseHeaders.Authorization = `dynamicauth ${token}`;
|
|
244
|
+
const { baseUrl, encodedPath } = extractDataverseUrlParts(config.url);
|
|
245
|
+
const batchId = context?.batchId || '';
|
|
246
|
+
const preferHeader = this._mergePreferHeaders(config.headers, config.method);
|
|
247
|
+
baseHeaders.BatchInfo = JSON.stringify({
|
|
248
|
+
baseUrl,
|
|
249
|
+
encodedPath,
|
|
250
|
+
headers: {
|
|
251
|
+
Accept: 'application/json',
|
|
252
|
+
...(preferHeader ? { Prefer: preferHeader } : {}),
|
|
253
|
+
...(config.method === HttpMethod.POST || config.method === HttpMethod.PATCH
|
|
254
|
+
? { 'Content-Type': 'application/json' }
|
|
255
|
+
: {}),
|
|
256
|
+
},
|
|
257
|
+
batchId,
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
if (config.headers) {
|
|
261
|
+
return { ...baseHeaders, ...config.headers };
|
|
262
|
+
}
|
|
263
|
+
return baseHeaders;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Executes an HTTP request with the given configuration
|
|
267
|
+
* @param config - The HTTP request configuration
|
|
268
|
+
* @param context - Optional operation context
|
|
269
|
+
* @return Promise resolving to the response data
|
|
270
|
+
* @throws Error if the request fails or the response is invalid
|
|
271
|
+
* @throws Error if the response content type is invalid
|
|
272
|
+
*/
|
|
273
|
+
async _executeRequest(config, context) {
|
|
274
|
+
const token = await this._getAccessToken(config.apiId, context?.datasetName);
|
|
275
|
+
const headers = this._createHeaders(token, config, context);
|
|
276
|
+
const requestBody = config.body ? new Blob([config.body], { type: 'application/json' }) : '';
|
|
277
|
+
let result;
|
|
278
|
+
try {
|
|
279
|
+
result = await this._powerOperationExecutor.execute(RuntimeDataClient.SERVICES.dataClient, RuntimeDataClient.ACTIONS.sendHttp, [
|
|
280
|
+
{
|
|
281
|
+
url: config.url,
|
|
282
|
+
method: config.method,
|
|
283
|
+
requestSource: RuntimeDataClient.REQUEST_SOURCE,
|
|
284
|
+
allowSessionStorage: true,
|
|
285
|
+
returnDirectResponse: true,
|
|
286
|
+
headers,
|
|
287
|
+
},
|
|
288
|
+
requestBody,
|
|
289
|
+
'arraybuffer',
|
|
290
|
+
]);
|
|
291
|
+
}
|
|
292
|
+
catch (error) {
|
|
293
|
+
return {
|
|
294
|
+
success: false,
|
|
295
|
+
error: parseHttpPluginError(error),
|
|
296
|
+
data: undefined,
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
const responseData = result.data;
|
|
300
|
+
const responseHeaders = responseData[0].headers;
|
|
301
|
+
const contentType = responseHeaders['Content-Type'];
|
|
302
|
+
if (!contentType) {
|
|
303
|
+
return {
|
|
304
|
+
success: true,
|
|
305
|
+
data: undefined,
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
else if (contentType.indexOf('application/json') !== -1) {
|
|
309
|
+
const data = result.data[1];
|
|
310
|
+
let text = this._decodeArrayBuffer(data);
|
|
311
|
+
if (!text) {
|
|
312
|
+
text = '{}'; // Handle empty response gracefully
|
|
313
|
+
}
|
|
314
|
+
const parsedResult = JSON.parse(text);
|
|
315
|
+
if (context?.isDataVerseOperation || this._isDataverseCall(config.url)) {
|
|
316
|
+
// If the call was to a native Dataverse API, we return the complete OData response
|
|
317
|
+
// that includes metadata, annotations, and the value array
|
|
318
|
+
return {
|
|
319
|
+
success: true,
|
|
320
|
+
data: parsedResult,
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
// Check if the response is an OData format with a value array
|
|
324
|
+
else if (!context?.isExecuteAsync && 'value' in parsedResult && Array.isArray(parsedResult.value)) {
|
|
325
|
+
// Cast to OData response and return just the value array
|
|
326
|
+
return {
|
|
327
|
+
success: true,
|
|
328
|
+
data: parsedResult.value,
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
// Return the parsed result directly
|
|
333
|
+
return {
|
|
334
|
+
success: true,
|
|
335
|
+
data: parsedResult,
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
else if (contentType.indexOf('image/') !== -1) {
|
|
340
|
+
const buffer = result.data[1];
|
|
341
|
+
if (buffer instanceof ArrayBuffer) {
|
|
342
|
+
const value = arrayBufferToBase64(buffer);
|
|
343
|
+
return {
|
|
344
|
+
success: true,
|
|
345
|
+
data: value,
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
return {
|
|
349
|
+
success: true,
|
|
350
|
+
data: buffer,
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
const buffer = result.data[1];
|
|
355
|
+
if (buffer instanceof ArrayBuffer) {
|
|
356
|
+
const value = convertArrayBufferToString(buffer);
|
|
357
|
+
const status = responseData[0].status;
|
|
358
|
+
const responseType = context?.responseInfo?.[status];
|
|
359
|
+
if (responseType) {
|
|
360
|
+
let parsedValue;
|
|
361
|
+
try {
|
|
362
|
+
parsedValue = JSON.parse(value);
|
|
363
|
+
}
|
|
364
|
+
catch (err) {
|
|
365
|
+
return {
|
|
366
|
+
success: false,
|
|
367
|
+
data: undefined,
|
|
368
|
+
error: new Error(DataOperationErrorMessages.InvalidResponse),
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
if (responseType.type === 'array' && !Array.isArray(parsedValue)) {
|
|
372
|
+
return {
|
|
373
|
+
success: false,
|
|
374
|
+
data: undefined,
|
|
375
|
+
error: new Error(DataOperationErrorMessages.InvalidResponse),
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
if (responseType.type === 'object' &&
|
|
379
|
+
(typeof parsedValue !== 'object' || Array.isArray(parsedValue) || parsedValue === null)) {
|
|
380
|
+
return {
|
|
381
|
+
success: false,
|
|
382
|
+
data: undefined,
|
|
383
|
+
error: new Error(DataOperationErrorMessages.InvalidResponse),
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
return {
|
|
387
|
+
success: true,
|
|
388
|
+
data: parsedValue,
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
else {
|
|
392
|
+
// Return the string value directly
|
|
393
|
+
return {
|
|
394
|
+
success: true,
|
|
395
|
+
data: value,
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
return {
|
|
400
|
+
success: false,
|
|
401
|
+
data: responseData,
|
|
402
|
+
error: new Error(DataOperationErrorMessages.InvalidResponse),
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
_ensureContext(context, defaultOperationName) {
|
|
407
|
+
if (!context) {
|
|
408
|
+
context = {};
|
|
409
|
+
}
|
|
410
|
+
if (!context.operationName) {
|
|
411
|
+
context.operationName = defaultOperationName;
|
|
412
|
+
}
|
|
413
|
+
return context;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Checks if the given URL is a Dataverse API call
|
|
417
|
+
* @param url - The URL to check
|
|
418
|
+
* @returns True if the URL is a Dataverse API call, false otherwise
|
|
419
|
+
*/
|
|
420
|
+
_isDataverseCall(url) {
|
|
421
|
+
if (!url) {
|
|
422
|
+
return false;
|
|
423
|
+
}
|
|
424
|
+
const urlLower = decodeURIComponent(url).toLowerCase();
|
|
425
|
+
return urlLower.includes('/api/data/') && !urlLower.includes('/apim');
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Decodes ArrayBuffer to string, handling both browser and Node.js environments
|
|
429
|
+
* @param buffer - The ArrayBuffer to decode
|
|
430
|
+
* @returns The decoded string
|
|
431
|
+
*/
|
|
432
|
+
_decodeArrayBuffer(buffer) {
|
|
433
|
+
// Try using native TextDecoder first (browser environment)
|
|
434
|
+
if (typeof TextDecoder !== 'undefined') {
|
|
435
|
+
return new TextDecoder().decode(buffer);
|
|
436
|
+
}
|
|
437
|
+
// Fallback for environments without TextDecoder (e.g., Jest/Node.js)
|
|
438
|
+
// Convert ArrayBuffer to Uint8Array and then to string
|
|
439
|
+
const uint8Array = new Uint8Array(buffer);
|
|
440
|
+
const results = [];
|
|
441
|
+
// Use a chunk-based approach for better performance with large buffers
|
|
442
|
+
const chunkSize = 8192;
|
|
443
|
+
for (let i = 0; i < uint8Array.length; i += chunkSize) {
|
|
444
|
+
const chunk = uint8Array.subarray(i, Math.min(i + chunkSize, uint8Array.length));
|
|
445
|
+
results.push(String.fromCharCode.apply(null, Array.from(chunk)));
|
|
446
|
+
}
|
|
447
|
+
// Handle UTF-8 decoding for proper Unicode support
|
|
448
|
+
try {
|
|
449
|
+
return results.join('');
|
|
450
|
+
}
|
|
451
|
+
catch {
|
|
452
|
+
// If UTF-8 decoding fails, return the raw string
|
|
453
|
+
return results.join('');
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
//# sourceMappingURL=runtimeDataClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeDataClient.js","sourceRoot":"","sources":["../../../../../src/internal/data/core/runtimeClient/runtimeDataClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { IConnectionApi, IConnectionReference, IRuntimeMetadataClient } from '../common/types';
|
|
5
|
+
import { IOperationResult, IPowerOperationExecutor } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* RuntimeMetadataClient handles metadata operations through PowerOperationExecutor
|
|
8
|
+
*/
|
|
9
|
+
export declare class RuntimeMetadataClient implements IRuntimeMetadataClient {
|
|
10
|
+
private readonly _powerOperationExecutor;
|
|
11
|
+
private static readonly SERVICES;
|
|
12
|
+
private static readonly ACTIONS;
|
|
13
|
+
constructor(_powerOperationExecutor: IPowerOperationExecutor);
|
|
14
|
+
/**
|
|
15
|
+
* Creates a new instance of RuntimeMetadataClient
|
|
16
|
+
* @param powerOperationExecutor - The powerOperationExecutor instance
|
|
17
|
+
* @returns Promise resolving to IRuntimeMetadataClient
|
|
18
|
+
*/
|
|
19
|
+
static createInstanceAsync(powerOperationExecutor: IPowerOperationExecutor): Promise<RuntimeMetadataClient>;
|
|
20
|
+
/**
|
|
21
|
+
* Fetches app connection configurations
|
|
22
|
+
* @returns Promise resolving to connection reference details
|
|
23
|
+
* @throws Error if the operation fails
|
|
24
|
+
*/
|
|
25
|
+
getAppConnectionConfigsAsync(): Promise<IOperationResult<IConnectionReference>>;
|
|
26
|
+
/**
|
|
27
|
+
* Fetches app data source configurations
|
|
28
|
+
* @returns Promise resolving to connection reference details
|
|
29
|
+
* @throws Error if the operation fails
|
|
30
|
+
*/
|
|
31
|
+
getAppDataSourceConfigsAsync(): Promise<IOperationResult<IConnectionApi>>;
|
|
32
|
+
/**
|
|
33
|
+
* Executes a metadata operation with the given configuration
|
|
34
|
+
* @param config - The operation configuration
|
|
35
|
+
* @returns Promise resolving to the operation result
|
|
36
|
+
* @throws Error if the operation fails
|
|
37
|
+
*/
|
|
38
|
+
private _executeOperation;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=runtimeMetadataClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeMetadataClient.d.ts","sourceRoot":"","sources":["../../../../../src/internal/data/core/runtimeClient/runtimeMetadataClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE/F,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAWrE;;GAEG;AACH,qBAAa,qBAAsB,YAAW,sBAAsB;IAiBtD,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAZpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAE9B;IAGF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAG7B;gBAI2B,uBAAuB,EAAE,uBAAuB;IAE7E;;;;OAIG;WACW,mBAAmB,CAC/B,sBAAsB,EAAE,uBAAuB,GAC9C,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;OAIG;IACU,4BAA4B,IAAI,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAe5F;;;;OAIG;IACU,4BAA4B,IAAI,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAetF;;;;;OAKG;YACW,iBAAiB;CAmBhC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { ErrorCodes, getErrorMessage, PowerDataRuntimeError } from '../error/error';
|
|
5
|
+
/**
|
|
6
|
+
* RuntimeMetadataClient handles metadata operations through PowerOperationExecutor
|
|
7
|
+
*/
|
|
8
|
+
export class RuntimeMetadataClient {
|
|
9
|
+
_powerOperationExecutor;
|
|
10
|
+
// Static identifiers for services and actions
|
|
11
|
+
// Used to identify specific services and actions within the PowerApps environment
|
|
12
|
+
// These identifiers are used to execute operations through the PowerOperationExecutor
|
|
13
|
+
// The services provide the functionality for the operations
|
|
14
|
+
static SERVICES = {
|
|
15
|
+
powerAppsClient: 'AppPowerAppsClientPlugin',
|
|
16
|
+
};
|
|
17
|
+
// The actions define the specific operations to be performed
|
|
18
|
+
static ACTIONS = {
|
|
19
|
+
getConnectionConfigs: 'loadAppConnectionsAsync_v2',
|
|
20
|
+
getDataSourceConfigs: 'getAppCdsDataSourceConfigsAsync',
|
|
21
|
+
};
|
|
22
|
+
// Private member for the PowerOperationExecutor
|
|
23
|
+
// The PowerOperationExecutor is used to execute operations on the clients
|
|
24
|
+
constructor(_powerOperationExecutor) {
|
|
25
|
+
this._powerOperationExecutor = _powerOperationExecutor;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Creates a new instance of RuntimeMetadataClient
|
|
29
|
+
* @param powerOperationExecutor - The powerOperationExecutor instance
|
|
30
|
+
* @returns Promise resolving to IRuntimeMetadataClient
|
|
31
|
+
*/
|
|
32
|
+
static createInstanceAsync(powerOperationExecutor) {
|
|
33
|
+
return Promise.resolve(new RuntimeMetadataClient(powerOperationExecutor));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Fetches app connection configurations
|
|
37
|
+
* @returns Promise resolving to connection reference details
|
|
38
|
+
* @throws Error if the operation fails
|
|
39
|
+
*/
|
|
40
|
+
async getAppConnectionConfigsAsync() {
|
|
41
|
+
try {
|
|
42
|
+
const config = {
|
|
43
|
+
service: RuntimeMetadataClient.SERVICES.powerAppsClient,
|
|
44
|
+
action: RuntimeMetadataClient.ACTIONS.getConnectionConfigs,
|
|
45
|
+
params: [],
|
|
46
|
+
};
|
|
47
|
+
const result = await this._executeOperation(config);
|
|
48
|
+
return { success: true, data: result };
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
throw new PowerDataRuntimeError(ErrorCodes.ConnectionConfigFetchFailed, getErrorMessage(error));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Fetches app data source configurations
|
|
56
|
+
* @returns Promise resolving to connection reference details
|
|
57
|
+
* @throws Error if the operation fails
|
|
58
|
+
*/
|
|
59
|
+
async getAppDataSourceConfigsAsync() {
|
|
60
|
+
try {
|
|
61
|
+
const config = {
|
|
62
|
+
service: RuntimeMetadataClient.SERVICES.powerAppsClient,
|
|
63
|
+
action: RuntimeMetadataClient.ACTIONS.getDataSourceConfigs,
|
|
64
|
+
params: [],
|
|
65
|
+
};
|
|
66
|
+
const result = await this._executeOperation(config);
|
|
67
|
+
return { success: true, data: result };
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
throw new PowerDataRuntimeError(ErrorCodes.DataSourceConfigFetchFailed, getErrorMessage(error));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Executes a metadata operation with the given configuration
|
|
75
|
+
* @param config - The operation configuration
|
|
76
|
+
* @returns Promise resolving to the operation result
|
|
77
|
+
* @throws Error if the operation fails
|
|
78
|
+
*/
|
|
79
|
+
async _executeOperation(config) {
|
|
80
|
+
try {
|
|
81
|
+
const result = await this._powerOperationExecutor.execute(config.service, config.action, config.params || []);
|
|
82
|
+
// Convert the keys of the result to lowercase
|
|
83
|
+
const lowerCaseResult = Object.keys(result.data).reduce((acc, key) => {
|
|
84
|
+
acc[key.toLowerCase()] = (result.data ?? {})[key];
|
|
85
|
+
return acc;
|
|
86
|
+
}, {});
|
|
87
|
+
return lowerCaseResult;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
throw new PowerDataRuntimeError(ErrorCodes.InvalidMetadataResponse);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=runtimeMetadataClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeMetadataClient.js","sourceRoot":"","sources":["../../../../../src/internal/data/core/runtimeClient/runtimeMetadataClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAYpF;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAiBH;IAhB7B,8CAA8C;IAC9C,kFAAkF;IAClF,sFAAsF;IACtF,4DAA4D;IACpD,MAAM,CAAU,QAAQ,GAAG;QACjC,eAAe,EAAE,0BAA0B;KAC5C,CAAC;IAEF,6DAA6D;IACrD,MAAM,CAAU,OAAO,GAAG;QAChC,oBAAoB,EAAE,4BAA4B;QAClD,oBAAoB,EAAE,iCAAiC;KACxD,CAAC;IAEF,gDAAgD;IAChD,0EAA0E;IAC1E,YAA6B,uBAAgD;QAAhD,4BAAuB,GAAvB,uBAAuB,CAAyB;IAAG,CAAC;IAEjF;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAC/B,sBAA+C;QAE/C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,4BAA4B;QACvC,IAAI;YACF,MAAM,MAAM,GAA6B;gBACvC,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,eAAe;gBACvD,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,oBAAoB;gBAC1D,MAAM,EAAE,EAAE;aACX,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAuB,MAAM,CAAC,CAAC;YAC1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACxC;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,qBAAqB,CAAC,UAAU,CAAC,2BAA2B,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;SACjG;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,4BAA4B;QACvC,IAAI;YACF,MAAM,MAAM,GAA6B;gBACvC,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,eAAe;gBACvD,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,oBAAoB;gBAC1D,MAAM,EAAE,EAAE;aACX,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAiB,MAAM,CAAC,CAAC;YACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACxC;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,qBAAqB,CAAC,UAAU,CAAC,2BAA2B,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;SACjG;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,iBAAiB,CAAI,MAAgC;QACjE,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CACvD,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,MAAM,EACZ,MAAM,CAAC,MAAoD,IAAI,EAAE,CACnE,CAAC;YAEF,8CAA8C;YAC9C,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnE,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,CAAE,MAAM,CAAC,IAA2C,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1F,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAA6B,CAAC,CAAC;YAElC,OAAO,eAAoB,CAAC;SAC7B;QAAC,MAAM;YACN,MAAM,IAAI,qBAAqB,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;SACrE;IACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { IPowerOperationExecutor } from '../types';
|
|
5
|
+
export declare class Log {
|
|
6
|
+
private readonly _powerOperationExecutor;
|
|
7
|
+
private static _instance;
|
|
8
|
+
private constructor();
|
|
9
|
+
static createInstance(powerOperationExecutor: IPowerOperationExecutor): Log;
|
|
10
|
+
static resetInstance(): void;
|
|
11
|
+
private static _sendMessage;
|
|
12
|
+
static trackEvent(eventName: string, eventData?: object): Promise<void>;
|
|
13
|
+
static trackException(exception: object): Promise<void>;
|
|
14
|
+
static trackMetric(metricName: string, value: number): Promise<void>;
|
|
15
|
+
static startScenario(scenarioName: string): Promise<void>;
|
|
16
|
+
static endScenario(scenarioName: string): Promise<void>;
|
|
17
|
+
static setDefaultProperties(properties: object): Promise<void>;
|
|
18
|
+
private static _getInstance;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../../../src/internal/data/core/telemetry/log.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAYnD,qBAAa,GAAG;IAGM,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAF5D,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoB;IAE5C,OAAO;WAEO,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,GAAG,GAAG;WAYpE,aAAa,IAAI,IAAI;mBAId,YAAY;WA8BnB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;WAIhD,cAAc,CAAC,SAAS,EAAE,MAAM;WAIhC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;WAI7C,aAAa,CAAC,YAAY,EAAE,MAAM;WAIlC,WAAW,CAAC,YAAY,EAAE,MAAM;WAIhC,oBAAoB,CAAC,UAAU,EAAE,MAAM;IAIrD,OAAO,CAAC,MAAM,CAAC,YAAY;CAM5B"}
|