false, 'msg' => 'Método no permitido']); break; } $entrada = json_decode(file_get_contents('php://input'), true); $nuevo = trim($entrada['sector'] ?? ''); if ($nuevo === '') { echo json_encode(['success' => false, 'msg' => 'Sector vacío']); break; } $sectores = file_exists($archivo) ? json_decode(file_get_contents($archivo), true) : []; if (in_array($nuevo, $sectores)) { echo json_encode(['success' => false, 'msg' => 'Sector duplicado']); break; } $sectores[] = $nuevo; if (file_put_contents($archivo, json_encode($sectores, JSON_PRETTY_PRINT))) { echo json_encode(['success' => true]); } else { echo json_encode(['success' => false, 'msg' => 'No se pudo guardar']); } break; } case 'update_sector': { if ($_SERVER['REQUEST_METHOD'] !== 'POST') { echo json_encode(['success' => false, 'msg' => 'Método no permitido']); break; } $entrada = json_decode(file_get_contents('php://input'), true); $viejo = trim($entrada['old_sector'] ?? ''); $nuevo = trim($entrada['new_sector'] ?? ''); if ($viejo === '' || $nuevo === '') { echo json_encode(['success' => false, 'msg' => 'Datos inválidos']); break; } $sectores = file_exists($archivo) ? json_decode(file_get_contents($archivo), true) : []; $actualizado = false; foreach ($sectores as &$sector) { if ($sector === $viejo) { $sector = $nuevo; $actualizado = true; break; } } if (!$actualizado) { echo json_encode(['success' => false, 'msg' => 'Sector no encontrado']); break; } if (file_put_contents($archivo, json_encode($sectores, JSON_PRETTY_PRINT))) { echo json_encode(['success' => true]); } else { echo json_encode(['success' => false, 'msg' => 'No se pudo guardar']); } break; } case 'delete_sector': { if ($_SERVER['REQUEST_METHOD'] !== 'POST') { echo json_encode(['success' => false, 'msg' => 'Método no permitido']); break; } $entrada = json_decode(file_get_contents('php://input'), true); $nombre = trim($entrada['sector'] ?? ''); if ($nombre === '') { echo json_encode(['success' => false, 'msg' => 'Sector inválido']); break; } $sectores = file_exists($archivo) ? json_decode(file_get_contents($archivo), true) : []; $nuevaLista = array_values(array_filter($sectores, fn($s) => $s !== $nombre)); if (file_put_contents($archivo, json_encode($nuevaLista, JSON_PRETTY_PRINT))) { echo json_encode(['success' => true]); } else { echo json_encode(['success' => false, 'msg' => 'No se pudo eliminar']); } break; } default: json_error('Ruta no soportada en api_sectores', 404); }