From 14b534eb64f12b78f660a6a02f47ed248e218e39 Mon Sep 17 00:00:00 2001 From: nasc17 <69922333+nasc17@users.noreply.github.com> Date: Tue, 15 Sep 2020 14:53:00 -0700 Subject: [PATCH] Nasc/delete instance code removal (#12307) * Formatted page * Removed ResourceHealthPage from the dashboard * Deleted files that no longer applies to the public preview backend * shouldn't be able to open the postgres dashboard --- .../dashboards/postgres/postgresBackupPage.ts | 31 ------------------- .../postgres/postgresComputeStoragePage.ts | 31 ------------------- .../postgres/postgresNetworkingPage.ts | 31 ------------------- .../postgres/postgresOverviewPage.ts | 16 +++++----- extensions/azdata/src/azdata.ts | 3 ++ extensions/azdata/src/extension.ts | 4 +++ extensions/azdata/src/typings/azdata-ext.d.ts | 1 + 7 files changed, 17 insertions(+), 100 deletions(-) delete mode 100644 extensions/arc/src/ui/dashboards/postgres/postgresBackupPage.ts delete mode 100644 extensions/arc/src/ui/dashboards/postgres/postgresComputeStoragePage.ts delete mode 100644 extensions/arc/src/ui/dashboards/postgres/postgresNetworkingPage.ts diff --git a/extensions/arc/src/ui/dashboards/postgres/postgresBackupPage.ts b/extensions/arc/src/ui/dashboards/postgres/postgresBackupPage.ts deleted file mode 100644 index e0cccd65df..0000000000 --- a/extensions/arc/src/ui/dashboards/postgres/postgresBackupPage.ts +++ /dev/null @@ -1,31 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as azdata from 'azdata'; -import * as loc from '../../../localizedConstants'; -import { IconPathHelper } from '../../../constants'; -import { DashboardPage } from '../../components/dashboardPage'; - -export class PostgresBackupPage extends DashboardPage { - protected get title(): string { - return loc.backup; - } - - protected get id(): string { - return 'postgres-backup'; - } - - protected get icon(): { dark: string; light: string; } { - return IconPathHelper.backup; - } - - protected get container(): azdata.Component { - return this.modelView.modelBuilder.text().withProperties({ value: loc.backup }).component(); - } - - protected get toolbarContainer(): azdata.ToolbarContainer { - return this.modelView.modelBuilder.toolbarContainer().component(); - } -} diff --git a/extensions/arc/src/ui/dashboards/postgres/postgresComputeStoragePage.ts b/extensions/arc/src/ui/dashboards/postgres/postgresComputeStoragePage.ts deleted file mode 100644 index f01148cb3d..0000000000 --- a/extensions/arc/src/ui/dashboards/postgres/postgresComputeStoragePage.ts +++ /dev/null @@ -1,31 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as azdata from 'azdata'; -import * as loc from '../../../localizedConstants'; -import { IconPathHelper } from '../../../constants'; -import { DashboardPage } from '../../components/dashboardPage'; - -export class PostgresComputeStoragePage extends DashboardPage { - protected get title(): string { - return loc.computeAndStorage; - } - - protected get id(): string { - return 'postgres-compute-storage'; - } - - protected get icon(): { dark: string; light: string; } { - return IconPathHelper.computeStorage; - } - - protected get container(): azdata.Component { - return this.modelView.modelBuilder.text().withProperties({ value: loc.computeAndStorage }).component(); - } - - protected get toolbarContainer(): azdata.ToolbarContainer { - return this.modelView.modelBuilder.toolbarContainer().component(); - } -} diff --git a/extensions/arc/src/ui/dashboards/postgres/postgresNetworkingPage.ts b/extensions/arc/src/ui/dashboards/postgres/postgresNetworkingPage.ts deleted file mode 100644 index ae91757a42..0000000000 --- a/extensions/arc/src/ui/dashboards/postgres/postgresNetworkingPage.ts +++ /dev/null @@ -1,31 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as azdata from 'azdata'; -import * as loc from '../../../localizedConstants'; -import { IconPathHelper } from '../../../constants'; -import { DashboardPage } from '../../components/dashboardPage'; - -export class PostgresNetworkingPage extends DashboardPage { - protected get title(): string { - return loc.networking; - } - - protected get id(): string { - return 'postgres-networking'; - } - - protected get icon(): { dark: string; light: string; } { - return IconPathHelper.networking; - } - - protected get container(): azdata.Component { - return this.modelView.modelBuilder.text().withProperties({ value: loc.networking }).component(); - } - - protected get toolbarContainer(): azdata.ToolbarContainer { - return this.modelView.modelBuilder.toolbarContainer().component(); - } -} diff --git a/extensions/arc/src/ui/dashboards/postgres/postgresOverviewPage.ts b/extensions/arc/src/ui/dashboards/postgres/postgresOverviewPage.ts index 1b3c0c6e83..e186a47ab6 100644 --- a/extensions/arc/src/ui/dashboards/postgres/postgresOverviewPage.ts +++ b/extensions/arc/src/ui/dashboards/postgres/postgresOverviewPage.ts @@ -5,12 +5,13 @@ import * as vscode from 'vscode'; import * as azdata from 'azdata'; +import * as azdataExt from 'azdata-ext'; import * as loc from '../../../localizedConstants'; import { IconPathHelper, cssStyles, Endpoints } from '../../../constants'; import { DashboardPage } from '../../components/dashboardPage'; import { ControllerModel } from '../../../models/controllerModel'; import { PostgresModel } from '../../../models/postgresModel'; -import { promptAndConfirmPassword } from '../../../common/utils'; +import { promptAndConfirmPassword, promptForResourceDeletion } from '../../../common/utils'; export class PostgresOverviewPage extends DashboardPage { @@ -22,8 +23,11 @@ export class PostgresOverviewPage extends DashboardPage { private kibanaLink?: azdata.HyperlinkComponent; private grafanaLink?: azdata.HyperlinkComponent; + private readonly _azdataApi: azdataExt.IExtension; + constructor(protected modelView: azdata.ModelView, private _controllerModel: ControllerModel, private _postgresModel: PostgresModel) { super(modelView); + this._azdataApi = vscode.extensions.getExtension(azdataExt.extension.name)?.exports; this.disposables.push( this._controllerModel.onEndpointsUpdated(() => this.eventuallyRunOnInitialized(() => this.handleEndpointsUpdated())), @@ -170,13 +174,11 @@ export class PostgresOverviewPage extends DashboardPage { deleteButton.onDidClick(async () => { deleteButton.enabled = false; try { - /* - if (await promptForResourceDeletion(this._postgresModel.namespace, this._postgresModel.name)) { - await this._postgresModel.delete(); - await this._controllerModel.deleteRegistration(ResourceType.postgresInstances, this._postgresModel.namespace, this._postgresModel.name); - vscode.window.showInformationMessage(loc.resourceDeleted(this._postgresModel.fullName)); + if (await promptForResourceDeletion(this._postgresModel.info.name)) { + await this._azdataApi.azdata.arc.postgres.server.delete(this._postgresModel.info.name); + await this._controllerModel.refreshTreeNode(); + vscode.window.showInformationMessage(loc.resourceDeleted(this._postgresModel.info.name)); } - */ } catch (error) { vscode.window.showErrorMessage(loc.resourceDeletionFailed(this._postgresModel.info.name, error)); } finally { diff --git a/extensions/azdata/src/azdata.ts b/extensions/azdata/src/azdata.ts index 0c17a60a9b..b66b526230 100644 --- a/extensions/azdata/src/azdata.ts +++ b/extensions/azdata/src/azdata.ts @@ -78,6 +78,9 @@ export class AzdataTool implements IAzdataTool { }, postgres: { server: { + delete: async (name: string) => { + return this.executeCommand(['arc', 'postgres', 'server', 'delete', '-n', name]); + }, list: async () => { return this.executeCommand(['arc', 'postgres', 'server', 'list']); }, diff --git a/extensions/azdata/src/extension.ts b/extensions/azdata/src/extension.ts index a16d5a1f3e..6a29f61ffb 100644 --- a/extensions/azdata/src/extension.ts +++ b/extensions/azdata/src/extension.ts @@ -85,6 +85,10 @@ export async function activate(context: vscode.ExtensionContext): Promise { + await throwIfNoAzdataOrEulaNotAccepted(); + return localAzdata!.arc.postgres.server.delete(name); + }, list: async () => { await throwIfNoAzdataOrEulaNotAccepted(); return localAzdata!.arc.postgres.server.list(); diff --git a/extensions/azdata/src/typings/azdata-ext.d.ts b/extensions/azdata/src/typings/azdata-ext.d.ts index c86769fcc4..c25064880e 100644 --- a/extensions/azdata/src/typings/azdata-ext.d.ts +++ b/extensions/azdata/src/typings/azdata-ext.d.ts @@ -228,6 +228,7 @@ declare module 'azdata-ext' { }, postgres: { server: { + delete(name: string): Promise>, list(): Promise>, show(name: string): Promise>, edit(args: {