Update SQL Bindings API (#18748)

* refactor addSqlBindingQuickpick so they can be called using sql-bindings api
This commit is contained in:
Barbara Valdez
2022-03-17 00:21:49 -07:00
committed by GitHub
parent 6fad30bf3c
commit 80a9d94648
4 changed files with 254 additions and 204 deletions

View File

@@ -6,12 +6,12 @@ import * as vscode from 'vscode';
import { ITreeNodeInfo } from 'vscode-mssql';
import { IExtension, BindingType } from 'sql-bindings';
import { getAzdataApi, getVscodeMssqlApi } from './common/utils';
import { launchAddSqlBindingQuickpick } from './dialogs/addSqlBindingQuickpick';
import { addSqlBinding, createAzureFunction, getAzureFunctions } from './services/azureFunctionsService';
import { launchAddSqlBindingQuickpick } from './dialogs/addSqlBindingQuickpick';
import { promptForBindingType, promptAndUpdateConnectionStringSetting, promptForObjectName } from './common/azureFunctionsUtils';
export async function activate(context: vscode.ExtensionContext): Promise<IExtension> {
const vscodeMssqlApi = await getVscodeMssqlApi();
void vscode.commands.executeCommand('setContext', 'azdataAvailable', !!getAzdataApi());
// register the add sql binding command
context.subscriptions.push(vscode.commands.registerCommand('sqlBindings.addSqlBinding', async (uri: vscode.Uri | undefined) => { return launchAddSqlBindingQuickpick(uri); }));
@@ -37,6 +37,15 @@ export async function activate(context: vscode.ExtensionContext): Promise<IExten
addSqlBinding: async (bindingType: BindingType, filePath: string, functionName: string, objectName: string, connectionStringSetting: string) => {
return addSqlBinding(bindingType, filePath, functionName, objectName, connectionStringSetting);
},
promptForBindingType: async () => {
return promptForBindingType();
},
promptForObjectName: async (bindingType: BindingType) => {
return promptForObjectName(bindingType);
},
promptAndUpdateConnectionStringSetting: async (projectUri: vscode.Uri | undefined) => {
return promptAndUpdateConnectionStringSetting(projectUri);
},
getAzureFunctions: async (filePath: string) => {
return getAzureFunctions(filePath);
}