<?php
require_once '../config/config.php';
session_start();

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

// Verificar sesión activa
if (!isset($_SESSION['autenticado']) || !$_SESSION['autenticado']) {
    http_response_code(401);
    echo json_encode(['error' => 'No autenticado']);
    exit;
}

// Archivo de datos para Chile
$dataFile = '../data/productos_chile.json';

// Verificar que la solicitud sea POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Obtener el contenido JSON de la solicitud
    $data = file_get_contents('php://input');
    
    // Decodificar el JSON a un array de PHP
    $productos = json_decode($data, true);
    
    // Verificar si la decodificación fue exitosa
    if ($productos !== null) {
        // Guardar los datos en el archivo productos_chile.json
        if (file_put_contents($dataFile, json_encode($productos, JSON_PRETTY_PRINT))) {
            echo json_encode(['mensaje' => 'Productos guardados correctamente']);
        } else {
            echo json_encode(['error' => 'No se pudo guardar los productos']);
        }
    } else {
        echo json_encode(['error' => 'Datos no válidos']);
    }
} elseif ($_SERVER['REQUEST_METHOD'] === 'GET') {
    // Leer y devolver los productos
    if (file_exists($dataFile)) {
        $productos = file_get_contents($dataFile);
        echo $productos;
    } else {
        echo json_encode([]);
    }
} elseif ($_SERVER['REQUEST_METHOD'] === 'DELETE') {
    // Obtener el contenido JSON de la solicitud DELETE
    $data = file_get_contents('php://input');
    $deleteData = json_decode($data, true);
    
    if (isset($deleteData['id'])) {
        // Leer el archivo productos_chile.json
        $productos = json_decode(file_get_contents($dataFile), true);
        
        // Filtrar el producto a eliminar según su ID
        $productos = array_filter($productos, function($producto) use ($deleteData) {
            return $producto['id'] != $deleteData['id'];
        });
        
        // Reindexar el array
        $productos = array_values($productos);
        
        // Guardar los datos actualizados
        if (file_put_contents($dataFile, json_encode($productos, JSON_PRETTY_PRINT))) {
            echo json_encode(['mensaje' => 'Producto eliminado correctamente']);
        } else {
            echo json_encode(['error' => 'No se pudo eliminar el producto']);
        }
    } else {
        echo json_encode(['error' => 'No se proporcionó un ID para eliminar']);
    }
} else {
    echo json_encode(['error' => 'Método de solicitud no válido']);
}
?>
