<?php
require_once __DIR__ . '/../auth_middleware.php';
require_once '/home/akgbilis/fi_sf/config.php';

header('Content-Type: application/json');

$userId = $decoded->sub;

// ✅ En iyi 10 kullanıcıyı sırayla çek
$topStmt = $pdo->query("SELECT id AS user_id, name, nickname, points FROM users ORDER BY points DESC LIMIT 10");
$topUsers = $topStmt->fetchAll(PDO::FETCH_ASSOC);

// 🔁 Points alanını integer yap
$topUsers = array_map(function ($user) {
    $user['points'] = (int) $user['points'];
    return $user;
}, $topUsers);

// ✅ Kullanıcının sırasını ve puanını al
$rankStmt = $pdo->prepare("
    SELECT COUNT(*) + 1 AS my_rank 
    FROM users 
    WHERE points > (SELECT points FROM users WHERE id = ?)
");
$rankStmt->execute([$userId]);
$myRank = (int) $rankStmt->fetchColumn();

$selfStmt = $pdo->prepare("SELECT name, nickname, points FROM users WHERE id = ?");
$selfStmt->execute([$userId]);
$self = $selfStmt->fetch(PDO::FETCH_ASSOC);

if (!$self) {
    echo json_encode([
        "success" => false,
        "error" => "Kullanıcı bulunamadı"
    ]);
    exit;
}

echo json_encode([
    "success" => true,
    "top" => $topUsers,
    "my_rank" => $myRank,
    "my_points" => (int)$self['points'],
    "my_user_id" => $userId,
    "my_nickname" => $self['nickname']
]);