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

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

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    echo json_encode(['success' => false, 'message' => 'Método não permitido.']);
    exit;
}

// Verificar CSRF token
if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
    echo json_encode(['success' => false, 'message' => 'Token de segurança inválido.']);
    exit;
}

// Verificar se o usuário está logado
if (!isset($_SESSION['logado']) || $_SESSION['logado'] !== true) {
    echo json_encode(['success' => false, 'message' => 'Você precisa estar logado.']);
    exit;
}

// Verificar tenant_id
$tenant_id = $_SESSION['tenant_id'] ?? null;
if (!$tenant_id || !is_numeric($tenant_id)) {
    echo json_encode(['success' => false, 'message' => 'tenant_id inválido.']);
    exit;
}

// Obter ID da atividade
$id = $_POST['id'] ?? null;
if (!$id || !is_numeric($id)) {
    echo json_encode(['success' => false, 'message' => 'ID da atividade inválido.']);
    exit;
}

$usuario_id = $_SESSION['usuario_id'] ?? null;
$is_admin = in_array($_SESSION['permissao'], ['admin', 'super_admin']);

// Buscar atividade
$sql = "SELECT a.*, c.Nome_Cliente, u.nome AS usuario_nome 
        FROM atividades a 
        LEFT JOIN clientes c ON a.cliente_id = c.id 
        LEFT JOIN usuarios u ON a.usuario_id = u.id 
        WHERE a.id = ? AND a.tenant_id = ?";
        
// Se não for admin, verificar se é o dono ou tem acesso via compartilhamento
if (!$is_admin) {
    $sql .= " AND (a.usuario_id = ? OR EXISTS (
        SELECT 1 FROM compartilhamento_agenda ca 
        WHERE ca.usuario_proprietario_id = a.usuario_id 
        AND ca.usuario_compartilhado_id = ? 
        AND ca.ativo = 1
    ))";
}

$stmt = $conn->prepare($sql);

if ($is_admin) {
    $stmt->bind_param("ii", $id, $tenant_id);
} else {
    $stmt->bind_param("iiii", $id, $tenant_id, $usuario_id, $usuario_id);
}

$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows === 0) {
    echo json_encode(['success' => false, 'message' => 'Atividade não encontrada ou você não tem permissão para acessá-la.']);
    exit;
}

$atividade = $result->fetch_assoc();
echo json_encode(['success' => true, 'atividade' => $atividade]);

$stmt->close();
$conn->close();