<?php
// toggle_cliente_bloqueio.php
require_once __DIR__ . '/functions.php';
require_once __DIR__ . '/auth.php';
requireLogin();

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

// Apenas ADMIN pode executar
if (usuarioLogado()['perfil'] !== 'ADMIN') {
    echo json_encode(['success' => false, 'error' => 'Acesso negado. Apenas ADMIN.']);
    exit;
}

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    echo json_encode(['success' => false, 'error' => 'Método inválido']);
    exit;
}

if (!verifyCsrf($_POST['csrf_token'] ?? '')) {
    echo json_encode(['success' => false, 'error' => 'Token CSRF inválido']);
    exit;
}

$id = (int)($_POST['id'] ?? 0);
if (!$id) {
    echo json_encode(['success' => false, 'error' => 'ID inválido']);
    exit;
}

$cli = getClienteById($id);
if (!$cli) {
    echo json_encode(['success' => false, 'error' => 'Cliente não encontrado']);
    exit;
}

$novoStatus = $cli['bloqueado'] ? 0 : 1;
$stmt = pdo()->prepare("UPDATE clientes SET bloqueado = ? WHERE id = ?");
$result = $stmt->execute([$novoStatus, $id]);

if ($result) {
    echo json_encode(['success' => true]);
} else {
    echo json_encode(['success' => false, 'error' => 'Erro ao atualizar no banco de dados']);
}