mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-27 17:23:21 -05:00
Adding bindings for SqlProject service getters (#22046)
* Getters * blank lines * STS bump * Fixing typos * updating contract ID
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"downloadUrl": "https://github.com/Microsoft/sqltoolsservice/releases/download/{#version#}/microsoft.sqltools.servicelayer-{#fileName#}",
|
||||
"version": "4.5.0.24",
|
||||
"version": "4.5.0.30",
|
||||
"downloadFileNames": {
|
||||
"Windows_86": "win-x86-net7.0.zip",
|
||||
"Windows_64": "win-x64-net7.0.zip",
|
||||
|
||||
@@ -609,7 +609,7 @@ export namespace SavePublishProfileRequest {
|
||||
//#region Project-level functions
|
||||
|
||||
export namespace CreateSqlProjectRequest {
|
||||
export const type = new RequestType<CreateSqlProjectParams, azdata.ResultStatus, void, void>('sqlProjects/newProject'); // TODO: switch to "createProject" with next Tools Service update
|
||||
export const type = new RequestType<CreateSqlProjectParams, azdata.ResultStatus, void, void>('sqlProjects/createProject');
|
||||
}
|
||||
|
||||
export namespace OpenSqlProjectRequest {
|
||||
@@ -620,8 +620,8 @@ export namespace CloseSqlProjectRequest {
|
||||
export const type = new RequestType<SqlProjectParams, azdata.ResultStatus, void, void>('sqlProjects/closeProject');
|
||||
}
|
||||
|
||||
export namespace GetCrossPlatformCompatiblityRequest {
|
||||
export const type = new RequestType<SqlProjectParams, mssql.GetCrossPlatformCompatiblityResult, void, void>('sqlProjects/getCrossPlatformCompatibility');
|
||||
export namespace GetCrossPlatformCompatibilityRequest {
|
||||
export const type = new RequestType<SqlProjectParams, mssql.GetCrossPlatformCompatibilityResult, void, void>('sqlProjects/getCrossPlatformCompatibility');
|
||||
}
|
||||
|
||||
export namespace UpdateProjectForCrossPlatformRequest {
|
||||
@@ -650,6 +650,30 @@ export namespace MoveSqlObjectScriptRequest {
|
||||
export const type = new RequestType<MoveItemParams, azdata.ResultStatus, void, void>('sqlProjects/moveSqlObjectScript');
|
||||
}
|
||||
|
||||
export namespace GetDatabaseReferencesRequest {
|
||||
export const type = new RequestType<SqlProjectParams, mssql.GetDatabaseReferencesResult, void, void>('sqlProjects/getDatabaseReferences');
|
||||
}
|
||||
|
||||
export namespace GetFoldersRequest {
|
||||
export const type = new RequestType<SqlProjectParams, mssql.GetFoldersResult, void, void>('sqlProjects/getFolders');
|
||||
}
|
||||
|
||||
export namespace GetPostDeploymentScriptsRequest {
|
||||
export const type = new RequestType<SqlProjectParams, mssql.GetScriptsResult, void, void>('sqlProjects/getPostDeploymentScripts');
|
||||
}
|
||||
|
||||
export namespace GetPreDeploymentScriptsRequest {
|
||||
export const type = new RequestType<SqlProjectParams, mssql.GetScriptsResult, void, void>('sqlProjects/getPreDeploymentScripts');
|
||||
}
|
||||
|
||||
export namespace GetSqlCmdVariablesRequest {
|
||||
export const type = new RequestType<SqlProjectParams, mssql.GetSqlCmdVariablesResult, void, void>('sqlProjects/getSqlCmdVariables');
|
||||
}
|
||||
|
||||
export namespace GetSqlObjectScriptsRequest {
|
||||
export const type = new RequestType<SqlProjectParams, mssql.GetScriptsResult, void, void>('sqlProjects/getSqlObjectScripts');
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Folder functions
|
||||
|
||||
79
extensions/mssql/src/mssql.d.ts
vendored
79
extensions/mssql/src/mssql.d.ts
vendored
@@ -452,7 +452,7 @@ declare module 'mssql' {
|
||||
* Get the cross-platform compatibility status for a project
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getCrossPlatformCompatibility(projectUri: string): Promise<GetCrossPlatformCompatiblityResult>;
|
||||
getCrossPlatformCompatibility(projectUri: string): Promise<GetCrossPlatformCompatibilityResult>;
|
||||
|
||||
/**
|
||||
* Open an existing SQL project
|
||||
@@ -519,15 +519,90 @@ declare module 'mssql' {
|
||||
* @param path Path of the script, including .sql, relative to the .sqlproj
|
||||
*/
|
||||
moveSqlObjectScript(projectUri: string, destinationPath: string, path: string): Promise<azdata.ResultStatus>;
|
||||
|
||||
/**
|
||||
* getDatabaseReferences
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getDatabaseReferences(projectUri: string): Promise<GetDatabaseReferencesResult>;
|
||||
|
||||
/**
|
||||
* getFolders
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getFolders(projectUri: string): Promise<GetFoldersResult>;
|
||||
|
||||
/**
|
||||
* getPostDeploymentScripts
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getPostDeploymentScripts(projectUri: string): Promise<GetScriptsResult>;
|
||||
|
||||
/**
|
||||
* getPreDeploymentScripts
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getPreDeploymentScripts(projectUri: string): Promise<GetScriptsResult>;
|
||||
|
||||
/**
|
||||
* getSqlCmdVariables
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getSqlCmdVariables(projectUri: string): Promise<GetSqlCmdVariablesResult>;
|
||||
|
||||
/**
|
||||
* getSqlObjectScripts
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getSqlObjectScripts(projectUri: string): Promise<GetScriptsResult>;
|
||||
}
|
||||
|
||||
|
||||
//#region Results
|
||||
|
||||
export interface GetCrossPlatformCompatiblityResult extends azdata.ResultStatus {
|
||||
export interface GetDatabaseReferencesResult extends azdata.ResultStatus {
|
||||
/**
|
||||
* Array of system database references contained in the project
|
||||
*/
|
||||
systemDatabaseReferences: SystemDatabaseReference[];
|
||||
/**
|
||||
* Array of dacpac references contained in the project
|
||||
*/
|
||||
dacpacReferences: DacpacReference[];
|
||||
/**
|
||||
* Array of SQL project references contained in the project
|
||||
*/
|
||||
sqlProjectReferences: SqlProjectReference[];
|
||||
}
|
||||
|
||||
export interface GetFoldersResult extends azdata.ResultStatus {
|
||||
/**
|
||||
* Array of folders contained in the project
|
||||
*/
|
||||
folders: string[];
|
||||
}
|
||||
|
||||
export interface GetCrossPlatformCompatibilityResult extends azdata.ResultStatus {
|
||||
/**
|
||||
* Whether the project is cross-platform compatible
|
||||
*/
|
||||
isCrossPlatformCompatible: boolean;
|
||||
}
|
||||
|
||||
export interface GetSqlCmdVariablesResult extends azdata.ResultStatus {
|
||||
/**
|
||||
* Array of SQLCMD variables contained in the project
|
||||
*/
|
||||
sqlCmdVariables: SqlCmdVariable[];
|
||||
}
|
||||
|
||||
export interface GetScriptsResult extends azdata.ResultStatus {
|
||||
/**
|
||||
* Array of scripts contained in the project
|
||||
*/
|
||||
scripts: string[];
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Types
|
||||
|
||||
@@ -215,9 +215,9 @@ export class SqlProjectsService implements mssql.ISqlProjectsService {
|
||||
* Get the cross-platform compatibility status for a project
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
public async getCrossPlatformCompatibility(projectUri: string): Promise<mssql.GetCrossPlatformCompatiblityResult> {
|
||||
public async getCrossPlatformCompatibility(projectUri: string): Promise<mssql.GetCrossPlatformCompatibilityResult> {
|
||||
const params: contracts.SqlProjectParams = { projectUri: projectUri };
|
||||
return await this.runWithErrorHandling(contracts.GetCrossPlatformCompatiblityRequest.type, params);
|
||||
return await this.runWithErrorHandling(contracts.GetCrossPlatformCompatibilityRequest.type, params);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -313,6 +313,60 @@ export class SqlProjectsService implements mssql.ISqlProjectsService {
|
||||
return await this.runWithErrorHandling(contracts.MoveSqlObjectScriptRequest.type, params);
|
||||
}
|
||||
|
||||
/**
|
||||
* getDatabaseReferences
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
public async getDatabaseReferences(projectUri: string): Promise<mssql.GetDatabaseReferencesResult> {
|
||||
const params: contracts.SqlProjectParams = { projectUri: projectUri };
|
||||
return await this.runWithErrorHandling(contracts.GetDatabaseReferencesRequest.type, params);
|
||||
}
|
||||
|
||||
/**
|
||||
* getFolders
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
public async getFolders(projectUri: string): Promise<mssql.GetFoldersResult> {
|
||||
const params: contracts.SqlProjectParams = { projectUri: projectUri };
|
||||
return await this.runWithErrorHandling(contracts.GetFoldersRequest.type, params);
|
||||
}
|
||||
|
||||
/**
|
||||
* getPostDeploymentScripts
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
public async getPostDeploymentScripts(projectUri: string): Promise<mssql.GetScriptsResult> {
|
||||
const params: contracts.SqlProjectParams = { projectUri: projectUri };
|
||||
return await this.runWithErrorHandling(contracts.GetPostDeploymentScriptsRequest.type, params);
|
||||
}
|
||||
|
||||
/**
|
||||
* getPreDeploymentScripts
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
public async getPreDeploymentScripts(projectUri: string): Promise<mssql.GetScriptsResult> {
|
||||
const params: contracts.SqlProjectParams = { projectUri: projectUri };
|
||||
return await this.runWithErrorHandling(contracts.GetPreDeploymentScriptsRequest.type, params);
|
||||
}
|
||||
|
||||
/**
|
||||
* getSqlCmdVariables
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
public async getSqlCmdVariables(projectUri: string): Promise<mssql.GetSqlCmdVariablesResult> {
|
||||
const params: contracts.SqlProjectParams = { projectUri: projectUri };
|
||||
return await this.runWithErrorHandling(contracts.GetSqlCmdVariablesRequest.type, params);
|
||||
}
|
||||
|
||||
/**
|
||||
* getSqlObjectScripts
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
public async getSqlObjectScripts(projectUri: string): Promise<mssql.GetScriptsResult> {
|
||||
const params: contracts.SqlProjectParams = { projectUri: projectUri };
|
||||
return await this.runWithErrorHandling(contracts.GetSqlObjectScriptsRequest.type, params);
|
||||
}
|
||||
|
||||
private async runWithErrorHandling<P, R, E, RO>(type: RequestType<P, R, E, RO>, params: P): Promise<R> {
|
||||
try {
|
||||
const result = await this.client.sendRequest(type, params);
|
||||
|
||||
79
extensions/types/vscode-mssql.d.ts
vendored
79
extensions/types/vscode-mssql.d.ts
vendored
@@ -572,7 +572,7 @@ declare module 'vscode-mssql' {
|
||||
* Get the cross-platform compatibility status for a project
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getCrossPlatformCompatibility(projectUri: string): Promise<GetCrossPlatformCompatiblityResult>;
|
||||
getCrossPlatformCompatibility(projectUri: string): Promise<GetCrossPlatformCompatibilityResult>;
|
||||
|
||||
/**
|
||||
* Open an existing SQL project
|
||||
@@ -639,12 +639,87 @@ declare module 'vscode-mssql' {
|
||||
* @param path Path of the script, including .sql, relative to the .sqlproj
|
||||
*/
|
||||
moveSqlObjectScript(projectUri: string, destinationPath: string, path: string): Promise<ResultStatus>;
|
||||
|
||||
/**
|
||||
* getDatabaseReferences
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getDatabaseReferences(projectUri: string): Promise<GetDatabaseReferencesResult>;
|
||||
|
||||
/**
|
||||
* getFolders
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getFolders(projectUri: string): Promise<GetFoldersResult>;
|
||||
|
||||
/**
|
||||
* getPostDeploymentScripts
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getPostDeploymentScripts(projectUri: string): Promise<GetScriptsResult>;
|
||||
|
||||
/**
|
||||
* getPreDeploymentScripts
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getPreDeploymentScripts(projectUri: string): Promise<GetScriptsResult>;
|
||||
|
||||
/**
|
||||
* getSqlCmdVariables
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getSqlCmdVariables(projectUri: string): Promise<GetSqlCmdVariablesResult>;
|
||||
|
||||
/**
|
||||
* getSqlObjectScripts
|
||||
* @param projectUri Absolute path of the project, including .sqlproj
|
||||
*/
|
||||
getSqlObjectScripts(projectUri: string): Promise<GetScriptsResult>;
|
||||
}
|
||||
|
||||
export interface GetCrossPlatformCompatiblityResult extends ResultStatus {
|
||||
export interface GetCrossPlatformCompatibilityResult extends ResultStatus {
|
||||
/**
|
||||
* Whether the project is cross-platform compatible
|
||||
*/
|
||||
isCrossPlatformCompatible: boolean;
|
||||
}
|
||||
|
||||
export interface GetDatabaseReferencesResult extends ResultStatus {
|
||||
/**
|
||||
* Array of system database references contained in the project
|
||||
*/
|
||||
systemDatabaseReferences: SystemDatabaseReference[];
|
||||
/**
|
||||
* Array of dacpac references contained in the project
|
||||
*/
|
||||
dacpacReferences: DacpacReference[];
|
||||
/**
|
||||
* Array of SQL project references contained in the project
|
||||
*/
|
||||
sqlProjectReferences: SqlProjectReference[];
|
||||
}
|
||||
|
||||
export interface GetFoldersResult extends ResultStatus {
|
||||
/**
|
||||
* Array of folders contained in the project
|
||||
*/
|
||||
folders: string[];
|
||||
}
|
||||
|
||||
export interface GetSqlCmdVariablesResult extends ResultStatus {
|
||||
/**
|
||||
* Array of SQLCMD variables contained in the project
|
||||
*/
|
||||
sqlCmdVariables: SqlCmdVariable[];
|
||||
}
|
||||
|
||||
export interface GetScriptsResult extends ResultStatus {
|
||||
/**
|
||||
* Array of scripts contained in the project
|
||||
*/
|
||||
scripts: string[];
|
||||
}
|
||||
|
||||
export const enum ProjectType {
|
||||
SdkStyle = 0,
|
||||
LegacyStyle = 1
|
||||
|
||||
Reference in New Issue
Block a user