Extend sql bindings api (#19651)

This commit is contained in:
Barbara Valdez
2022-06-07 10:12:41 -07:00
committed by GitHub
parent 7007e18314
commit a73eb0386b
3 changed files with 12 additions and 3 deletions

View File

@@ -237,7 +237,7 @@ export function waitForNewHostFile(): IFileFunctionObject {
* Adds the required nuget package to the project
* @param selectedProjectFile is the users selected project file path
*/
export async function addNugetReferenceToProjectFile(selectedProjectFile: string): Promise<void> {
export async function addSqlNugetReferenceToProjectFile(selectedProjectFile: string): Promise<void> {
await utils.executeCommand(`dotnet add "${selectedProjectFile}" package ${constants.sqlExtensionPackageName} --prerelease`);
}
@@ -531,7 +531,7 @@ export async function promptAndUpdateConnectionStringSetting(projectUri: vscode.
}
}
// Add sql extension package reference to project. If the reference is already there, it doesn't get added again
await addNugetReferenceToProjectFile(projectUri.fsPath);
await addSqlNugetReferenceToProjectFile(projectUri.fsPath);
} else {
// if no AF project was found or there's more than one AF functions project in the workspace,
// ask for the user to input the setting name

View File

@@ -7,7 +7,7 @@ import { IConnectionInfo, ITreeNodeInfo } from 'vscode-mssql';
import { IExtension, BindingType, GetAzureFunctionsResult, ResultStatus, IConnectionStringInfo } from 'sql-bindings';
import { addSqlBinding, createAzureFunction, getAzureFunctions } from './services/azureFunctionsService';
import { launchAddSqlBindingQuickpick } from './dialogs/addSqlBindingQuickpick';
import { promptForBindingType, promptAndUpdateConnectionStringSetting, promptForObjectName } from './common/azureFunctionsUtils';
import { promptForBindingType, promptAndUpdateConnectionStringSetting, promptForObjectName, addSqlNugetReferenceToProjectFile } from './common/azureFunctionsUtils';
export async function activate(context: vscode.ExtensionContext): Promise<IExtension> {
// register the add sql binding command
@@ -34,6 +34,9 @@ export async function activate(context: vscode.ExtensionContext): Promise<IExten
},
getAzureFunctions: async (filePath: string): Promise<GetAzureFunctionsResult> => {
return getAzureFunctions(filePath);
},
addSqlNugetReferenceToProjectFile: async (projectFile: string): Promise<void> => {
return addSqlNugetReferenceToProjectFile(projectFile);
}
};
}

View File

@@ -63,6 +63,12 @@ declare module 'sql-bindings' {
* @returns array of names of Azure Functions in the file
*/
getAzureFunctions(filePath: string): Promise<GetAzureFunctionsResult>;
/**
* Adds the required nuget package to the project
* @param selectedProjectFile is the users selected project file path
*/
addSqlNugetReferenceToProjectFile(selectedProjectFile: string): Promise<void>
}
/**