<?php
/**
 * ICYLAB OS - Crear Categoría Vía AJAX
 */
require_once '../../core/config.php';
require_once '../../core/session.php';
require_once '../../core/database.php';
require_once '../../core/permissions.php';

require_login();
require_permission('module.products');
header('Content-Type: application/json');

// Validar método
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    http_response_code(405);
    header('Allow: POST');
    echo json_encode(['success' => false, 'message' => 'Método no permitido']);
    exit;
}

csrf_require_valid_request();

$pdo = db();
$name = trim($_POST['name'] ?? '');

if ($name === '') {
    echo json_encode(['success' => false, 'message' => 'El nombre de la categoría es obligatorio']);
    exit;
}

try {
    // Insertar la nueva categoría
    $stmt = $pdo->prepare("INSERT INTO product_categories (name) VALUES (?)");
    $stmt->execute([$name]);
    
    // Obtener el ID de la categoría recién creada
    $newId = $pdo->lastInsertId();

    // Devolver el ID y el Nombre para que JS arme la etiqueta <option>
    echo json_encode([
        'success' => true,
        'id' => $newId,
        'name' => $name
    ]);
} catch (Throwable $e) {
    echo json_encode([
        'success' => false, 
        'message' => 'Error crítico al guardar en la base de datos.'
    ]);
}
