@microsoft/power-apps 1.0.0 → 1.0.3

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.
Files changed (225) hide show
  1. package/README.md +6 -32
  2. package/lib/__tests__/DefaultPowerAppsBridge.test.d.ts +5 -0
  3. package/lib/__tests__/DefaultPowerAppsBridge.test.d.ts.map +1 -0
  4. package/lib/__tests__/DefaultPowerAppsBridge.test.js +173 -0
  5. package/lib/__tests__/DefaultPowerAppsBridge.test.js.map +1 -0
  6. package/lib/__tests__/connectorDataOperationExecutor.spec.d.ts +5 -0
  7. package/lib/__tests__/connectorDataOperationExecutor.spec.d.ts.map +1 -0
  8. package/lib/__tests__/{connectorDataOperation.spec.js → connectorDataOperationExecutor.spec.js} +99 -15
  9. package/lib/__tests__/connectorDataOperationExecutor.spec.js.map +1 -0
  10. package/lib/__tests__/dataverseDataOperationExecutor.spec.d.ts +5 -0
  11. package/lib/__tests__/dataverseDataOperationExecutor.spec.d.ts.map +1 -0
  12. package/lib/__tests__/{dataverseDataOperation.spec.js → dataverseDataOperationExecutor.spec.js} +28 -70
  13. package/lib/__tests__/dataverseDataOperationExecutor.spec.js.map +1 -0
  14. package/lib/__tests__/{dataverseDataOperation.spec.d.ts → mockDataOperationExecutor.spec.d.ts} +1 -1
  15. package/lib/__tests__/mockDataOperationExecutor.spec.d.ts.map +1 -0
  16. package/lib/__tests__/mockDataOperationExecutor.spec.js +51 -0
  17. package/lib/__tests__/mockDataOperationExecutor.spec.js.map +1 -0
  18. package/lib/__tests__/powerDataRuntimeInstance.test.js +2 -17
  19. package/lib/__tests__/powerDataRuntimeInstance.test.js.map +1 -1
  20. package/lib/__tests__/runtimeDataClient.spec.js +20 -0
  21. package/lib/__tests__/runtimeDataClient.spec.js.map +1 -1
  22. package/lib/__tests__/runtimeDataOperation.test.js +42 -41
  23. package/lib/__tests__/runtimeDataOperation.test.js.map +1 -1
  24. package/lib/app/App.Types.d.ts +28 -0
  25. package/lib/app/App.Types.d.ts.map +1 -0
  26. package/lib/{__tests__/connectorDataOperation.spec.d.ts → app/App.Types.js} +1 -1
  27. package/lib/app/App.Types.js.map +1 -0
  28. package/lib/app/Config.d.ts +6 -0
  29. package/lib/app/Config.d.ts.map +1 -0
  30. package/lib/app/Config.js +10 -0
  31. package/lib/app/Config.js.map +1 -0
  32. package/lib/app/ContextProvider.d.ts +6 -0
  33. package/lib/app/ContextProvider.d.ts.map +1 -0
  34. package/lib/app/ContextProvider.js +13 -0
  35. package/lib/app/ContextProvider.js.map +1 -0
  36. package/lib/app/index.d.ts +3 -1
  37. package/lib/app/index.d.ts.map +1 -1
  38. package/lib/app/index.js +2 -1
  39. package/lib/app/index.js.map +1 -1
  40. package/lib/data/executors/index.d.ts +6 -0
  41. package/lib/data/executors/index.d.ts.map +1 -0
  42. package/lib/data/executors/index.js +5 -0
  43. package/lib/data/executors/index.js.map +1 -0
  44. package/lib/data/metadata/dataverse/index.d.ts +6 -0
  45. package/lib/data/metadata/dataverse/index.d.ts.map +1 -0
  46. package/lib/data/metadata/dataverse/index.js +5 -0
  47. package/lib/data/metadata/dataverse/index.js.map +1 -0
  48. package/lib/data/powerAppsData.d.ts +3 -1
  49. package/lib/data/powerAppsData.d.ts.map +1 -1
  50. package/lib/data/powerAppsData.js +6 -5
  51. package/lib/data/powerAppsData.js.map +1 -1
  52. package/lib/internal/data/ConnectionUtils.js +1 -1
  53. package/lib/internal/data/ConnectionUtils.js.map +1 -1
  54. package/lib/internal/data/OperationExecutor.js +1 -1
  55. package/lib/internal/data/OperationExecutor.js.map +1 -1
  56. package/lib/internal/data/core/api/createRecord.d.ts.map +1 -1
  57. package/lib/internal/data/core/api/createRecord.js +1 -1
  58. package/lib/internal/data/core/api/createRecord.js.map +1 -1
  59. package/lib/internal/data/core/api/deleteRecord.js +1 -1
  60. package/lib/internal/data/core/api/deleteRecord.js.map +1 -1
  61. package/lib/internal/data/core/api/execute.js +1 -1
  62. package/lib/internal/data/core/api/execute.js.map +1 -1
  63. package/lib/internal/data/core/api/retrieveMultipleRecords.d.ts.map +1 -1
  64. package/lib/internal/data/core/api/retrieveMultipleRecords.js +1 -1
  65. package/lib/internal/data/core/api/retrieveMultipleRecords.js.map +1 -1
  66. package/lib/internal/data/core/api/retrieveRecord.d.ts.map +1 -1
  67. package/lib/internal/data/core/api/retrieveRecord.js +1 -1
  68. package/lib/internal/data/core/api/retrieveRecord.js.map +1 -1
  69. package/lib/internal/data/core/api/updateRecord.d.ts.map +1 -1
  70. package/lib/internal/data/core/api/updateRecord.js +1 -1
  71. package/lib/internal/data/core/api/updateRecord.js.map +1 -1
  72. package/lib/internal/data/core/common/types.d.ts +3 -10
  73. package/lib/internal/data/core/common/types.d.ts.map +1 -1
  74. package/lib/internal/data/core/common/types.js.map +1 -1
  75. package/lib/internal/data/core/data/{runtimeDataOperations.d.ts → defaultOperationOrchestrator.d.ts} +6 -12
  76. package/lib/internal/data/core/data/defaultOperationOrchestrator.d.ts.map +1 -0
  77. package/lib/internal/data/core/data/{runtimeDataOperations.js → defaultOperationOrchestrator.js} +14 -43
  78. package/lib/internal/data/core/data/defaultOperationOrchestrator.js.map +1 -0
  79. package/lib/internal/data/core/data/executors/__tests__/dataverseDataOperationExecutor.test.d.ts +5 -0
  80. package/lib/internal/data/core/data/executors/__tests__/dataverseDataOperationExecutor.test.d.ts.map +1 -0
  81. package/lib/internal/data/core/data/executors/__tests__/dataverseDataOperationExecutor.test.js +116 -0
  82. package/lib/internal/data/core/data/executors/__tests__/dataverseDataOperationExecutor.test.js.map +1 -0
  83. package/lib/internal/data/core/data/{connectorDataOperation.d.ts → executors/connectorDataOperationExecutor.d.ts} +22 -7
  84. package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.d.ts.map +1 -0
  85. package/lib/internal/data/core/data/{connectorDataOperation.js → executors/connectorDataOperationExecutor.js} +66 -30
  86. package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.js.map +1 -0
  87. package/lib/internal/data/core/data/{dataverseDataOperation.d.ts → executors/dataverseDataOperationExecutor.d.ts} +19 -27
  88. package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.d.ts.map +1 -0
  89. package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.js +458 -0
  90. package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.js.map +1 -0
  91. package/lib/internal/data/core/data/executors/index.d.ts +5 -0
  92. package/lib/internal/data/core/data/executors/index.d.ts.map +1 -0
  93. package/lib/internal/data/core/data/executors/index.js +5 -0
  94. package/lib/internal/data/core/data/executors/index.js.map +1 -0
  95. package/lib/internal/data/core/data/executors/mockDataOperationExecutor.d.ts +21 -0
  96. package/lib/internal/data/core/data/executors/mockDataOperationExecutor.d.ts.map +1 -0
  97. package/lib/internal/data/core/data/executors/mockDataOperationExecutor.js +75 -0
  98. package/lib/internal/data/core/data/executors/mockDataOperationExecutor.js.map +1 -0
  99. package/lib/internal/data/core/data/executors/shared/stringQueryOptions.d.ts +11 -0
  100. package/lib/internal/data/core/data/executors/shared/stringQueryOptions.d.ts.map +1 -0
  101. package/lib/internal/data/core/data/executors/shared/stringQueryOptions.js +38 -0
  102. package/lib/internal/data/core/data/executors/shared/stringQueryOptions.js.map +1 -0
  103. package/lib/internal/data/core/metadata/runtimeDataSourceService.d.ts.map +1 -1
  104. package/lib/internal/data/core/metadata/runtimeDataSourceService.js +2 -1
  105. package/lib/internal/data/core/metadata/runtimeDataSourceService.js.map +1 -1
  106. package/lib/internal/data/core/runtime/getRuntimeContext.d.ts +3 -2
  107. package/lib/internal/data/core/runtime/getRuntimeContext.d.ts.map +1 -1
  108. package/lib/internal/data/core/runtime/getRuntimeContext.js +16 -3
  109. package/lib/internal/data/core/runtime/getRuntimeContext.js.map +1 -1
  110. package/lib/internal/data/core/runtime/powerDataRuntime.d.ts +3 -11
  111. package/lib/internal/data/core/runtime/powerDataRuntime.d.ts.map +1 -1
  112. package/lib/internal/data/core/runtime/powerDataRuntime.js +6 -19
  113. package/lib/internal/data/core/runtime/powerDataRuntime.js.map +1 -1
  114. package/lib/internal/data/core/runtime/powerDataRuntimeInstance.d.ts +2 -3
  115. package/lib/internal/data/core/runtime/powerDataRuntimeInstance.d.ts.map +1 -1
  116. package/lib/internal/data/core/runtime/powerDataRuntimeInstance.js +1 -3
  117. package/lib/internal/data/core/runtime/powerDataRuntimeInstance.js.map +1 -1
  118. package/lib/internal/data/core/runtimeClient/runtimeDataClient.d.ts.map +1 -1
  119. package/lib/internal/data/core/runtimeClient/runtimeDataClient.js +1 -0
  120. package/lib/internal/data/core/runtimeClient/runtimeDataClient.js.map +1 -1
  121. package/lib/internal/data/core/telemetry/log.d.ts +7 -0
  122. package/lib/internal/data/core/telemetry/log.d.ts.map +1 -1
  123. package/lib/internal/data/core/telemetry/log.js +38 -1
  124. package/lib/internal/data/core/telemetry/log.js.map +1 -1
  125. package/lib/internal/data/core/types/dataverseMetadata.d.ts +408 -0
  126. package/lib/internal/data/core/types/dataverseMetadata.d.ts.map +1 -0
  127. package/lib/internal/data/core/types/dataverseMetadata.js +118 -0
  128. package/lib/internal/data/core/types/dataverseMetadata.js.map +1 -0
  129. package/lib/internal/data/core/types/index.d.ts +33 -2
  130. package/lib/internal/data/core/types/index.d.ts.map +1 -1
  131. package/lib/internal/data/core/types/index.js.map +1 -1
  132. package/lib/internal/data/index.d.ts +5 -0
  133. package/lib/internal/data/index.d.ts.map +1 -0
  134. package/lib/internal/data/index.js +5 -0
  135. package/lib/internal/data/index.js.map +1 -0
  136. package/lib/internal/plugins/DefaultPowerAppsBridge.d.ts +19 -0
  137. package/lib/internal/plugins/DefaultPowerAppsBridge.d.ts.map +1 -0
  138. package/lib/internal/plugins/DefaultPowerAppsBridge.js +97 -0
  139. package/lib/internal/plugins/DefaultPowerAppsBridge.js.map +1 -0
  140. package/lib/internal/plugins/PluginBridge.d.ts +14 -0
  141. package/lib/internal/plugins/PluginBridge.d.ts.map +1 -0
  142. package/lib/internal/plugins/PluginBridge.js +25 -0
  143. package/lib/internal/plugins/PluginBridge.js.map +1 -0
  144. package/lib/internal/plugins/SendMessage/CompatibleMessageReceiver.d.ts.map +1 -0
  145. package/lib/internal/{communication → plugins/SendMessage}/CompatibleMessageReceiver.js +4 -3
  146. package/lib/internal/plugins/SendMessage/CompatibleMessageReceiver.js.map +1 -0
  147. package/lib/internal/plugins/SendMessage/IncompatibleMessageReceiver.d.ts.map +1 -0
  148. package/lib/internal/plugins/SendMessage/IncompatibleMessageReceiver.js.map +1 -0
  149. package/lib/internal/plugins/SendMessage/MessageReceiver.Types.d.ts.map +1 -0
  150. package/lib/internal/plugins/SendMessage/MessageReceiver.Types.js.map +1 -0
  151. package/lib/internal/{communication → plugins/SendMessage}/SendMessage.d.ts +0 -1
  152. package/lib/internal/plugins/SendMessage/SendMessage.d.ts.map +1 -0
  153. package/lib/internal/{communication → plugins/SendMessage}/SendMessage.js +1 -2
  154. package/lib/internal/plugins/SendMessage/SendMessage.js.map +1 -0
  155. package/lib/internal/plugins/SendMessage/SendMessageOperation.d.ts.map +1 -0
  156. package/lib/internal/plugins/SendMessage/SendMessageOperation.js.map +1 -0
  157. package/lib/internal/plugins/SendMessage/index.d.ts +6 -0
  158. package/lib/internal/plugins/SendMessage/index.d.ts.map +1 -0
  159. package/lib/internal/plugins/SendMessage/index.js +5 -0
  160. package/lib/internal/plugins/SendMessage/index.js.map +1 -0
  161. package/lib/internal/plugins/index.d.ts +5 -0
  162. package/lib/internal/plugins/index.d.ts.map +1 -0
  163. package/lib/internal/plugins/index.js +5 -0
  164. package/lib/internal/plugins/index.js.map +1 -0
  165. package/lib/telemetry/Logger.types.d.ts +1 -1
  166. package/lib/telemetry/Logger.types.d.ts.map +1 -1
  167. package/lib/telemetry/LoggerManager.d.ts +2 -2
  168. package/lib/telemetry/LoggerManager.d.ts.map +1 -1
  169. package/lib/telemetry/LoggerManager.js +2 -2
  170. package/lib/telemetry/LoggerManager.js.map +1 -1
  171. package/lib/telemetry/Metrics.types.d.ts +4 -18
  172. package/lib/telemetry/Metrics.types.d.ts.map +1 -1
  173. package/lib/telemetry/Performance.d.ts +1 -1
  174. package/lib/telemetry/Performance.d.ts.map +1 -1
  175. package/lib/telemetry/Performance.js +1 -1
  176. package/lib/telemetry/Performance.js.map +1 -1
  177. package/lib/telemetry/index.d.ts +3 -1
  178. package/lib/telemetry/index.d.ts.map +1 -1
  179. package/lib/telemetry/index.js +4 -1
  180. package/lib/telemetry/index.js.map +1 -1
  181. package/package.json +14 -1
  182. package/lib/__tests__/connectorDataOperation.spec.d.ts.map +0 -1
  183. package/lib/__tests__/connectorDataOperation.spec.js.map +0 -1
  184. package/lib/__tests__/dataverseDataOperation.spec.d.ts.map +0 -1
  185. package/lib/__tests__/dataverseDataOperation.spec.js.map +0 -1
  186. package/lib/app/Lifecycle.d.ts +0 -9
  187. package/lib/app/Lifecycle.d.ts.map +0 -1
  188. package/lib/app/Lifecycle.js +0 -36
  189. package/lib/app/Lifecycle.js.map +0 -1
  190. package/lib/internal/communication/CompatibleMessageReceiver.d.ts.map +0 -1
  191. package/lib/internal/communication/CompatibleMessageReceiver.js.map +0 -1
  192. package/lib/internal/communication/IncompatibleMessageReceiver.d.ts.map +0 -1
  193. package/lib/internal/communication/IncompatibleMessageReceiver.js.map +0 -1
  194. package/lib/internal/communication/MessageReceiver.Types.d.ts.map +0 -1
  195. package/lib/internal/communication/MessageReceiver.Types.js.map +0 -1
  196. package/lib/internal/communication/SendMessage.d.ts.map +0 -1
  197. package/lib/internal/communication/SendMessage.js.map +0 -1
  198. package/lib/internal/communication/SendMessageOperation.d.ts.map +0 -1
  199. package/lib/internal/communication/SendMessageOperation.js.map +0 -1
  200. package/lib/internal/data/core/data/connectorDataOperation.d.ts.map +0 -1
  201. package/lib/internal/data/core/data/connectorDataOperation.js.map +0 -1
  202. package/lib/internal/data/core/data/dataverseDataOperation.d.ts.map +0 -1
  203. package/lib/internal/data/core/data/dataverseDataOperation.js +0 -508
  204. package/lib/internal/data/core/data/dataverseDataOperation.js.map +0 -1
  205. package/lib/internal/data/core/data/runtimeDataOperations.d.ts.map +0 -1
  206. package/lib/internal/data/core/data/runtimeDataOperations.js.map +0 -1
  207. package/lib/internal/data/core/runtime/initializeRuntime.d.ts +0 -13
  208. package/lib/internal/data/core/runtime/initializeRuntime.d.ts.map +0 -1
  209. package/lib/internal/data/core/runtime/initializeRuntime.js +0 -38
  210. package/lib/internal/data/core/runtime/initializeRuntime.js.map +0 -1
  211. package/lib/internal/plugin/PluginCommon.d.ts +0 -16
  212. package/lib/internal/plugin/PluginCommon.d.ts.map +0 -1
  213. package/lib/internal/plugin/PluginCommon.js +0 -114
  214. package/lib/internal/plugin/PluginCommon.js.map +0 -1
  215. package/lib/internal/plugin/PluginMobile.d.ts +0 -13
  216. package/lib/internal/plugin/PluginMobile.d.ts.map +0 -1
  217. package/lib/internal/plugin/PluginMobile.js +0 -109
  218. package/lib/internal/plugin/PluginMobile.js.map +0 -1
  219. /package/lib/internal/{communication → plugins/SendMessage}/CompatibleMessageReceiver.d.ts +0 -0
  220. /package/lib/internal/{communication → plugins/SendMessage}/IncompatibleMessageReceiver.d.ts +0 -0
  221. /package/lib/internal/{communication → plugins/SendMessage}/IncompatibleMessageReceiver.js +0 -0
  222. /package/lib/internal/{communication → plugins/SendMessage}/MessageReceiver.Types.d.ts +0 -0
  223. /package/lib/internal/{communication → plugins/SendMessage}/MessageReceiver.Types.js +0 -0
  224. /package/lib/internal/{communication → plugins/SendMessage}/SendMessageOperation.d.ts +0 -0
  225. /package/lib/internal/{communication → plugins/SendMessage}/SendMessageOperation.js +0 -0
