From 624034308a8d73183b022b08329412ca486feda1 Mon Sep 17 00:00:00 2001 From: Kim Santiago <31145923+kisantia@users.noreply.github.com> Date: Tue, 11 Oct 2022 14:51:07 -0700 Subject: [PATCH] Add option to import permissions for dacfx extract (#1723) * add option to import permissions for dacfx extract * change 'import' to 'include' --- .../DacFx/Contracts/ExtractRequest.cs | 5 +++++ .../DacFx/ExtractOperation.cs | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.SqlTools.ServiceLayer/DacFx/Contracts/ExtractRequest.cs b/src/Microsoft.SqlTools.ServiceLayer/DacFx/Contracts/ExtractRequest.cs index 90bfe7d4..14e1bcb0 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/DacFx/Contracts/ExtractRequest.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/DacFx/Contracts/ExtractRequest.cs @@ -26,6 +26,11 @@ namespace Microsoft.SqlTools.ServiceLayer.DacFx.Contracts /// Gets or sets the target for extraction /// public DacExtractTarget ExtractTarget { get; set; } + + /// + /// Gets or sets whether permissions should be included in the extract + /// + public bool? IncludePermissions { get; set; } } /// diff --git a/src/Microsoft.SqlTools.ServiceLayer/DacFx/ExtractOperation.cs b/src/Microsoft.SqlTools.ServiceLayer/DacFx/ExtractOperation.cs index 59222fc5..ba5a32ec 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/DacFx/ExtractOperation.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/DacFx/ExtractOperation.cs @@ -26,7 +26,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DacFx public override void Execute() { Version version = ParseVersion(this.Parameters.ApplicationVersion); - DacExtractOptions extractOptions = GetExtractOptions(this.Parameters.ExtractTarget); + DacExtractOptions extractOptions = GetExtractOptions(this.Parameters.ExtractTarget, this.Parameters.IncludePermissions); this.DacServices.Extract(this.Parameters.PackageFilePath, this.Parameters.DatabaseName, this.Parameters.ApplicationName, version, applicationDescription:null, tables:null, extractOptions:extractOptions, cancellationToken:this.CancellationToken); } @@ -41,9 +41,15 @@ namespace Microsoft.SqlTools.ServiceLayer.DacFx return parsedVersion; } - private DacExtractOptions GetExtractOptions(DacExtractTarget extractTarget) + private DacExtractOptions GetExtractOptions(DacExtractTarget extractTarget, bool? includePermissions) { DacExtractOptions extractOptions = new DacExtractOptions() { ExtractTarget = extractTarget }; + + if (includePermissions == true) + { + extractOptions.IgnorePermissions = false; + } + return extractOptions; } }