<?php
// API para retornar dados de fotos e documentos de um equipamento
require_once '../5_config/config.php';
verificarAuth();
$db = getDB();

$equipamento_id = intval($_GET['equipamento_id'] ?? 0);

if (!$equipamento_id) {
    http_response_code(400);
    echo json_encode(['erro' => 'equipamento_id obrigatório']);
    exit;
}

// Carregar equipamento
$s = $db->prepare("SELECT * FROM equipamentos WHERE id=?");
$s->execute([$equipamento_id]);
$equipamento = $s->fetch();

if (!$equipamento) {
    http_response_code(404);
    echo json_encode(['erro' => 'Equipamento não encontrado']);
    exit;
}

// Carregar fotos
$stmt_fotos = $db->prepare("SELECT * FROM equipamento_fotos WHERE equipamento_id=? ORDER BY ordem");
$stmt_fotos->execute([$equipamento_id]);
$fotos = $stmt_fotos->fetchAll(PDO::FETCH_ASSOC);

// Carregar documentos
$stmt_docs = $db->prepare("SELECT * FROM documentos WHERE equipamento_id=? AND categoria IN ('laudo_nr12','procedimento','diagrama_unifilar') ORDER BY criado_em DESC");
$stmt_docs->execute([$equipamento_id]);
$documentos = $stmt_docs->fetchAll(PDO::FETCH_ASSOC);

// Formatar resposta
$fotos_formatadas = array_map(function($f) {
    return [
        'id' => $f['id'],
        'descricao' => $f['descricao'],
        'url' => UPLOAD_URL . $f['arquivo']
    ];
}, $fotos);

$docs_formatados = array_map(function($d) {
    return [
        'id' => $d['id'],
        'nome' => $d['nome'],
        'categoria' => $d['categoria'],
        'tamanho_kb' => $d['tamanho_kb'],
        'url' => UPLOAD_URL . $d['arquivo']
    ];
}, $documentos);

header('Content-Type: application/json');
echo json_encode([
    'equipamento' => [
        'id' => $equipamento['id'],
        'nome' => $equipamento['nome'],
        'unidade_id' => $equipamento['unidade_id']
    ],
    'fotos' => $fotos_formatadas,
    'documentos' => $docs_formatados
]);
