<?php
/** Painel da psicóloga: métricas e lista de assinantes.
 *  Protegido pela ADMIN_KEY do config (em branco = desativado). */

require_once __DIR__ . '/db.php';

if (ADMIN_KEY === '') {
    responder(['erro' => 'Painel desativado. Defina ADMIN_KEY em api/config.php.'], 503);
}

$chave = $_SERVER['HTTP_X_ADMIN_KEY'] ?? (corpo_json()['chave'] ?? '');
if (!hash_equals(ADMIN_KEY, (string) $chave)) {
    usleep(400000);
    responder(['erro' => 'Chave incorreta.'], 401);
}

$rows = db()->query(
    'SELECT id, nome, email, sub_status, criado_em, sub_verificada_em
     FROM usuarios ORDER BY id DESC'
)->fetchAll(PDO::FETCH_ASSOC);

$ativos = count(array_filter($rows, fn ($r) => $r['sub_status'] === 'authorized'));

responder([
    'ok' => true,
    'metricas' => [
        'contas' => count($rows),
        'assinantes_ativos' => $ativos,
        'receita_mensal_estimada' => $ativos * PRECO_MENSAL,
        'preco' => PRECO_MENSAL,
    ],
    'usuarios' => $rows,
]);
