From 408e4f66ac13f38c37336f81728bba3a14fbdeb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Thu, 24 Apr 2025 21:54:18 +0200 Subject: [PATCH 1/2] Fix: variable casing and improve logging messages in Invoke-RemoveStandardTemplate function --- .../Standards/Invoke-RemoveStandardTemplate.ps1 | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-RemoveStandardTemplate.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-RemoveStandardTemplate.ps1 index 74249b5bdec4..8230ebeb6932 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-RemoveStandardTemplate.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-RemoveStandardTemplate.ps1 @@ -12,22 +12,23 @@ Function Invoke-RemoveStandardTemplate { $APIName = $Request.Params.CIPPEndpoint $Headers = $Request.Headers - Write-LogMessage -Headers $Headers -API $APINAME -message 'Accessed this API' -Sev 'Debug' + Write-LogMessage -Headers $Headers -API $APIName -message 'Accessed this API' -Sev 'Debug' # Interact with query parameters or the body of the request. $ID = $Request.Body.ID ?? $Request.Query.ID try { $Table = Get-CippTable -tablename 'templates' - $Filter = "PartitionKey eq 'StandardsTemplateV2' and RowKey eq '$id'" - $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey - Remove-AzDataTableEntity -Force @Table -Entity $clearRow - $Result = "Removed Standards Template named $($ClearRow.name) and id $($id)" - Write-LogMessage -Headers $Headers -API $APINAME -message $Result -Sev 'Info' + $Filter = "PartitionKey eq 'StandardsTemplateV2' and RowKey eq '$ID'" + $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey, JSON + $TemplateName = (ConvertFrom-Json -InputObject $ClearRow.JSON).templateName + Remove-AzDataTableEntity -Force @Table -Entity $ClearRow + $Result = "Removed Standards Template named: '$($TemplateName)' with id: $($ID)" + Write-LogMessage -Headers $Headers -API $APIName -message $Result -Sev Info $StatusCode = [HttpStatusCode]::OK } catch { $ErrorMessage = Get-CippException -Exception $_ - $Result = "Failed to remove Standards template $ID. $($ErrorMessage.NormalizedError)" - Write-LogMessage -Headers $Headers -API $APINAME -message $Result -Sev 'Error' -LogData $ErrorMessage + $Result = "Failed to remove Standards template: $TemplateName with id: $ID. Error: $($ErrorMessage.NormalizedError)" + Write-LogMessage -Headers $Headers -API $APIName -message $Result -Sev Error -LogData $ErrorMessage $StatusCode = [HttpStatusCode]::InternalServerError } From fd0495b0a25babff1eaff29174812da5d4a7fbd8 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Sat, 26 Apr 2025 11:24:13 -0400 Subject: [PATCH 2/2] fix delete standard template action --- .../Standards/Invoke-RemoveStandardTemplate.ps1 | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-RemoveStandardTemplate.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-RemoveStandardTemplate.ps1 index 74249b5bdec4..fbe7fff5f520 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-RemoveStandardTemplate.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-RemoveStandardTemplate.ps1 @@ -1,6 +1,6 @@ using namespace System.Net -Function Invoke-RemoveStandardTemplate { +function Invoke-RemoveStandardTemplate { <# .FUNCTIONALITY Entrypoint,AnyTenant @@ -19,9 +19,20 @@ Function Invoke-RemoveStandardTemplate { try { $Table = Get-CippTable -tablename 'templates' $Filter = "PartitionKey eq 'StandardsTemplateV2' and RowKey eq '$id'" - $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey + $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey, JSON + if (!$ClearRow) { + $Result = "Standards template with id $ID not found" + Write-LogMessage -Headers $Headers -API $APINAME -message $Result -Sev 'Error' + $StatusCode = [HttpStatusCode]::NotFound + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = $StatusCode + Body = @{'Results' = $Result } + }) + return + } + $Template = $ClearRow.JSON | ConvertFrom-Json Remove-AzDataTableEntity -Force @Table -Entity $clearRow - $Result = "Removed Standards Template named $($ClearRow.name) and id $($id)" + $Result = "Removed Standards Template named $($Template.templateName) ($($id))" Write-LogMessage -Headers $Headers -API $APINAME -message $Result -Sev 'Info' $StatusCode = [HttpStatusCode]::OK } catch {