<?php

declare(strict_types=1);

require_once __DIR__ . '/vendor/autoload.php';

use App\Framework\WebPush\Services\VapidKeyGenerator;

echo "=== VAPID Key Generation for Web Push ===\n\n";

try {
    $generator = new VapidKeyGenerator();
    $keyPair = $generator->generate();

    echo "✅ VAPID keys generated successfully!\n\n";

    echo "--- Copy these to your .env file ---\n\n";
    echo "VAPID_PUBLIC_KEY={$keyPair->publicKey}\n";
    echo "VAPID_PRIVATE_KEY={$keyPair->privateKey}\n";
    echo "VAPID_SUBJECT=mailto:admin@example.com\n\n";

    echo "--- Security Notes ---\n";
    echo "• The PUBLIC key goes in your frontend JavaScript\n";
    echo "• The PRIVATE key must remain secret on your server\n";
    echo "• NEVER commit private keys to version control\n\n";

} catch (\Exception $e) {
    echo "❌ Failed to generate VAPID keys: {$e->getMessage()}\n";
    exit(1);
}