@@ -17,7 +17,20 @@ function Invoke-ExecSetPackageTag {
1717
1818 try {
1919 $GUIDS = $Request.body.GUID
20- $PackageName = $Request.body.Package | Select-Object - First 1
20+ $Remove = $Request.body.Remove
21+
22+ if ($Remove -eq $true ) {
23+ # Remove package tag by setting it to null/empty
24+ $PackageValue = $null
25+ $LogMessage = " Successfully removed package tag from template with GUID"
26+ $SuccessMessage = " Successfully removed package tag from template(s)"
27+ } else {
28+ # Add package tag (existing logic)
29+ $PackageValue = $Request.body.Package | Select-Object - First 1
30+ $LogMessage = " Successfully updated template with GUID"
31+ $SuccessMessage = " Successfully updated template(s) with package tag: $PackageValue "
32+ }
33+
2134 foreach ($GUID in $GUIDS ) {
2235 $Filter = " RowKey eq '$GUID '"
2336 $Template = Get-CIPPAzDataTableEntity @Table - Filter $Filter
@@ -26,18 +39,27 @@ function Invoke-ExecSetPackageTag {
2639 RowKey = " $GUID "
2740 PartitionKey = $Template.PartitionKey
2841 GUID = " $GUID "
29- Package = " $PackageName "
42+ Package = $PackageValue
3043 } - Force
3144
32- Write-LogMessage - headers $Headers - API $APIName - message " Successfully updated template with GUID $GUID with package tag: $PackageName " - Sev ' Info'
45+ if ($Remove -eq $true ) {
46+ Write-LogMessage - headers $Headers - API $APIName - message " $LogMessage $GUID " - Sev ' Info'
47+ } else {
48+ Write-LogMessage - headers $Headers - API $APIName - message " $LogMessage $GUID with package tag: $PackageValue " - Sev ' Info'
49+ }
3350 }
3451
35- $body = [pscustomobject ]@ { ' Results' = " Successfully updated template(s) with package tag: $PackageName " }
52+ $body = [pscustomobject ]@ { ' Results' = $SuccessMessage }
3653
3754 } catch {
3855 $ErrorMessage = Get-CippException - Exception $_
39- Write-LogMessage - headers $Headers - API $APIName - message " Failed to set package tag: $ ( $ErrorMessage.NormalizedError ) " - Sev ' Error' - LogData $ErrorMessage
40- $body = [pscustomobject ]@ {' Results' = " Failed to set package tag: $ ( $ErrorMessage.NormalizedError ) " }
56+ if ($Remove -eq $true ) {
57+ Write-LogMessage - headers $Headers - API $APIName - message " Failed to remove package tag: $ ( $ErrorMessage.NormalizedError ) " - Sev ' Error' - LogData $ErrorMessage
58+ $body = [pscustomobject ]@ {' Results' = " Failed to remove package tag: $ ( $ErrorMessage.NormalizedError ) " }
59+ } else {
60+ Write-LogMessage - headers $Headers - API $APIName - message " Failed to set package tag: $ ( $ErrorMessage.NormalizedError ) " - Sev ' Error' - LogData $ErrorMessage
61+ $body = [pscustomobject ]@ {' Results' = " Failed to set package tag: $ ( $ErrorMessage.NormalizedError ) " }
62+ }
4163 }
4264
4365 # Associate values to output bindings by calling 'Push-OutputBinding'.
0 commit comments