<?php



require_once __DIR__ . '/../../config.php';

// POST /admin/productos/update.php
// Body: { id, field, value, isPromo }

requireAdmin();

$data = body();

if (empty($data['id']) || empty($data['field']) || !isset($data['value'])) {
    jsonErr(400, 'ID, field y value requeridos.');
}

$allowedFields = ['nombre', 'descripcion', 'precio', 'pv', 'puntaje', 'peso', 'fotografia'];

if (!in_array($data['field'], $allowedFields)) {
    jsonErr(400, 'Campo no permitido para actualizar.');
}

$db = getDB();
$isPromo = (bool)($data['isPromo'] ?? false);
$table = $isPromo ? 'promod' : 'productos';
$idField = $isPromo ? 'id_promo' : 'id_prod';

$sql = "UPDATE $table SET {$data['field']} = ? WHERE $idField = ?";
$stmt = $db->prepare($sql);
$stmt->execute([$data['value'], $data['id']]);

if ($stmt->rowCount() === 0) {
    jsonErr(404, 'Producto no encontrado.');
}

jsonOk(['message' => 'Producto actualizado.']);
