From c6ce4a2d6e155e8896cd2ff900a5c9682dfbb279 Mon Sep 17 00:00:00 2001 From: wenyutang Date: Fri, 14 Feb 2025 14:20:33 +0800 Subject: [PATCH] perf: update the code according to the comments --- src/constants.ts | 14 +++++++------- src/explorer/ApiManagementProvider.ts | 7 ------- src/explorer/AzureAccountTreeItem.ts | 14 +++----------- src/extension.ts | 6 +++--- src/extensionVariables.ts | 4 ++-- src/utils/azureClientUtil.ts | 3 +-- test/createService.test.ts | 2 -- 7 files changed, 16 insertions(+), 34 deletions(-) diff --git a/src/constants.ts b/src/constants.ts index 53bf912..744aeef 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -40,13 +40,13 @@ export enum GatewayKeyType { } export const APIMAccountCommandId = { - createAzureAccount: "Create an Azure Account...", - createAzureStudentAccount: "Create an Azure for Students Account...", - accountLoading: "azureManagementAccountLoading", - accountSignIn: "azureManagementAccountSignIn", - accountSigningIn: "azureManagementAccountSigningIn", - accountSelectTenant: "azureManagementAccountSelectTenant", - accountError: "AzureAccountError", + createAzureAccount: "azureApiManagementCreateAzureAccount", + createAzureStudentAccount: "azureApiManagementCreateAzureStudentAccount", + accountLoading: "azureApiManagementAccountLoading", + accountSignIn: "azureApiManagementAccountSignIn", + accountSigningIn: "azureApiManagementAccountSigningIn", + accountSelectTenant: "azureApiManagementAccountSelectTenant", + accountError: "azureApiManagementAccountError", } export const AzureAccountUrl = { diff --git a/src/explorer/ApiManagementProvider.ts b/src/explorer/ApiManagementProvider.ts index 02c960a..850a1f3 100644 --- a/src/explorer/ApiManagementProvider.ts +++ b/src/explorer/ApiManagementProvider.ts @@ -18,13 +18,6 @@ import { getWorkspaceSetting, updateGlobalSetting } from '../vsCodeConfig/settin import { ServiceTreeItem } from './ServiceTreeItem'; import { treeUtils } from '../utils/treeUtils'; -export function createSubscriptionTreeItem( - parent: AzExtParentTreeItem, - subscription: ISubscriptionContext, -): AzExtTreeItem { - return new ApiManagementProvider(parent, subscription); -} - export class ApiManagementProvider extends SubscriptionTreeItemBase { public readonly childTypeLabel: string = localize('azureApiManagement.ApimService', 'API Management Service'); diff --git a/src/explorer/AzureAccountTreeItem.ts b/src/explorer/AzureAccountTreeItem.ts index 8e74c90..983bf39 100644 --- a/src/explorer/AzureAccountTreeItem.ts +++ b/src/explorer/AzureAccountTreeItem.ts @@ -11,13 +11,7 @@ import { GeneralUtils } from "../utils/generalUtils"; import { AzureAuth } from "../azure/azureLogin/azureAuth"; import { APIMAccountCommandId } from "../constants"; import { Subscription } from "@azure/arm-resources-subscriptions"; -import { createSubscriptionTreeItem } from "./ApiManagementProvider"; - -export function createAzureAccountTreeItem( - sessionProvider: AzureSessionProvider, -): AzExtParentTreeItem & { dispose(): unknown } { - return new AzureAccountTreeItem(sessionProvider); -} +import { ApiManagementProvider } from "./ApiManagementProvider"; export class AzureAccountTreeItem extends AzExtParentTreeItem { private subscriptionTreeItems: AzExtTreeItem[] | undefined; @@ -46,9 +40,7 @@ export class AzureAccountTreeItem extends AzExtParentTreeItem { } // no need to sort the array - public compareChildrenImpl(item1: AzExtTreeItem, item2: AzExtTreeItem): number { - item1; - item2; + public compareChildrenImpl(_item1: AzExtTreeItem, _item2: AzExtTreeItem): number { return 0; } @@ -173,7 +165,7 @@ export class AzureAccountTreeItem extends AzExtParentTreeItem { session.result, subscription, ); - return await createSubscriptionTreeItem(this, subscriptionContext); + return new ApiManagementProvider(this, subscriptionContext); } }), ); diff --git a/src/extension.ts b/src/extension.ts index 5c0eebe..3e10e6d 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -51,7 +51,7 @@ import { AuthorizationProvidersTreeItem } from './explorer/AuthorizationProvider import { AuthorizationProviderTreeItem } from './explorer/AuthorizationProviderTreeItem'; import { AuthorizationsTreeItem } from './explorer/AuthorizationsTreeItem'; import { AuthorizationTreeItem } from './explorer/AuthorizationTreeItem'; -import { createAzureAccountTreeItem } from './explorer/AzureAccountTreeItem'; +import { AzureAccountTreeItem } from './explorer/AzureAccountTreeItem'; import { ApiResourceEditor } from './explorer/editors/arm/ApiResourceEditor'; import { AuthorizationAccessPolicyResourceEditor } from './explorer/editors/arm/AuthorizationAccessPolicyResourceEditor'; import { AuthorizationProviderResourceEditor } from './explorer/editors/arm/AuthorizationProviderResourceEditor'; @@ -100,11 +100,11 @@ export async function activateInternal(context: vscode.ExtensionContext) { activateContext.telemetry.properties.isActivationEvent = 'true'; AzureSessionProviderHelper.activateAzureSessionProvider(context); const sessionProvider = AzureSessionProviderHelper.getSessionProvider(); - const azureAccountTreeItem = createAzureAccountTreeItem(sessionProvider); + const azureAccountTreeItem = new AzureAccountTreeItem(sessionProvider); context.subscriptions.push(azureAccountTreeItem); ext.azureAccountTreeItem = azureAccountTreeItem; - ext.tree = new AzExtTreeDataProvider(azureAccountTreeItem, 'azureApiManagement.loadMore'); + ext.tree = new AzExtTreeDataProvider(azureAccountTreeItem, 'azureApiManagement.LoadMore'); context.subscriptions.push(vscode.window.registerTreeDataProvider('azureApiManagementExplorer', ext.tree)); registerCommands(ext.tree); diff --git a/src/extensionVariables.ts b/src/extensionVariables.ts index fb29f8a..db7c7a3 100644 --- a/src/extensionVariables.ts +++ b/src/extensionVariables.ts @@ -2,7 +2,7 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ExtensionContext } from "vscode"; +import { ExtensionContext, Disposable } from "vscode"; import { AzExtTreeDataProvider, IAzExtOutputChannel, AzExtParentTreeItem } from "@microsoft/vscode-azext-utils"; /** @@ -12,7 +12,7 @@ export namespace ext { export let context: ExtensionContext; export let tree: AzExtTreeDataProvider; export let outputChannel: IAzExtOutputChannel; - export let azureAccountTreeItem: AzExtParentTreeItem & { dispose(): unknown }; + export let azureAccountTreeItem: AzExtParentTreeItem & Disposable; export const prefix: string = 'azureAPIM'; //export let reporter: ITelemetryContext; } diff --git a/src/utils/azureClientUtil.ts b/src/utils/azureClientUtil.ts index 3b54a3b..0b7b231 100644 --- a/src/utils/azureClientUtil.ts +++ b/src/utils/azureClientUtil.ts @@ -14,8 +14,7 @@ export namespace azureClientUtil { } // tslint:disable: no-unsafe-any - export async function selectSubscription(context: IActionContext): Promise { - context; + export async function selectSubscription(_context: IActionContext): Promise { await AzureAccount.selectSubscriptions(); let res = await AzureSubscriptionHelper.getFilteredSubscriptions(); return res[0].subscriptionId; diff --git a/test/createService.test.ts b/test/createService.test.ts index 99a2790..a6707c7 100644 --- a/test/createService.test.ts +++ b/test/createService.test.ts @@ -32,8 +32,6 @@ suite('Create Azure Resources', async function (this: Suite): Promise { this.timeout(120 * 1000); await testAccount.signIn(); - // ext.azureAccountTreeItem = new AzureAccountTreeItem(testAccount); - // ext.tree = new AzExtTreeDataProvider(ext.azureAccountTreeItem, 'azureApiManagement.LoadMore'); const rootNode : AzExtParentTreeItem = await treeUtils.getRootNode(ext.tree); rootNode.subscription.userId = "vscodeapimtest@microsoft.com"; // userId doesnt exist for service principal. //apiManagementClient = getApiManagementClient(testAccount);