<?php
session_start();
require_once 'conexao.php';

// Verificar autenticação
if (!isset($_SESSION['logado']) || $_SESSION['logado'] !== true) {
    header('HTTP/1.1 401 Unauthorized');
    exit;
}

$funil_id = intval($_GET['funil_id'] ?? 0);
$tenant_id = $_SESSION['tenant_id'] ?? null;
$usuario_id = $_SESSION['usuario_id'] ?? null;

// Verificar se o usuário tem permissão para gerenciar este funil
$pode_gerenciar = false;
if ($_SESSION['permissao'] === 'admin') {
    $pode_gerenciar = true;
} else {
    $stmt = $conn->prepare("SELECT 1 FROM permissoes_funis WHERE funil_id = ? AND usuario_id = ? AND gerenciar = 1");
    $stmt->bind_param("ii", $funil_id, $usuario_id);
    $stmt->execute();
    $pode_gerenciar = $stmt->get_result()->num_rows > 0;
}

if (!$pode_gerenciar) {
    header('HTTP/1.1 403 Forbidden');
    exit;
}

// Obter usuários do tenant
$usuarios = [];
$stmt = $conn->prepare("SELECT id, nome FROM usuarios WHERE tenant_id = ? AND id != ? ORDER BY nome ASC");
$stmt->bind_param("ii", $tenant_id, $usuario_id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    $usuarios[] = $row;
}

// Obter permissões do funil
$permissoes = [];
if ($funil_id > 0) {
    $stmt = $conn->prepare("SELECT * FROM permissoes_funis WHERE funil_id = ?");
    $stmt->bind_param("i", $funil_id);
    $stmt->execute();
    $result = $stmt->get_result();
    while ($row = $result->fetch_assoc()) {
        $permissoes[$row['usuario_id']] = $row;
    }
}

$conn->close();

header('Content-Type: application/json');
echo json_encode([
    'usuarios' => $usuarios,
    'permissoes' => $permissoes
]);
?>