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;
}
}