mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-30 17:23:29 -05:00
Assessment core extension (#10154)
This commit is contained in:
@@ -168,7 +168,11 @@ export class ExtHostDataProtocol extends ExtHostDataProtocolShape {
|
||||
this._proxy.$registerAgentServicesProvider(provider.providerId, provider.handle);
|
||||
return rt;
|
||||
}
|
||||
|
||||
$registerSqlAssessmentServiceProvider(provider: azdata.SqlAssessmentServicesProvider): vscode.Disposable {
|
||||
let rt = this.registerProvider(provider, DataProviderType.SqlAssessmentServicesProvider);
|
||||
this._proxy.$registerSqlAssessmentServicesProvider(provider.providerId, provider.handle);
|
||||
return rt;
|
||||
}
|
||||
$registerCapabilitiesServiceProvider(provider: azdata.CapabilitiesProvider): vscode.Disposable {
|
||||
let rt = this.registerProvider(provider, DataProviderType.CapabilitiesProvider);
|
||||
this._proxy.$registerCapabilitiesServiceProvider(provider.providerId, provider.handle);
|
||||
@@ -839,4 +843,17 @@ export class ExtHostDataProtocol extends ExtHostDataProtocolShape {
|
||||
public $continueSerialization(handle: number, requestParams: azdata.SerializeDataContinueRequestParams): Thenable<azdata.SerializeDataResult> {
|
||||
return this._resolveProvider<azdata.SerializationProvider>(handle).continueSerialization(requestParams);
|
||||
}
|
||||
|
||||
// Assessment methods
|
||||
public $assessmentInvoke(handle: number, ownerUri: string, targetType: number): Thenable<azdata.SqlAssessmentResult> {
|
||||
return this._resolveProvider<azdata.SqlAssessmentServicesProvider>(handle).assessmentInvoke(ownerUri, targetType);
|
||||
}
|
||||
|
||||
public $getAssessmentItems(handle: number, ownerUri: string, targetType: number): Thenable<azdata.SqlAssessmentResult> {
|
||||
return this._resolveProvider<azdata.SqlAssessmentServicesProvider>(handle).getAssessmentItems(ownerUri, targetType);
|
||||
}
|
||||
|
||||
public $generateAssessmentScript(handle: number, items: azdata.SqlAssessmentResultItem[]): Thenable<azdata.ResultStatus> {
|
||||
return this._resolveProvider<azdata.SqlAssessmentServicesProvider>(handle).generateAssessmentScript(items);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -364,6 +364,10 @@ export function createAdsApiFactory(accessor: ServicesAccessor): IAdsExtensionAp
|
||||
return extHostDataProvider.$registerSerializationProvider(provider);
|
||||
};
|
||||
|
||||
let registerSqlAssessmentServicesProvider = (provider: azdata.SqlAssessmentServicesProvider): vscode.Disposable => {
|
||||
return extHostDataProvider.$registerSqlAssessmentServiceProvider(provider);
|
||||
};
|
||||
|
||||
// namespace: dataprotocol
|
||||
const dataprotocol: typeof azdata.dataprotocol = {
|
||||
registerBackupProvider,
|
||||
@@ -382,6 +386,7 @@ export function createAdsApiFactory(accessor: ServicesAccessor): IAdsExtensionAp
|
||||
registerAgentServicesProvider,
|
||||
registerCapabilitiesServiceProvider,
|
||||
registerSerializationProvider,
|
||||
registerSqlAssessmentServicesProvider,
|
||||
onDidChangeLanguageFlavor(listener: (e: azdata.DidChangeLanguageFlavorParams) => any, thisArgs?: any, disposables?: extHostTypes.Disposable[]) {
|
||||
return extHostDataProvider.onDidChangeLanguageFlavor(listener, thisArgs, disposables);
|
||||
},
|
||||
@@ -510,6 +515,11 @@ export function createAdsApiFactory(accessor: ServicesAccessor): IAdsExtensionAp
|
||||
NotebookChangeKind: sqlExtHostTypes.NotebookChangeKind
|
||||
};
|
||||
|
||||
const sqlAssessment: typeof azdata.sqlAssessment = {
|
||||
SqlAssessmentResultItemKind: sqlExtHostTypes.SqlAssessmentResultItemKind,
|
||||
SqlAssessmentTargetType: sqlExtHostTypes.SqlAssessmentTargetType
|
||||
};
|
||||
|
||||
return {
|
||||
accounts,
|
||||
connection,
|
||||
@@ -556,7 +566,8 @@ export function createAdsApiFactory(accessor: ServicesAccessor): IAdsExtensionAp
|
||||
ExtensionNodeType: sqlExtHostTypes.ExtensionNodeType,
|
||||
ColumnSizingMode: sqlExtHostTypes.ColumnSizingMode,
|
||||
DatabaseEngineEdition: sqlExtHostTypes.DatabaseEngineEdition,
|
||||
TabOrientation: sqlExtHostTypes.TabOrientation
|
||||
TabOrientation: sqlExtHostTypes.TabOrientation,
|
||||
sqlAssessment
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
@@ -488,6 +488,26 @@ export abstract class ExtHostDataProtocolShape {
|
||||
* Serialization continuation request
|
||||
*/
|
||||
$continueSerialization(handle: number, requestParams: azdata.SerializeDataContinueRequestParams): Thenable<azdata.SerializeDataResult> { throw ni(); }
|
||||
|
||||
|
||||
/**
|
||||
* SQL Assessment Section
|
||||
*/
|
||||
|
||||
/**
|
||||
* Perform an assessment
|
||||
*/
|
||||
$assessmentInvoke(handle: number, connectionUri: string, targetType: number): Thenable<azdata.SqlAssessmentResult> { throw ni(); }
|
||||
|
||||
/**
|
||||
* Get applicable assessment rules
|
||||
*/
|
||||
$getAssessmentItems(handle: number, connectionUri: string, targetType: number): Thenable<azdata.SqlAssessmentResult> { throw ni(); }
|
||||
|
||||
/**
|
||||
* Generate an assessment script based on recent results
|
||||
*/
|
||||
$generateAssessmentScript(handle: number, items: azdata.SqlAssessmentResultItem[]): Thenable<azdata.ResultStatus> { throw ni(); }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -551,6 +571,7 @@ export interface MainThreadDataProtocolShape extends IDisposable {
|
||||
$registerAdminServicesProvider(providerId: string, handle: number): Promise<any>;
|
||||
$registerAgentServicesProvider(providerId: string, handle: number): Promise<any>;
|
||||
$registerSerializationProvider(providerId: string, handle: number): Promise<any>;
|
||||
$registerSqlAssessmentServicesProvider(providerId: string, handle: number): Promise<any>;
|
||||
$unregisterProvider(handle: number): Promise<any>;
|
||||
$onConnectionComplete(handle: number, connectionInfoSummary: azdata.ConnectionInfoSummary): void;
|
||||
$onIntelliSenseCacheComplete(handle: number, connectionUri: string): void;
|
||||
|
||||
@@ -350,7 +350,8 @@ export enum DataProviderType {
|
||||
CapabilitiesProvider = 'CapabilitiesProvider',
|
||||
ObjectExplorerNodeProvider = 'ObjectExplorerNodeProvider',
|
||||
SerializationProvider = 'SerializationProvider',
|
||||
IconProvider = 'IconProvider'
|
||||
IconProvider = 'IconProvider',
|
||||
SqlAssessmentServicesProvider = 'SqlAssessmentServicesProvider'
|
||||
}
|
||||
|
||||
export enum DeclarativeDataType {
|
||||
@@ -847,12 +848,12 @@ export interface TabbedPanelLayout {
|
||||
alwaysShowTabs: boolean;
|
||||
}
|
||||
|
||||
export const enum SqlAssessmentTargetType {
|
||||
export enum SqlAssessmentTargetType {
|
||||
Server = 1,
|
||||
Database = 2
|
||||
}
|
||||
|
||||
export const enum SqlAssessmentResultItemKind {
|
||||
export enum SqlAssessmentResultItemKind {
|
||||
RealResult = 0,
|
||||
Warning = 1,
|
||||
Error = 2
|
||||
|
||||
Reference in New Issue
Block a user