<?php
header('Content-Type: application/json');
require_once __DIR__ . '/../db/conexion.php';

$response = ['success' => false, 'conceptos' => []];
// Lista por defecto para usarse como fallback si la tabla no existe
$defaultConcepts = [
    ['id' => 1, 'concepto' => 'Préstamos personal'],
    ['id' => 2, 'concepto' => 'Descuento administrativo'],
    ['id' => 3, 'concepto' => 'Vale para Lentes'],
    ['id' => 4, 'concepto' => 'Descuento por Responsabilidad Patrimonial']
];

// Intentar obtener los conceptos usando la conexión mysqli ($conn)
try {
    $sql = "SELECT id, concepto FROM conceptos_deducciones ORDER BY concepto ASC";
    $result = $conn->query($sql);

    if ($result) {
        while ($row = $result->fetch_assoc()) {
            $response['conceptos'][] = $row;
        }
        $response['success'] = true;
    } else {
        // Si la tabla no existe o hay error, devolvemos el fallback para no romper el frontend
        if (isset($conn->errno) && intval($conn->errno) === 1146) { // tabla no existe
            $response['conceptos'] = $defaultConcepts;
            $response['success'] = true;
            $response['message'] = 'Tabla no encontrada, usando conceptos por defecto.';
        } else {
            $response['message'] = $conn->error ?: 'Error en la consulta';
            // como medida de seguridad devolvemos fallback si no hay conceptos encontrados
            if (empty($response['conceptos'])) {
                $response['conceptos'] = $defaultConcepts;
            }
        }
    }
} catch (Exception $e) {
    // En caso de excepción, devolver fallback para mantener la interfaz funcional
    $response['message'] = $e->getMessage();
    $response['conceptos'] = $defaultConcepts;
}

// Asegurar salida JSON limpia
echo json_encode($response);
?>
