Private/Get-KadenTransactionCode.ps1
|
function Get-KadenTransactionCode { <# .SYNOPSIS Map an open transaction journal to the interruption code a developer sees. #> [CmdletBinding()] param( $Journal ) if (-not $Journal) { return $null } switch ([string]$Journal.status) { 'planned' { return 'KDN-TXN-PLANNED' } 'backup-incomplete' { return 'KDN-TXN-BACKUP-INCOMPLETE' } 'replacement-incomplete' { return 'KDN-TXN-REPLACEMENT-INCOMPLETE' } 'payload-verified' { return 'KDN-TXN-STATE-PENDING' } 'completed' { return $null } default { $operations = @($Journal.operations) $replaced = @($operations | Where-Object { [string]$_.replacementStatus -eq 'complete' }) if ($replaced.Count -gt 0) { return 'KDN-TXN-REPLACEMENT-INCOMPLETE' } return 'KDN-TXN-BACKUP-INCOMPLETE' } } } |