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

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

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

$tenant_id = $_SESSION['tenant_id'] ?? 1;
$usuario_id = $_SESSION['usuario_id'] ?? $_SESSION['user_id'] ?? 1;

try {
    $input = json_decode(file_get_contents('php://input'), true);
    if (!$input && $_SERVER['REQUEST_METHOD'] === 'POST') {
        $input = $_POST;
    }
    
    if (isset($input['notificacao_id'])) {
        // Marcar uma notificação específica
        $stmt = $conn->prepare("UPDATE notificacoes 
                               SET visualizada = 'sim', data_visualizacao = NOW() 
                               WHERE id = ? AND usuario_id = ? AND tenant_id = ?");
        $stmt->bind_param("iii", $input['notificacao_id'], $usuario_id, $tenant_id);
        $stmt->execute();
        $stmt->close();
    } elseif (isset($input['todas']) && $input['todas']) {
        // Marcar todas as notificações
        $stmt = $conn->prepare("UPDATE notificacoes 
                               SET visualizada = 'sim', data_visualizacao = NOW() 
                               WHERE usuario_id = ? AND tenant_id = ? AND visualizada = 'nao'");
        $stmt->bind_param("ii", $usuario_id, $tenant_id);
        $stmt->execute();
        $stmt->close();
    }
    
    echo json_encode(['success' => true]);
    
} catch (Exception $e) {
    error_log('Erro marcar_notificacao_vista.php: ' . $e->getMessage());
    echo json_encode(['success' => false, 'message' => 'Erro interno']);
}