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 * Adds the required nuget package to the project
* @param selectedProjectFile is the users selected project file path * @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`); 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 // 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 { } else {
// if no AF project was found or there's more than one AF functions project in the workspace, // 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 // 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 { IExtension, BindingType, GetAzureFunctionsResult, ResultStatus, IConnectionStringInfo } from 'sql-bindings';
import { addSqlBinding, createAzureFunction, getAzureFunctions } from './services/azureFunctionsService'; import { addSqlBinding, createAzureFunction, getAzureFunctions } from './services/azureFunctionsService';
import { launchAddSqlBindingQuickpick } from './dialogs/addSqlBindingQuickpick'; 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> { export async function activate(context: vscode.ExtensionContext): Promise<IExtension> {
// register the add sql binding command // 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> => { getAzureFunctions: async (filePath: string): Promise<GetAzureFunctionsResult> => {
return getAzureFunctions(filePath); 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 * @returns array of names of Azure Functions in the file
*/ */
getAzureFunctions(filePath: string): Promise<GetAzureFunctionsResult>; 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>
} }
/** /**