mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-14 17:22:20 -05:00
Move protocol client out (#643)
* close * connection is working * formatting * adds all * formatting * formatting and changing how features are initialized * formatting * changed named of typings file * update * updated to use dataprotocol npm * formatting * removed unneeded logging * readd npm shrinkwrap * still not working * removed unnecessary codfe * addressed comments * readded azure resource provider * fix capabilities cacheing * added backwards capat for older protocol * update shrinkwrap * update shrinkwrap * updated shrinkwrap * fixed tests * removed dead code * remove dead code * fix compile * remove backcompat stuff * change location of npm * vbump sqltools * merge master * fix imports * fix build breaks * update for sqlops * update yarn dependencies
This commit is contained in:
@@ -13,7 +13,7 @@ import { IExtensionDescription } from 'vs/platform/extensions/common/extensions'
|
||||
import { realpath } from 'fs';
|
||||
import * as extHostTypes from 'vs/workbench/api/node/extHostTypes';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as vscode from 'vscode';
|
||||
import { SqlExtHostContext } from 'sql/workbench/api/node/sqlExtHost.protocol';
|
||||
import { ExtHostAccountManagement } from 'sql/workbench/api/node/extHostAccountManagement';
|
||||
@@ -33,7 +33,7 @@ import { ExtHostConnectionManagement } from 'sql/workbench/api/node/extHostConne
|
||||
|
||||
export interface ISqlExtensionApiFactory {
|
||||
vsCodeFactory(extension: IExtensionDescription): typeof vscode;
|
||||
dataFactory(extension: IExtensionDescription): typeof data;
|
||||
sqlopsFactory(extension: IExtensionDescription): typeof sqlops;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -61,10 +61,10 @@ export function createApiFactory(
|
||||
|
||||
return {
|
||||
vsCodeFactory: vsCodeFactory,
|
||||
dataFactory: function (extension: IExtensionDescription): typeof data {
|
||||
sqlopsFactory: function (extension: IExtensionDescription): typeof sqlops {
|
||||
// namespace: accounts
|
||||
const accounts: typeof data.accounts = {
|
||||
registerAccountProvider(providerMetadata: data.AccountProviderMetadata, provider: data.AccountProvider): vscode.Disposable {
|
||||
const accounts: typeof sqlops.accounts = {
|
||||
registerAccountProvider(providerMetadata: sqlops.AccountProviderMetadata, provider: sqlops.AccountProvider): vscode.Disposable {
|
||||
return extHostAccountManagement.$registerAccountProvider(providerMetadata, provider);
|
||||
},
|
||||
beginAutoOAuthDeviceCode(providerId: string, title: string, message: string, userCode: string, uri: string): Thenable<void> {
|
||||
@@ -73,17 +73,17 @@ export function createApiFactory(
|
||||
endAutoOAuthDeviceCode(): void {
|
||||
return extHostAccountManagement.$endAutoOAuthDeviceCode();
|
||||
},
|
||||
accountUpdated(updatedAccount: data.Account): void {
|
||||
accountUpdated(updatedAccount: sqlops.Account): void {
|
||||
return extHostAccountManagement.$accountUpdated(updatedAccount);
|
||||
}
|
||||
};
|
||||
|
||||
// namespace: connection
|
||||
const connection: typeof data.connection = {
|
||||
getActiveConnections(): Thenable<data.connection.Connection[]> {
|
||||
const connection: typeof sqlops.connection = {
|
||||
getActiveConnections(): Thenable<sqlops.connection.Connection[]> {
|
||||
return extHostConnectionManagement.$getActiveConnections();
|
||||
},
|
||||
getCurrentConnection(): Thenable<data.connection.Connection> {
|
||||
getCurrentConnection(): Thenable<sqlops.connection.Connection> {
|
||||
return extHostConnectionManagement.$getCurrentConnection();
|
||||
},
|
||||
getCredentials(connectionId: string): Thenable<{ [name: string]: string }> {
|
||||
@@ -92,32 +92,32 @@ export function createApiFactory(
|
||||
};
|
||||
|
||||
// namespace: credentials
|
||||
const credentials: typeof data.credentials = {
|
||||
registerProvider(provider: data.CredentialProvider): vscode.Disposable {
|
||||
const credentials: typeof sqlops.credentials = {
|
||||
registerProvider(provider: sqlops.CredentialProvider): vscode.Disposable {
|
||||
return extHostCredentialManagement.$registerCredentialProvider(provider);
|
||||
},
|
||||
getProvider(namespaceId: string): Thenable<data.CredentialProvider> {
|
||||
getProvider(namespaceId: string): Thenable<sqlops.CredentialProvider> {
|
||||
return extHostCredentialManagement.$getCredentialProvider(namespaceId);
|
||||
}
|
||||
};
|
||||
|
||||
// namespace: serialization
|
||||
const serialization: typeof data.serialization = {
|
||||
registerProvider(provider: data.SerializationProvider): vscode.Disposable {
|
||||
const serialization: typeof sqlops.serialization = {
|
||||
registerProvider(provider: sqlops.SerializationProvider): vscode.Disposable {
|
||||
return extHostSerializationProvider.$registerSerializationProvider(provider);
|
||||
},
|
||||
};
|
||||
|
||||
// namespace: serialization
|
||||
const resources: typeof data.resources = {
|
||||
registerResourceProvider(providerMetadata: data.ResourceProviderMetadata, provider: data.ResourceProvider): vscode.Disposable {
|
||||
const resources: typeof sqlops.resources = {
|
||||
registerResourceProvider(providerMetadata: sqlops.ResourceProviderMetadata, provider: sqlops.ResourceProvider): vscode.Disposable {
|
||||
return extHostResourceProvider.$registerResourceProvider(providerMetadata, provider);
|
||||
}
|
||||
};
|
||||
|
||||
let registerConnectionProvider = (provider: data.ConnectionProvider): vscode.Disposable => {
|
||||
let registerConnectionProvider = (provider: sqlops.ConnectionProvider): vscode.Disposable => {
|
||||
// Connection callbacks
|
||||
provider.registerOnConnectionComplete((connSummary: data.ConnectionInfoSummary) => {
|
||||
provider.registerOnConnectionComplete((connSummary: sqlops.ConnectionInfoSummary) => {
|
||||
extHostDataProvider.$onConnectComplete(provider.handle, connSummary);
|
||||
});
|
||||
|
||||
@@ -125,31 +125,31 @@ export function createApiFactory(
|
||||
extHostDataProvider.$onIntelliSenseCacheComplete(provider.handle, connectionUri);
|
||||
});
|
||||
|
||||
provider.registerOnConnectionChanged((changedConnInfo: data.ChangedConnectionInfo) => {
|
||||
provider.registerOnConnectionChanged((changedConnInfo: sqlops.ChangedConnectionInfo) => {
|
||||
extHostDataProvider.$onConnectionChanged(provider.handle, changedConnInfo);
|
||||
});
|
||||
|
||||
return extHostDataProvider.$registerConnectionProvider(provider);
|
||||
};
|
||||
|
||||
let registerQueryProvider = (provider: data.QueryProvider): vscode.Disposable => {
|
||||
provider.registerOnQueryComplete((result: data.QueryExecuteCompleteNotificationResult) => {
|
||||
let registerQueryProvider = (provider: sqlops.QueryProvider): vscode.Disposable => {
|
||||
provider.registerOnQueryComplete((result: sqlops.QueryExecuteCompleteNotificationResult) => {
|
||||
extHostDataProvider.$onQueryComplete(provider.handle, result);
|
||||
});
|
||||
|
||||
provider.registerOnBatchStart((batchInfo: data.QueryExecuteBatchNotificationParams) => {
|
||||
provider.registerOnBatchStart((batchInfo: sqlops.QueryExecuteBatchNotificationParams) => {
|
||||
extHostDataProvider.$onBatchStart(provider.handle, batchInfo);
|
||||
});
|
||||
|
||||
provider.registerOnBatchComplete((batchInfo: data.QueryExecuteBatchNotificationParams) => {
|
||||
provider.registerOnBatchComplete((batchInfo: sqlops.QueryExecuteBatchNotificationParams) => {
|
||||
extHostDataProvider.$onBatchComplete(provider.handle, batchInfo);
|
||||
});
|
||||
|
||||
provider.registerOnResultSetComplete((resultSetInfo: data.QueryExecuteResultSetCompleteNotificationParams) => {
|
||||
provider.registerOnResultSetComplete((resultSetInfo: sqlops.QueryExecuteResultSetCompleteNotificationParams) => {
|
||||
extHostDataProvider.$onResultSetComplete(provider.handle, resultSetInfo);
|
||||
});
|
||||
|
||||
provider.registerOnMessage((message: data.QueryExecuteMessageParams) => {
|
||||
provider.registerOnMessage((message: sqlops.QueryExecuteMessageParams) => {
|
||||
extHostDataProvider.$onQueryMessage(provider.handle, message);
|
||||
});
|
||||
|
||||
@@ -160,84 +160,84 @@ export function createApiFactory(
|
||||
return extHostDataProvider.$registerQueryProvider(provider);
|
||||
};
|
||||
|
||||
let registerObjectExplorerProvider = (provider: data.ObjectExplorerProvider): vscode.Disposable => {
|
||||
provider.registerOnSessionCreated((response: data.ObjectExplorerSession) => {
|
||||
let registerObjectExplorerProvider = (provider: sqlops.ObjectExplorerProvider): vscode.Disposable => {
|
||||
provider.registerOnSessionCreated((response: sqlops.ObjectExplorerSession) => {
|
||||
extHostDataProvider.$onObjectExplorerSessionCreated(provider.handle, response);
|
||||
});
|
||||
|
||||
provider.registerOnExpandCompleted((response: data.ObjectExplorerExpandInfo) => {
|
||||
provider.registerOnExpandCompleted((response: sqlops.ObjectExplorerExpandInfo) => {
|
||||
extHostDataProvider.$onObjectExplorerNodeExpanded(provider.handle, response);
|
||||
});
|
||||
|
||||
return extHostDataProvider.$registerObjectExplorerProvider(provider);
|
||||
};
|
||||
|
||||
let registerTaskServicesProvider = (provider: data.TaskServicesProvider): vscode.Disposable => {
|
||||
provider.registerOnTaskCreated((response: data.TaskInfo) => {
|
||||
let registerTaskServicesProvider = (provider: sqlops.TaskServicesProvider): vscode.Disposable => {
|
||||
provider.registerOnTaskCreated((response: sqlops.TaskInfo) => {
|
||||
extHostDataProvider.$onTaskCreated(provider.handle, response);
|
||||
});
|
||||
|
||||
provider.registerOnTaskStatusChanged((response: data.TaskProgressInfo) => {
|
||||
provider.registerOnTaskStatusChanged((response: sqlops.TaskProgressInfo) => {
|
||||
extHostDataProvider.$onTaskStatusChanged(provider.handle, response);
|
||||
});
|
||||
|
||||
return extHostDataProvider.$registerTaskServicesProvider(provider);
|
||||
};
|
||||
|
||||
let registerFileBrowserProvider = (provider: data.FileBrowserProvider): vscode.Disposable => {
|
||||
provider.registerOnFileBrowserOpened((response: data.FileBrowserOpenedParams) => {
|
||||
let registerFileBrowserProvider = (provider: sqlops.FileBrowserProvider): vscode.Disposable => {
|
||||
provider.registerOnFileBrowserOpened((response: sqlops.FileBrowserOpenedParams) => {
|
||||
extHostDataProvider.$onFileBrowserOpened(provider.handle, response);
|
||||
});
|
||||
|
||||
provider.registerOnFolderNodeExpanded((response: data.FileBrowserExpandedParams) => {
|
||||
provider.registerOnFolderNodeExpanded((response: sqlops.FileBrowserExpandedParams) => {
|
||||
extHostDataProvider.$onFolderNodeExpanded(provider.handle, response);
|
||||
});
|
||||
|
||||
provider.registerOnFilePathsValidated((response: data.FileBrowserValidatedParams) => {
|
||||
provider.registerOnFilePathsValidated((response: sqlops.FileBrowserValidatedParams) => {
|
||||
extHostDataProvider.$onFilePathsValidated(provider.handle, response);
|
||||
});
|
||||
|
||||
return extHostDataProvider.$registerFileBrowserProvider(provider);
|
||||
};
|
||||
|
||||
let registerScriptingProvider = (provider: data.ScriptingProvider): vscode.Disposable => {
|
||||
provider.registerOnScriptingComplete((response: data.ScriptingCompleteResult) => {
|
||||
let registerScriptingProvider = (provider: sqlops.ScriptingProvider): vscode.Disposable => {
|
||||
provider.registerOnScriptingComplete((response: sqlops.ScriptingCompleteResult) => {
|
||||
extHostDataProvider.$onScriptingComplete(provider.handle, response);
|
||||
});
|
||||
|
||||
return extHostDataProvider.$registerScriptingProvider(provider);
|
||||
};
|
||||
|
||||
let registerProfilerProvider = (provider: data.ProfilerProvider): vscode.Disposable => {
|
||||
provider.registerOnSessionEventsAvailable((response: data.ProfilerSessionEvents) => {
|
||||
let registerProfilerProvider = (provider: sqlops.ProfilerProvider): vscode.Disposable => {
|
||||
provider.registerOnSessionEventsAvailable((response: sqlops.ProfilerSessionEvents) => {
|
||||
extHostDataProvider.$onSessionEventsAvailable(provider.handle, response);
|
||||
});
|
||||
|
||||
return extHostDataProvider.$registerProfilerProvider(provider);
|
||||
};
|
||||
|
||||
let registerBackupProvider = (provider: data.BackupProvider): vscode.Disposable => {
|
||||
let registerBackupProvider = (provider: sqlops.BackupProvider): vscode.Disposable => {
|
||||
return extHostDataProvider.$registerBackupProvider(provider);
|
||||
};
|
||||
|
||||
let registerRestoreProvider = (provider: data.RestoreProvider): vscode.Disposable => {
|
||||
let registerRestoreProvider = (provider: sqlops.RestoreProvider): vscode.Disposable => {
|
||||
return extHostDataProvider.$registerRestoreProvider(provider);
|
||||
};
|
||||
|
||||
let registerMetadataProvider = (provider: data.MetadataProvider): vscode.Disposable => {
|
||||
let registerMetadataProvider = (provider: sqlops.MetadataProvider): vscode.Disposable => {
|
||||
return extHostDataProvider.$registerMetadataProvider(provider);
|
||||
};
|
||||
|
||||
let registerCapabilitiesServiceProvider = (provider: data.CapabilitiesProvider): vscode.Disposable => {
|
||||
let registerCapabilitiesServiceProvider = (provider: sqlops.CapabilitiesProvider): vscode.Disposable => {
|
||||
return extHostDataProvider.$registerCapabilitiesServiceProvider(provider);
|
||||
};
|
||||
|
||||
let registerAdminServicesProvider = (provider: data.AdminServicesProvider): vscode.Disposable => {
|
||||
let registerAdminServicesProvider = (provider: sqlops.AdminServicesProvider): vscode.Disposable => {
|
||||
return extHostDataProvider.$registerAdminServicesProvider(provider);
|
||||
};
|
||||
|
||||
// namespace: dataprotocol
|
||||
const dataprotocol: typeof data.dataprotocol = {
|
||||
const dataprotocol: typeof sqlops.dataprotocol = {
|
||||
registerBackupProvider,
|
||||
registerConnectionProvider,
|
||||
registerFileBrowserProvider,
|
||||
@@ -250,7 +250,7 @@ export function createApiFactory(
|
||||
registerQueryProvider,
|
||||
registerAdminServicesProvider,
|
||||
registerCapabilitiesServiceProvider,
|
||||
onDidChangeLanguageFlavor(listener: (e: data.DidChangeLanguageFlavorParams) => any, thisArgs?: any, disposables?: extHostTypes.Disposable[]) {
|
||||
onDidChangeLanguageFlavor(listener: (e: sqlops.DidChangeLanguageFlavorParams) => any, thisArgs?: any, disposables?: extHostTypes.Disposable[]) {
|
||||
return extHostDataProvider.onDidChangeLanguageFlavor(listener, thisArgs, disposables);
|
||||
}
|
||||
};
|
||||
@@ -262,7 +262,7 @@ export function createApiFactory(
|
||||
};
|
||||
|
||||
const dashboard = {
|
||||
registerWebviewProvider(widgetId: string, handler: (webview: data.DashboardWebview) => void) {
|
||||
registerWebviewProvider(widgetId: string, handler: (webview: sqlops.DashboardWebview) => void) {
|
||||
extHostWebviewWidgets.$registerProvider(widgetId, handler);
|
||||
}
|
||||
};
|
||||
@@ -316,13 +316,13 @@ function createExtensionPathIndex(extensionService: ExtHostExtensionService): TP
|
||||
}
|
||||
|
||||
function defineAPI(factory: ISqlExtensionApiFactory, extensionPaths: TrieMap<IExtensionDescription>): void {
|
||||
type ApiImpl = typeof vscode | typeof data;
|
||||
type ApiImpl = typeof vscode | typeof sqlops;
|
||||
|
||||
// each extension is meant to get its own api implementation
|
||||
const extApiImpl = new Map<string, typeof vscode>();
|
||||
const dataExtApiImpl = new Map<string, typeof data>();
|
||||
const dataExtApiImpl = new Map<string, typeof sqlops>();
|
||||
let defaultApiImpl: typeof vscode;
|
||||
let defaultDataApiImpl: typeof data;
|
||||
let defaultDataApiImpl: typeof sqlops;
|
||||
|
||||
// The module factory looks for an entry in the API map for an extension. If found, it reuses this.
|
||||
// If not, it loads it & saves it in the map
|
||||
@@ -360,11 +360,11 @@ function defineAPI(factory: ISqlExtensionApiFactory, extensionPaths: TrieMap<IEx
|
||||
defaultApiImpl,
|
||||
(impl) => defaultApiImpl = <typeof vscode>impl,
|
||||
parent);
|
||||
} else if (request === 'data') {
|
||||
} else if (request === 'sqlops') {
|
||||
return getModuleFactory(dataExtApiImpl,
|
||||
(ext) => factory.dataFactory(ext),
|
||||
(ext) => factory.sqlopsFactory(ext),
|
||||
defaultDataApiImpl,
|
||||
(impl) => defaultDataApiImpl = <typeof data>impl,
|
||||
(impl) => defaultDataApiImpl = <typeof sqlops>impl,
|
||||
parent);
|
||||
} else {
|
||||
// Allow standard node_module load to occur
|
||||
|
||||
Reference in New Issue
Block a user