# Run sync directly and capture detailed output
$password = ConvertTo-SecureString "Paper123!@#" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("INTRANET\sysadmin", $password)

Write-Host "=== Running Sync Directly ===" -ForegroundColor Cyan
Write-Host ""

Invoke-Command -ComputerName 192.168.0.6 -Credential $cred -ScriptBlock {
    $scriptPath = "C:\Shares\test\scripts\Sync-FromNAS.ps1"
    $logFile = "C:\Shares\test\scripts\sync-from-nas.log"

    Write-Host "[1] Getting log position" -ForegroundColor Yellow
    $logSize = (Get-Item $logFile).Length

    Write-Host "[2] Running sync..." -ForegroundColor Yellow
    Write-Host ""

    # Run sync and capture output
    & powershell.exe -ExecutionPolicy Bypass -File $scriptPath 2>&1 | Out-Null

    Write-Host "[3] Checking new log entries for SCP errors" -ForegroundColor Yellow
    Write-Host "=" * 80 -ForegroundColor Gray

    Start-Sleep -Seconds 2
    $newLogSize = (Get-Item $logFile).Length
    $newBytes = $newLogSize - $logSize

    if ($newBytes -gt 0) {
        $allContent = Get-Content $logFile -Raw
        $newContent = $allContent.Substring([math]::Max(0, $allContent.Length - $newBytes - 500))

        # Look specifically for SCP PUSH ERROR
        $scpErrors = $newContent -split "`n" | Where-Object { $_ -match "SCP PUSH ERROR" }

        if ($scpErrors) {
            Write-Host "[SUCCESS] Found detailed SCP errors!" -ForegroundColor Green
            Write-Host ""
            $scpErrors | ForEach-Object {
                Write-Host $_ -ForegroundColor Red
            }
        } else {
            # Show all errors
            Write-Host "[INFO] No 'SCP PUSH ERROR' found. Showing all errors:" -ForegroundColor Yellow
            Write-Host ""
            $allErrors = $newContent -split "`n" | Where-Object { $_ -match "ERROR" }
            if ($allErrors) {
                $allErrors | Select-Object -First 10 | ForEach-Object {
                    Write-Host $_ -ForegroundColor Red
                }
            } else {
                Write-Host "[INFO] No errors in this sync run!" -ForegroundColor Green
            }
        }
    } else {
        Write-Host "[WARNING] No new log entries detected" -ForegroundColor Yellow
    }
}

Write-Host ""
Write-Host "=== Sync Complete ===" -ForegroundColor Cyan
