<?php

require_once 'vendor/autoload.php';

// Load Laravel
$app = require_once 'bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
$kernel->bootstrap();

use App\Services\MicrosoftGraphSyncService;

try {
    echo "🔍 Debugging Microsoft Graph connection...\n";

    // Check environment variables
    echo "📋 Environment variables:\n";
    echo "- MSGRAPH_CLIENT_ID: " . (env('MSGRAPH_CLIENT_ID') ? 'SET' : 'NOT_SET') . "\n";
    echo "- MSGRAPH_SECRET_ID: " . (env('MSGRAPH_SECRET_ID') ? 'SET' : 'NOT_SET') . "\n";
    echo "- MSGRAPH_TENANT_ID: " . (env('MSGRAPH_TENANT_ID') ? 'SET' : 'NOT_SET') . "\n";
    echo "- MSGRAPH_SERVICE_USER_ID: " . (env('MSGRAPH_SERVICE_USER_ID') ? 'SET' : 'NOT_SET') . "\n";

    // Test service instantiation
    echo "\n🔧 Testing service instantiation...\n";
    $service = new MicrosoftGraphSyncService();
    echo "✅ Service created successfully\n";

    // Test connection
    echo "\n🔌 Testing connection...\n";
    $results = $service->testConnection();
    echo "📊 Connection results:\n";
    print_r($results);

} catch (Exception $e) {
    echo "❌ Error: " . $e->getMessage() . "\n";
    echo "📍 File: " . $e->getFile() . ":" . $e->getLine() . "\n";
    echo "🔍 Trace:\n" . $e->getTraceAsString() . "\n";
}
