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

if (!isset($_SESSION['logado'])) {
    echo json_encode(['success' => false, 'message' => 'Não autorizado']);
    exit;
}

$tenant_id = $_SESSION['tenant_id'] ?? null;
$usuario_id = $_SESSION['usuario_id'] ?? null;

if (!$tenant_id || !$usuario_id) {
    echo json_encode(['success' => false, 'message' => 'Dados de sessão inválidos']);
    exit;
}

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

$atividade_id = $_POST['id'] ?? null;
$minutos = $_POST['minutos'] ?? 5;

if (!$atividade_id || !is_numeric($atividade_id)) {
    echo json_encode(['success' => false, 'message' => 'ID da atividade inválido']);
    exit;
}

header('Content-Type: application/json; charset=utf-8');

try {
    // Buscar atividade
    if (isset($pdo) && $pdo instanceof PDO) {
        $sql = "SELECT * FROM atividades WHERE id = ? AND tenant_id = ?";
        $stmt = $pdo->prepare($sql);
        $stmt->execute([$atividade_id, $tenant_id]);
        $atividade = $stmt->fetch(PDO::FETCH_ASSOC);
    } else {
        $sql = "SELECT * FROM atividades WHERE id = ? AND tenant_id = ?";
        $stmt = $conn->prepare($sql);
        $stmt->bind_param("ii", $atividade_id, $tenant_id);
        $stmt->execute();
        $result = $stmt->get_result();
        $atividade = $result->fetch_assoc();
        $stmt->close();
    }

    if (!$atividade) {
        throw new Exception("Atividade não encontrada");
    }

    // Atualizar ultima_notificacao para adiar
    $nova_data_notificacao = date('Y-m-d H:i:s', strtotime("+$minutos minutes"));
    
    if (isset($pdo) && $pdo instanceof PDO) {
        $update = $pdo->prepare("UPDATE atividades SET ultima_notificacao = ? WHERE id = ?");
        $update->execute([$nova_data_notificacao, $atividade_id]);
    } else {
        $update = $conn->prepare("UPDATE atividades SET ultima_notificacao = ? WHERE id = ?");
        $update->bind_param("si", $nova_data_notificacao, $atividade_id);
        $update->execute();
        $update->close();
    }

    echo json_encode([
        'success' => true,
        'message' => 'Notificação adiada com sucesso',
        'reagendado_para' => $nova_data_notificacao
    ]);

} catch (Exception $e) {
    error_log("Erro em adiar_notificacao.php: " . $e->getMessage());
    echo json_encode([
        'success' => false,
        'message' => 'Erro ao adiar notificação: ' . $e->getMessage()
    ]);
}

// Fechar conexão se for MySQLi
if (isset($conn) && $conn instanceof mysqli) {
    $conn->close();
}
?>