<?php
// api_poligrafia/estudio_seguridad/read_candidatos_con_empresa.php
// ✅ Lista candidatos activos + empresa asociada (JOIN a EMPRESA_CLIENTE)
// ✅ CORS + conexión igual a tu API de referencia

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// CORS
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Content-Type");
header("Access-Control-Allow-Methods: GET, OPTIONS");
header("Content-Type: application/json; charset=UTF-8");

if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
  http_response_code(200);
  exit;
}

require_once(__DIR__ . '/../config.php'); // Debe exponer $mysqli

try {

  // ✅ Validar conexión
  if (!isset($mysqli) || !$mysqli) {
    http_response_code(500);
    echo json_encode([
      "success" => false,
      "message" => "No se pudo inicializar la conexión a la base de datos."
    ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
    exit;
  }

  $sql = "
    SELECT
      c.ID_EMPRESA,
      c.NOMBRE_CANDIDATO,
      c.APELLIDO_CANDIDATO,
      CONCAT(c.NOMBRE_CANDIDATO, ' ', c.APELLIDO_CANDIDATO) AS NOMBRE_COMPLETO_CANDIDATO,
      c.TIPO_DOCUMENTO_CANDIDATO,
      c.NUMERO_DOCUMENTO_CANDIDATO,
      c.ESTADO_CANDIDATO,
      c.EMPRESA_CANDIDATO,
      e.NOMBRE_EMPRESA
    FROM CANDIDATO_EMPRESA c
    LEFT JOIN EMPRESA_CLIENTE e ON e.ID_EMPRESA = c.EMPRESA_CANDIDATO
    WHERE c.ESTADO_CANDIDATO = 1
    ORDER BY c.ID_EMPRESA DESC
  ";

  // ✅ BLOQUE APLICADO COMPLETO AQUÍ
  $stmt = $mysqli->prepare($sql);
  if ($stmt === false) {
    http_response_code(500);
    echo json_encode([
      "success" => false,
      "message" => "Error al preparar la consulta: " . $mysqli->error
    ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
    exit;
  }

  if (!$stmt->execute()) {
    http_response_code(500);
    echo json_encode([
      "success" => false,
      "message" => "Error al ejecutar la consulta: " . $stmt->error
    ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
    $stmt->close();
    $mysqli->close();
    exit;
  }

  $result = $stmt->get_result();
  $data = [];

  if ($result && $result->num_rows > 0) {
    $data = $result->fetch_all(MYSQLI_ASSOC);
  }

  echo json_encode([
    "success" => true,
    "data" => $data
  ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

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

} catch (Throwable $e) {
  http_response_code(500);
  echo json_encode([
    "success" => false,
    "message" => "Error inesperado: " . $e->getMessage()
  ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

  if (isset($stmt) && $stmt) $stmt->close();
  if (isset($mysqli) && $mysqli) $mysqli->close();
}
