diff --git a/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/Contracts/Requests/GeneratePreviewReportRequest.cs b/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/Contracts/Requests/GeneratePreviewReportRequest.cs index 00cadf35..b65a876b 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/Contracts/Requests/GeneratePreviewReportRequest.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/Contracts/Requests/GeneratePreviewReportRequest.cs @@ -7,6 +7,23 @@ using Microsoft.SqlTools.Hosting.Protocol.Contracts; namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts { + /// + /// The service request to generate preview report describing the changes. + /// + + public class GeneratePreviewReportResult + { + /// + /// The report generated for publish preview + /// + public string Report; + + /// + /// format (mimetype) of the string + /// + public string MimeType; + } + /// /// The service request to generate preview report describing the changes. /// @@ -15,6 +32,6 @@ namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts /// /// Request definition /// - public static readonly RequestType Type = RequestType.Create("tabledesigner/generatepreviewreport"); + public static readonly RequestType Type = RequestType.Create("tabledesigner/generatepreviewreport"); } } diff --git a/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerService.cs b/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerService.cs index f038dc36..c5a6991e 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerService.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerService.cs @@ -161,13 +161,17 @@ namespace Microsoft.SqlTools.ServiceLayer.TableDesigner }); } - private Task HandleGeneratePreviewReportRequest(TableInfo tableInfo, RequestContext requestContext) + private Task HandleGeneratePreviewReportRequest(TableInfo tableInfo, RequestContext requestContext) { - return this.HandleRequest(requestContext, async () => + return this.HandleRequest(requestContext, async () => { var table = this.GetTableDesigner(tableInfo); var report = table.GenerateReport(); - await requestContext.SendResult(report); + var generatePreviewReportResult = new GeneratePreviewReportResult(); + // TODO - set report type by caohai + generatePreviewReportResult.Report = report; + generatePreviewReportResult.MimeType = "text/plain"; + await requestContext.SendResult(generatePreviewReportResult); }); }