<?php
declare(strict_types=1);

namespace PpPhp\Core\Platform\Event\Streaming;

final class EventStreamingReportWriter
{
    public function write(string $basePath, array $verification): string
    {
        $reportDir = rtrim($basePath, DIRECTORY_SEPARATOR) . '/storage/reports/r0100';

        if (!is_dir($reportDir)) {
            mkdir($reportDir, 0775, true);
        }

        $reportFile = $reportDir . '/r0100-event-streaming-runtime-report.json';

        file_put_contents($reportFile, json_encode([
            'milestone' => 'R0100.5E.7.8',
            'name' => 'Event Streaming Runtime Verification',
            'generatedAt' => date('c'),
            'verification' => $verification,
        ], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));

        return $reportFile;
    }
}
