mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-15 02:48:30 -05:00
* wip * wip2 * wip eod 820 * wip 822 * text component improvements and misc changes * aria-label * targetClusterPage wip * target cluster page * target cluster page * wip 827 * wip deployment profile page * profile page * service settings page * wip 0903 * 0909 wip * 0910 * 0911 * sql instance and working directory * notebooks * docker version on windows * EULA env var * 917 updates * address comments * use async file access * fix the summary page display issue for ad auth * add save json file buttons * use promise for private methds * review feedbacks * refactor * pass json to notebooks * fix no tool scenario * bypass tool check if installed * update hint text * update notebooks * workaround azdata first time use * comments * accept eula and some text update * fix the error in package.json * promise instead of thenable * comments * fix typo
27 lines
1.2 KiB
TypeScript
27 lines
1.2 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
import { ITool } from '../interfaces';
|
|
import { DockerTool } from './tools/dockerTool';
|
|
import { AzCliTool } from './tools/azCliTool';
|
|
import { AzdataTool } from './tools/azdataTool';
|
|
import { KubeCtlTool } from './tools/kubeCtlTool';
|
|
import { IPlatformService } from './platformService';
|
|
|
|
export interface IToolsService {
|
|
getToolByName(toolName: string): ITool | undefined;
|
|
}
|
|
|
|
export class ToolsService implements IToolsService {
|
|
private supportedTools: ITool[];
|
|
|
|
constructor(private _platformService: IPlatformService) {
|
|
this.supportedTools = [new DockerTool(this._platformService), new AzCliTool(this._platformService), new AzdataTool(this._platformService), new KubeCtlTool(this._platformService)];
|
|
}
|
|
|
|
getToolByName(toolName: string): ITool | undefined {
|
|
return this.supportedTools.find(t => t.name === toolName);
|
|
}
|
|
}
|