Swap create new project api for sql projects (#21971)

This commit is contained in:
Kim Santiago
2023-02-21 10:00:56 -08:00
committed by GitHub
parent 66edf059be
commit 7761c3b171
5 changed files with 29 additions and 28 deletions

View File

@@ -603,6 +603,10 @@ export namespace SavePublishProfileRequest {
// ------------------------------- < Sql Projects > ------------------------------------
export namespace NewSqlProjectRequest {
export const type = new RequestType<NewSqlProjectParams, azdata.ResultStatus, void, void>('sqlProjects/newProject');
}
export namespace OpenSqlProjectRequest {
export const type = new RequestType<SqlProjectParams, azdata.ResultStatus, void, void>('sqlProjects/openProject');
}
@@ -615,6 +619,12 @@ export interface SqlProjectParams {
projectUri: string;
}
export interface NewSqlProjectParams extends SqlProjectParams {
sqlProjectType: mssql.ProjectType,
databaseSchemaProvider: string,
buildSdkVersion?: string
}
// ------------------------------- </ Sql Projects > -----------------------------------
// ------------------------------- <CMS> ----------------------------------------

View File

@@ -315,10 +315,16 @@ declare module 'mssql' {
//#region --- Sql Projects
export interface ISqlProjectsService {
newProject(projectUri: string, sqlProjectType: ProjectType, databaseSchemaProvider: string, buildSdkVersion?: string): Promise<azdata.ResultStatus>;
openProject(projectUri: string): Promise<azdata.ResultStatus>;
getCrossPlatformCompatiblityRequest(projectUri: string): Promise<GetCrossPlatformCompatiblityResult>;
}
export const enum ProjectType {
SdkStyle = 0,
LegacyStyle = 1
}
export interface GetCrossPlatformCompatiblityResult extends azdata.ResultStatus {
isCrossPlatformCompatible: boolean;
}

View File

@@ -32,6 +32,16 @@ export class SqlProjectsService implements mssql.ISqlProjectsService {
context.registerService(constants.SqlProjectsService, this);
}
public async newProject(projectUri: string, sqlProjectType: mssql.ProjectType, databaseSchemaProvider: string, buildSdkVersion?: string): Promise<azdata.ResultStatus> {
const params: contracts.NewSqlProjectParams = { projectUri, sqlProjectType, databaseSchemaProvider, buildSdkVersion };
try {
const result = await this.client.sendRequest(contracts.NewSqlProjectRequest.type, params);
return result;
} catch (e) {
this.client.logFailedRequest(contracts.NewSqlProjectRequest.type, e);
throw e;
}
}
public async openProject(projectUri: string): Promise<azdata.ResultStatus> {
const params: contracts.SqlProjectParams = { projectUri };