@@ -1,9 +1,10 @@
1
1
  /*!
2
2
  * Copyright (C) Microsoft Corporation. All rights reserved.
3
3
  */
4
- import { HttpMethod, } from '../common/types';
5
- import { createErrorResponse, DataOperationErrorMessages, ErrorCodes, PowerDataRuntimeError, } from '../error/error';
6
- import { ConnectorOperationName } from '../error/constants';
4
+ import { HttpMethod, } from '../../common/types';
5
+ import { createErrorResponse, DataOperationErrorMessages, ErrorCodes, PowerDataRuntimeError, } from '../../error/error';
6
+ import { ConnectorOperationName } from '../../error/constants';
7
+ import { convertOptionsToQueryString } from './shared/stringQueryOptions';
7
8
  // =====================================
8
9
  // Main Class Implementation
9
10
  // =====================================
@@ -11,7 +12,7 @@ import { ConnectorOperationName } from '../error/constants';
11
12
  * ConnectorDataOperation provides functionality for performing CRUD operations
12
13
  * against connector data sources using the Runtime Data Client.
13
14
  */
14
- export class ConnectorDataOperation {
15
+ export class ConnectorDataOperationExecutor {
15
16
  // =====================================
16
17
  // Private Members
17
18
  // =====================================
@@ -78,7 +79,7 @@ export class ConnectorDataOperation {
78
79
  async retrieveRecordAsync(tableName, id, options) {
79
80
  try {
80
81
  const { dataClient, connectionReference } = await this._getClientsAndConnection(tableName);
81
- const requestUrl = await this._buildTableUrl(tableName, connectionReference, `/${id}${options}`);
82
+ const requestUrl = await this._buildTableUrl(tableName, connectionReference, `/${id}${convertOptionsToQueryString(options)}`);
82
83
  const result = await dataClient.retrieveDataAsync(requestUrl, connectionReference.apiId, tableName, HttpMethod.GET, undefined, // body
83
84
  { operationName: ConnectorOperationName.RetrieveRecord });
84
85
  return result;
@@ -93,7 +94,7 @@ export class ConnectorDataOperation {
93
94
  async retrieveMultipleRecordsAsync(tableName, options) {
94
95
  try {
95
96
  const { dataClient, connectionReference } = await this._getClientsAndConnection(tableName);
96
- const requestUrl = await this._buildTableUrl(tableName, connectionReference, options, false);
97
+ const requestUrl = await this._buildTableUrl(tableName, connectionReference, convertOptionsToQueryString(options), false);
97
98
  const result = await dataClient.retrieveDataAsync(requestUrl, connectionReference.apiId, tableName, HttpMethod.GET, undefined, // body
98
99
  { operationName: ConnectorOperationName.RetrieveMultipleRecords });
99
100
  return result;
@@ -180,22 +181,23 @@ export class ConnectorDataOperation {
180
181
  const dataSourceInfo = await this._connectionsService.getDataSource(tableName);
181
182
  const apiParams = dataSourceInfo?.apis?.[operationName]?.parameters || [];
182
183
  const rawParams = operation.connectorOperation?.parameters || [];
183
- let bodyValue = {};
184
- apiParams.forEach((param, index) => {
185
- if (typeof rawParams === 'object' && rawParams !== null) {
186
- if (apiParams[index].in === 'body') {
187
- const value = rawParams[param.name];
188
- if (param.name === 'body') {
189
- bodyValue = value;
190
- return;
191
- }
192
- if (value !== undefined && value !== null) {
193
- bodyValue[param.name] = value;
194
- }
195
- }
184
+ if (typeof rawParams !== 'object' || rawParams === null) {
185
+ return '{}';
186
+ }
187
+ // OpenAPI 2.0 allows only one body parameter per operation. The parameter's "name" field
188
+ // is just a label for documentation - the HTTP body should always be the schema value directly.
189
+ // Power Platform connectors use various names for body params (e.g., "body", "parameters",
190
+ // "workItem", "request"). The Azure DevOps connector, for example, uses "workItem" for
191
+ // CreateWorkItem and "parameters" for HttpRequest. Regardless of the name, we extract the
192
+ // value and send it directly as the HTTP body without wrapping.
193
+ const bodyParam = apiParams.find((param) => param.in === 'body');
194
+ if (bodyParam) {
195
+ const value = rawParams[bodyParam.name];
196
+ if (value !== undefined && value !== null) {
197
+ return JSON.stringify(value);
196
198
  }
197
- });
198
- return JSON.stringify(bodyValue);
199
+ }
200
+ return '{}';
199
201
  }
200
202
  /**
201
203
  * Builds the operation header for a given data operation if required.
@@ -376,19 +378,45 @@ export class ConnectorDataOperation {
376
378
  }
377
379
  /**
378
380
  * Builds the URL for standard operations
381
+ * Assumptions / Invariants:
382
+ * - The connector always defines a required path parameter for the connection id named 'connectionId'.
383
+ * - When a dataset is applicable, the parameter name is 'dataset'.
384
+ * - When a table is applicable, the parameter name is 'tableName'.
385
+ * - A lone string parameter maps to the first remaining (non-synthetic) required API parameter.
386
+ * - Array parameters map positionally to the remaining API parameters after filtering.
387
+ * - Object parameters map by (case-insensitive, hyphen/underscore agnostic) key.
388
+ * @param operation - The data operation containing connector operation details from runtime
389
+ * @param config - The connector operation configuration
390
+ * @param operationName - The name of the operation to be performed
391
+ * @param path - The path template for the operation
379
392
  */
380
393
  async _buildStandardOperationUrl(operation, config, operationName, path) {
381
394
  const dataSourceInfo = await this._connectionsService.getDataSource(config.tableName);
382
- const apiParams = dataSourceInfo.apis[operationName]?.parameters || [];
395
+ let apiParams = dataSourceInfo.apis[operationName]?.parameters || [];
396
+ if (apiParams.length > 0) {
397
+ // remove special/synthetic parameters that the executor handles automatically below
398
+ apiParams = apiParams.filter((param) => param.name !== 'connectionId' && param.name !== 'dataset' && param.name !== 'tableName');
399
+ }
383
400
  // Handle parameters that could be an object, array, or string
384
401
  const operationParams = operation.connectorOperation?.parameters;
385
- let rawParams = [config.connectionName];
402
+ const rawParamValues = {
403
+ connectionId: config.connectionName,
404
+ dataset:
405
+ // The dataset name needs to be double encoded for sharepoint, once here and then once in the HTTP pipeline
406
+ // CRUD operations already handle this, so we need to do the same here
407
+ config.apiId.indexOf('shared_sharepointonline') !== -1 && config.datasetName
408
+ ? encodeURIComponent(config.datasetName)
409
+ : config.datasetName,
410
+ tableName: config.tableName,
411
+ };
386
412
  // Handle different parameter types
387
413
  if (operationParams !== undefined) {
388
414
  if (typeof operationParams === 'string') {
389
415
  // Handle string parameter - often used for single parameter operations
390
416
  if (apiParams.length > 0) {
391
- rawParams.push(operationParams);
417
+ // Map to the first required API parameter or if there are no required parameters, the first parameter
418
+ const requiredParams = apiParams.filter((param) => param.required);
419
+ rawParamValues[requiredParams?.[0]?.name ?? apiParams[0].name] = operationParams;
392
420
  }
393
421
  }
394
422
  else if (typeof operationParams === 'object' && !Array.isArray(operationParams)) {
@@ -397,17 +425,21 @@ export class ConnectorDataOperation {
397
425
  if (operationParams) {
398
426
  const value = this._getNormalizedParamValue(operationParams, param.name);
399
427
  if (value !== undefined) {
400
- rawParams.push(value);
428
+ rawParamValues[param.name] = value;
401
429
  }
402
430
  }
403
431
  });
404
432
  }
405
433
  else if (Array.isArray(operationParams)) {
406
434
  // Handle array parameters - match by index
407
- rawParams = [config.connectionName, ...operationParams];
435
+ apiParams.forEach((param, index) => {
436
+ rawParamValues[param.name] = operationParams[index];
437
+ });
408
438
  }
409
439
  }
410
- const { processedPath, queryParams } = this._processParameters(apiParams, rawParams, path);
440
+ const { processedPath, queryParams } = this._processParameters(
441
+ // deliberately pass the unfiltered list to _processParameters so path placeholders still see synthetic params.
442
+ dataSourceInfo.apis[operationName]?.parameters || [], rawParamValues, path);
411
443
  const separator = queryParams ? (processedPath.includes('?') ? '&' : '?') : '';
412
444
  return `${config.runtimeUrl}${processedPath}${separator}${queryParams}`;
413
445
  }
@@ -421,13 +453,17 @@ export class ConnectorDataOperation {
421
453
  }
422
454
  /**
423
455
  * Processes operation parameters into path and query parameters
456
+ * @param apiParams - The API parameter specifications from the data source info
457
+ * @param rawParamValues - The raw parameter values provided in the operation at runtime
458
+ * @param path - The initial path template
459
+ * @returns An object containing the processed path and query parameters
424
460
  */
425
- _processParameters(apiParams, rawParams, path) {
461
+ _processParameters(apiParams, rawParamValues, path) {
426
462
  const usedParams = new Set();
427
463
  let processedPath = path;
428
464
  const queryParams = [];
429
465
  apiParams.forEach((param, index) => {
430
- const paramValue = rawParams[index];
466
+ const paramValue = rawParamValues[param.name];
431
467
  if (paramValue === undefined) {
432
468
  return;
433
469
  }
@@ -497,4 +533,4 @@ export class ConnectorDataOperation {
497
533
  return `${urlBuilder.runtimeUrl}/${urlBuilder.connectionName}/tables/${urlBuilder.tableId}/items${encodedOptions}`;
498
534
  }
499
535
  }
500
- //# sourceMappingURL=connectorDataOperation.js.map
536
+ //# sourceMappingURL=connectorDataOperationExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectorDataOperationExecutor.js","sourceRoot":"","sources":["../../../../../../src/internal/data/core/data/executors/connectorDataOperationExecutor.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  /*!
2
2
  * Copyright (C) Microsoft Corporation. All rights reserved.
3
3
  */
4
- import { IRuntimeClientProvider, IXrmContext } from '../common/types';
5
- import { IDataOperation, IDataSourceInfo, IOperationResult } from '../types';
6
- import { RuntimeDataSourceService } from '../metadata/runtimeDataSourceService';
4
+ import { IRuntimeClientProvider } from '../../common/types';
5
+ import type { IDataOperation, IDataOperationExecutor, IDataSourceInfo, IOperationOptions, IOperationResult } from '../../types';
7
6
  export declare const ODATA_CONTEXT = "@odata.context";
8
7
  export declare const ODATA_NEXT_LINK = "@odata.nextLink";
9
8
  export declare const CRM_TOTAL_RECORD_COUNT = "@Microsoft.Dynamics.CRM.totalrecordcount";
@@ -13,12 +12,10 @@ export declare const CRM_GLOBAL_METADATA_VERSION = "@Microsoft.Dynamics.CRM.glob
13
12
  * DataverseDataOperation provides functionality for performing CRUD operations
14
13
  * against the Dataverse data source using the XRM WebApi or runtime metadata client.
15
14
  */
16
- export declare class DataverseDataOperation {
17
- private readonly _xrm;
18
- private readonly _dataverseDataSourceService;
15
+ export declare class DataverseDataOperationExecutor implements IDataOperationExecutor {
19
16
  private readonly _clientProvider;
20
17
  private _databaseReferences;
21
- constructor(xrm: IXrmContext, dataverseDataSourceService: RuntimeDataSourceService, clientProvider: IRuntimeClientProvider);
18
+ constructor(clientProvider: IRuntimeClientProvider);
22
19
  /**
23
20
  * Creates a new record in Dataverse
24
21
  * @param tableName - The name of the table
@@ -48,7 +45,7 @@ export declare class DataverseDataOperation {
48
45
  * @param options - The retrieval options
49
46
  * @returns Promise resolving to operation result
50
47
  */
51
- retrieveRecordAsync<TResponse>(tableName: string, id: string, options: string, maxPageSize?: number): Promise<IOperationResult<TResponse>>;
48
+ retrieveRecordAsync<TResponse>(tableName: string, id: string, options?: IOperationOptions): Promise<IOperationResult<TResponse>>;
52
49
  /**
53
50
  * Retrieves multiple records from Dataverse
54
51
  * @param tableName - The name of the table
@@ -56,13 +53,14 @@ export declare class DataverseDataOperation {
56
53
  * @param maxPageSize - Optional maximum page size
57
54
  * @returns Promise resolving to operation result
58
55
  */
59
- retrieveMultipleRecordsAsync<TResponse>(tableName: string, options: string, maxPageSize?: number): Promise<IOperationResult<TResponse[]>>;
56
+ retrieveMultipleRecordsAsync<TResponse>(tableName: string, options?: IOperationOptions): Promise<IOperationResult<TResponse[]>>;
60
57
  /**
61
58
  * Executes a custom Dataverse operation
62
59
  * @param operation - The operation to execute
63
60
  * @returns Promise resolving to operation result
64
61
  */
65
62
  executeAsync<TRequest, TResponse>(operation: IDataOperation<TRequest>): Promise<IOperationResult<TResponse>>;
63
+ private _getEntityMetadata;
66
64
  /**
67
65
  * Returns the database references for Dataverse, grouped by environment/database.
68
66
  * These come from the launch app response via runtime metadata client.
@@ -73,23 +71,6 @@ export declare class DataverseDataOperation {
73
71
  */
74
72
  private _loadDatabaseReferencesFromRuntime;
75
73
  private _extractInstanceUrlFromRuntimeUrl;
76
- /**
77
- * Validates operation parameters
78
- * @param params - The parameters to validate
79
- * @throws Error if validation fails
80
- */
81
- private _validateParams;
82
- /**
83
- * Creates a success result object
84
- * @param data - The response data
85
- * @param totalCount - Optional total count for multiple record operations
86
- * @returns IDataOperationResult with success status
87
- */
88
- private _createSuccessResult;
89
- /**
90
- * Helper to check if XRM context is present and valid
91
- */
92
- private _hasCrm;
93
74
  /**
94
75
  * Helper to get a native data client and database reference
95
76
  */
@@ -107,10 +88,21 @@ export declare class DataverseDataOperation {
107
88
  * Helper to get the Dataverse datasourceinfo from databaseReferences
108
89
  */
109
90
  private _getDataverseDataSourceInfo;
91
+ /**
92
+ * Helper to construct the Dataverse API URL using instanceUrl if available, otherwise fallback to runtimeUrl.
93
+ */
94
+ private _getInstanceUrl;
110
95
  /**
111
96
  * Helper to construct the Dataverse API URL using instanceUrl if available, otherwise fallback to runtimeUrl.
112
97
  */
113
98
  private _getDataverseRequestUrl;
99
+ /**
100
+ * Constructs GET request URL for fetching metadata using options object.
101
+ * @param dataSourceInfo - The data source information for the Dataverse table.
102
+ * @param options - The options for the metadata request.
103
+ * @returns The constructed metadata request URL.
104
+ */
105
+ private _generateMetadataRequestUrl;
114
106
  }
115
107
  export interface ILinkedEnvironmentMetadata {
116
108
  resourceId: string;
@@ -161,4 +153,4 @@ export type DatabaseReferences = {
161
153
  [key: string]: IDatabaseReference;
162
154
  };
163
155
  export {};
164
- //# sourceMappingURL=dataverseDataOperation.d.ts.map
156
+ //# sourceMappingURL=dataverseDataOperationExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataverseDataOperationExecutor.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/data/core/data/executors/dataverseDataOperationExecutor.ts"],"names":[],"mappings":"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"}