Skip to content

Commit 20eb3d6

Browse files
committed
Remove standards rows from table when the template is deleted
1 parent b995698 commit 20eb3d6

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

Modules/CIPPHTTP/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-RemoveStandardTemplate.ps1

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,26 @@ function Invoke-RemoveStandardTemplate {
3535
Remove-AzDataTableEntity -Force @ScheduledTasksTable -Entity $DriftTask
3636
Write-LogMessage -Headers $Headers -API $APIName -message "Removed drift remediation scheduled task: $($DriftTask.Name)" -Sev Info
3737
}
38+
$StandardsReportsTable = Get-CIPPTable -TableName 'CippStandardsReports'
39+
$RemovedTemplateIds = @(@($Entities.RowKey) + $ID | Where-Object { $_ } | Select-Object -Unique)
40+
$OrphanedReports = [System.Collections.Generic.List[object]]::new()
41+
foreach ($RemovedTemplateId in $RemovedTemplateIds) {
42+
$SafeTemplateId = ConvertTo-CIPPODataFilterValue -Value $RemovedTemplateId -Type Guid
43+
$Rows = Get-CIPPAzDataTableEntity @StandardsReportsTable -Filter "TemplateId eq '$SafeTemplateId'"
44+
foreach ($Row in $Rows) { $OrphanedReports.Add($Row) }
45+
}
46+
if ($OrphanedReports.Count -gt 0) {
47+
Remove-AzDataTableEntity -Force @StandardsReportsTable -Entity @($OrphanedReports)
48+
Write-LogMessage -Headers $Headers -API $APIName -message "Removed $($OrphanedReports.Count) orphaned standards comparison row(s) for template id: $($ID)" -Sev Info
49+
}
3850

3951
$Result = "Removed Standards Template named: '$($TemplateName)' with id: $($ID)"
4052
if ($DriftTasks) {
4153
$Result += ". Also removed $(@($DriftTasks).Count) associated drift remediation scheduled task(s)."
4254
}
55+
if ($OrphanedReports.Count -gt 0) {
56+
$Result += " Cleaned up $($OrphanedReports.Count) orphaned standards comparison row(s)."
57+
}
4358
Write-LogMessage -Headers $Headers -API $APIName -message $Result -Sev Info
4459
$StatusCode = [HttpStatusCode]::OK
4560
} catch {

0 commit comments

Comments
 (0)