lib/actions/releases/DeleteReleaseAction/DeleteReleaseAction.ps1

#############################################################################
# DeleteReleaseAction.ps1 - Delete a GitHub Release
#############################################################################

class DeleteReleaseAction : ReleaseRemediationAction {
    [int]$ReleaseId
    
    DeleteReleaseAction([string]$tagName, [int]$releaseId) : base("Delete release", $tagName) {
        $this.ReleaseId = $releaseId
        $this.Priority = 10  # Delete first
    }
    
    [bool] Execute([RepositoryState]$state) {
        Write-Host "Auto-fix: Remove release for $($this.TagName)"
        $success = Remove-GitHubRelease -State $state -TagName $this.TagName -ReleaseId $this.ReleaseId
        
        if ($success) {
            Write-Host "✓ Success: Removed release for $($this.TagName)"
            return $true
        } else {
            Write-Host "✗ Failed: Remove release for $($this.TagName)"
            return $false
        }
    }
    
    [string[]] GetManualCommands([RepositoryState]$state) {
        $repoArg = ""
        if ($state.RepoOwner -and $state.RepoName) {
            $repoArg = " --repo $($state.RepoOwner)/$($state.RepoName)"
        }
        return @("gh release delete $($this.TagName)$repoArg --yes")
    }
}