<?php
/**
 * API: Finalizar Chat (Apagar Mensagens)
 */

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

session_start();

require_once __DIR__ . '/../../config/config_db.php';
require_once __DIR__ . '/../auth_helper.php';
require_once __DIR__ . '/../chat_helper.php';

$usuario = usuario_logado();
if (!$usuario) {
    echo json_encode(['success' => false, 'error' => 'Não autenticado']);
    exit;
}

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

$conversa_id = intval($_POST['conversa_id'] ?? 0);

if ($conversa_id <= 0) {
    echo json_encode(['success' => false, 'error' => 'Conversa inválida']);
    exit;
}

try {
    // Verificar permissão
    global $pdo;
    $stmt = $pdo->prepare("SELECT usuario_id FROM chat_conversas WHERE id = ? LIMIT 1");
    $stmt->execute([$conversa_id]);
    $conversa = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if (!$conversa) {
        echo json_encode(['success' => false, 'error' => 'Conversa não encontrada']);
        exit;
    }
    
    // Usuário só pode finalizar sua própria conversa, admin pode finalizar qualquer conversa
    if ($usuario['tipo'] !== 'admin' && $conversa['usuario_id'] != $usuario['id']) {
        echo json_encode(['success' => false, 'error' => 'Sem permissão']);
        exit;
    }
    
    if (finalizar_chat($conversa_id)) {
        echo json_encode(['success' => true]);
    } else {
        echo json_encode(['success' => false, 'error' => 'Erro ao finalizar chat']);
    }
} catch (Exception $e) {
    error_log("Erro ao finalizar chat: " . $e->getMessage());
    echo json_encode(['success' => false, 'error' => 'Erro interno']);
}

