Refactor Azure Core extension for easier resource addition (#7958)

Consolidated most logic into a base class and common resource request pattern.
Reduces cost to add new providers, which will help for SQL Managed Instance support
This commit is contained in:
Kevin Cunnane
2019-10-23 16:29:51 -07:00
committed by GitHub
parent 24e3b1c5e6
commit 806d807eae
20 changed files with 200 additions and 385 deletions

View File

@@ -26,8 +26,6 @@ import { AzureResourceSubscriptionFilterService } from './azureResource/services
import { AzureResourceCacheService } from './azureResource/services/cacheService';
import { AzureResourceTenantService } from './azureResource/services/tenantService';
import { registerAzureResourceCommands } from './azureResource/commands';
import { registerAzureResourceDatabaseServerCommands } from './azureResource/providers/databaseServer/commands';
import { registerAzureResourceDatabaseCommands } from './azureResource/providers/database/commands';
import { AzureResourceTreeProvider } from './azureResource/tree/treeProvider';
let extensionContext: vscode.ExtensionContext;
@@ -70,7 +68,7 @@ export async function activate(context: vscode.ExtensionContext) {
registerAzureServices(appContext);
const azureResourceTree = new AzureResourceTreeProvider(appContext);
pushDisposable(apiWrapper.registerTreeDataProvider('azureResourceExplorer', azureResourceTree));
registerCommands(appContext, azureResourceTree);
registerAzureResourceCommands(appContext, azureResourceTree);
return {
provideResources() {
@@ -129,10 +127,3 @@ function registerAzureServices(appContext: AppContext): void {
appContext.registerService<IAzureResourceTenantService>(AzureResourceServiceNames.tenantService, new AzureResourceTenantService());
}
function registerCommands(appContext: AppContext, azureResourceTree: AzureResourceTreeProvider): void {
registerAzureResourceCommands(appContext, azureResourceTree);
registerAzureResourceDatabaseServerCommands(appContext);
registerAzureResourceDatabaseCommands(appContext);
}