sql-database-projects dialog completion cleanup (#17525)

This commit is contained in:
Charles Gagnon
2021-10-28 13:51:48 -07:00
committed by GitHub
parent 114a768634
commit 00e5380331
7 changed files with 44 additions and 22 deletions

View File

@@ -54,7 +54,7 @@ export default class MainController implements vscode.Disposable {
vscode.commands.registerCommand('sqlDatabaseProjects.properties', async (node: WorkspaceTreeItem) => { return vscode.window.showErrorMessage(`Properties not yet implemented: ${node.element.uri.path}`); }); // TODO
vscode.commands.registerCommand('sqlDatabaseProjects.build', async (node: WorkspaceTreeItem) => { return this.projectsController.buildProject(node); });
vscode.commands.registerCommand('sqlDatabaseProjects.publish', async (node: WorkspaceTreeItem) => { this.projectsController.publishProject(node); });
vscode.commands.registerCommand('sqlDatabaseProjects.publish', async (node: WorkspaceTreeItem) => { return this.projectsController.publishProject(node); });
vscode.commands.registerCommand('sqlDatabaseProjects.schemaCompare', async (node: WorkspaceTreeItem) => { return this.projectsController.schemaCompare(node); });
vscode.commands.registerCommand('sqlDatabaseProjects.createProjectFromDatabase', async (context: azdataType.IConnectionProfile | vscodeMssql.ITreeNodeInfo | undefined) => { return this.projectsController.createProjectFromDatabase(context); });
vscode.commands.registerCommand('sqlDatabaseProjects.generateProjectFromOpenApiSpec', async () => { return this.projectsController.generateProjectFromOpenApiSpec(); });

View File

@@ -300,13 +300,13 @@ export class ProjectsController {
* Builds and publishes a project
* @param treeNode a treeItem in a project's hierarchy, to be used to obtain a Project
*/
public publishProject(treeNode: dataworkspace.WorkspaceTreeItem): PublishDatabaseDialog;
public async publishProject(treeNode: dataworkspace.WorkspaceTreeItem): Promise<void>;
/**
* Builds and publishes a project
* @param project Project to be built and published
*/
public publishProject(project: Project): PublishDatabaseDialog;
public publishProject(context: Project | dataworkspace.WorkspaceTreeItem): PublishDatabaseDialog | undefined {
public async publishProject(project: Project): Promise<void>;
public async publishProject(context: Project | dataworkspace.WorkspaceTreeItem): Promise<void> {
const project: Project = this.getProjectFromContext(context);
if (utils.getAzdataApi()) {
let publishDatabaseDialog = this.getPublishDialog(project);
@@ -317,10 +317,9 @@ export class ProjectsController {
publishDatabaseDialog.openDialog();
return publishDatabaseDialog;
return publishDatabaseDialog.waitForClose();
} else {
void launchPublishDatabaseQuickpick(project, this);
return undefined;
return launchPublishDatabaseQuickpick(project, this);
}
}