public/Get-UnraidParityHistory.ps1

function Get-UnraidParityHistory {
    <#
    .SYNOPSIS
        Gets parity check history and statistics.

    .DESCRIPTION
        Returns historical parity check data including dates, durations, errors found,
        and corrections made. Currently limited to most recent check status due to API constraints.

    .PARAMETER Session
        Unraid session to use (defaults to the current session).

    .OUTPUTS
        UnraidParityHistory[]. Array of parity check records.

    .EXAMPLE
        Get-UnraidParityHistory
        View most recent parity check status.
    #>

    [CmdletBinding()]
    [OutputType("UnraidParityHistory")]
    param(
        [Parameter()]
        [UnraidSession]$Session = $script:DefaultUnraidSession
    )

    process {
        $gqlQuery = @"
        query ParityCheckHistory {
            array {
                parityCheckStatus {
                    status
                    progress
                    speed
                    errors
                    correcting
                    date
                    duration
                }
            }
        }
"@

        $result = Invoke-UnraidQuery -Query $gqlQuery -Session $Session

        if ($result.array.parityCheckStatus) {
            $checkData = $result.array.parityCheckStatus
            
            if ($checkData.date) {
                return [UnraidParityHistory]::new($checkData)
            }
        }
    }
}