in apps/Standalone/src/templates/app/TemplatesStandard.tsx [377:554]
items: getLogicAppsCategories(),
},
}}
/>
)}
</div>
</TemplatesDataProvider>
</TemplatesDesignerProvider>
);
};
const apiVersion = '2020-06-01';
const httpClient = new HttpClient();
const getServices = (
siteResourceId: string,
workflowApp: WorkflowApp | undefined,
addConnection: (data: ConnectionAndAppSetting) => Promise<void>,
getConfiguration: (connectionId: string) => Promise<any>,
tenantId: string | undefined,
objectId: string | undefined,
location: string,
appSettings: Record<string, string>,
getConnectionsData: () => ConnectionsData
): any => {
const armUrl = 'https://management.azure.com';
const baseUrl = `${armUrl}${siteResourceId}/hostruntime/runtime/webhooks/workflow/api/management`;
const defaultServiceParams = { baseUrl, httpClient, apiVersion };
const gatewayService = new BaseGatewayService({
baseUrl: armUrl,
httpClient,
apiVersions: {
subscription: apiVersion,
gateway: '2016-06-01',
},
});
const tenantService = new BaseTenantService({
baseUrl: armUrl,
httpClient,
apiVersion: '2017-08-01',
});
const operationManifestService = new StandardOperationManifestService(defaultServiceParams);
const resourceService = new BaseResourceService({ baseUrl: armUrl, httpClient, apiVersion });
const templateResourceService = new BaseTemplateResourceService({ baseUrl: armUrl, httpClient, apiVersion: '2025-06-01-preview' });
const { connectionService, oAuthService, connectorService, workflowService, templateService } = getResourceBasedServices(
siteResourceId,
workflowApp,
addConnection,
getConfiguration,
tenantId,
objectId,
location,
appSettings,
getConnectionsData
);
return {
connectionService,
gatewayService,
tenantService,
oAuthService,
operationManifestService,
templateService,
workflowService,
connectorService,
resourceService,
templateResourceService,
};
};
const getResourceBasedServices = (
siteResourceId: string,
workflowApp: WorkflowApp | undefined,
addConnection: (data: ConnectionAndAppSetting) => Promise<void>,
getConfiguration: (connectionId: string) => Promise<any>,
tenantId: string | undefined,
objectId: string | undefined,
location: string,
appSettings: Record<string, string>,
getConnectionsData: () => ConnectionsData
): any => {
const armUrl = 'https://management.azure.com';
const baseUrl = `${armUrl}${siteResourceId}/hostruntime/runtime/webhooks/workflow/api/management`;
const { subscriptionId, resourceGroup, resourceName } = new ArmParser(siteResourceId ?? '');
const queryClient = getReactQueryClient();
const defaultServiceParams = { baseUrl, httpClient, apiVersion };
const armServiceParams = {
...defaultServiceParams,
baseUrl: armUrl,
siteResourceId,
};
const connectionService = new StandardConnectionService({
...defaultServiceParams,
apiHubServiceDetails: {
apiVersion: '2018-07-01-preview',
baseUrl: armUrl,
subscriptionId,
resourceGroup,
location,
tenantId,
httpClient,
},
workflowAppDetails: { appName: resourceName, identity: workflowApp?.identity as any },
readConnections: () => Promise.resolve(getConnectionsData() as any),
writeConnection: addConnection as any,
});
const oAuthService = new StandaloneOAuthService({
...defaultServiceParams,
apiVersion: '2018-07-01-preview',
subscriptionId,
resourceGroup,
location,
tenantId,
objectId,
});
const apiManagementService = new BaseApiManagementService({
apiVersion: '2021-08-01',
baseUrl,
subscriptionId,
httpClient,
queryClient,
});
const childWorkflowService = new ChildWorkflowService({
apiVersion,
baseUrl: armUrl,
siteResourceId,
httpClient,
workflowName: 'default',
});
const artifactService = new ArtifactService({
...armServiceParams,
siteResourceId,
integrationAccountCallbackUrl: appSettings['WORKFLOW_INTEGRATION_ACCOUNT_CALLBACK_URL'],
});
const appService = new BaseAppServiceService({
baseUrl: armUrl,
apiVersion,
subscriptionId,
httpClient,
});
const connectorService = new StandardConnectorService({
...defaultServiceParams,
clientSupportedOperations: [
['connectionProviders/localWorkflowOperation', 'invokeWorkflow'],
['connectionProviders/xmlOperations', 'xmlValidation'],
['connectionProviders/xmlOperations', 'xmlTransform'],
['connectionProviders/liquidOperations', 'liquidJsonToJson'],
['connectionProviders/liquidOperations', 'liquidJsonToText'],
['connectionProviders/liquidOperations', 'liquidXmlToJson'],
['connectionProviders/liquidOperations', 'liquidXmlToText'],
['connectionProviders/flatFileOperations', 'flatFileDecoding'],
['connectionProviders/flatFileOperations', 'flatFileEncoding'],
['connectionProviders/swiftOperations', 'SwiftDecode'],
['connectionProviders/swiftOperations', 'SwiftEncode'],
['/connectionProviders/apiManagementOperation', 'apiManagement'],
['connectionProviders/http', 'httpswaggeraction'],
['connectionProviders/http', 'httpswaggertrigger'],
].map(([connectorId, operationId]) => ({ connectorId, operationId })),
getConfiguration,
schemaClient: {},
valuesClient: {
getWorkflows: () => childWorkflowService.getWorkflowsWithRequestTrigger(),
getMapArtifacts: (args: any) => {
const { mapType, mapSource } = args.parameters;
return artifactService.getMapArtifacts(mapType, mapSource);
},
getSwaggerOperations: (args: any) => {
const { parameters } = args;
return appService.getOperations(parameters.swaggerUrl);
},
getSchemaArtifacts: (args: any) => artifactService.getSchemaArtifacts(args.parameters.schemaSource),
getApimOperations: (args: any) => {
const { configuration } = args;
if (!configuration?.connection?.apiId) {