/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { AppContext } from './appContext'; import { IExtension, ICmsService, IDacFxService, ISchemaCompareService, MssqlObjectExplorerBrowser, ILanguageExtensionService, ISqlAssessmentService, ISqlMigrationService } from './mssql'; import * as constants from './constants'; import { MssqlObjectExplorerNodeProvider } from './objectExplorerNodeProvider/objectExplorerNodeProvider'; import * as azdata from 'azdata'; export function createMssqlApi(context: AppContext): IExtension { return { get cmsService() { return context.getService(constants.CmsService); }, get dacFx() { return context.getService(constants.DacFxService); }, get schemaCompare() { return context.getService(constants.SchemaCompareService); }, get languageExtension() { return context.getService(constants.LanguageExtensionService); }, getMssqlObjectExplorerBrowser(): MssqlObjectExplorerBrowser { return { getNode: (explorerContext: azdata.ObjectExplorerContext) => { let oeProvider = context.getService(constants.ObjectExplorerService); return oeProvider.findSqlClusterNodeByContext(explorerContext); } }; }, get sqlAssessment() { return context.getService(constants.SqlAssessmentService); }, get sqlMigration() { return context.getService(constants.SqlMigrationService); } }; }