mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-22 07:00:43 +08:00
feat: support select child packer
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.reajason.javaweb.boot.controller;
|
||||
|
||||
import com.reajason.javaweb.boot.vo.CommandConfigVO;
|
||||
import com.reajason.javaweb.boot.vo.PackerVO;
|
||||
import com.reajason.javaweb.memshell.ServerFactory;
|
||||
import com.reajason.javaweb.memshell.config.CommandConfig;
|
||||
import com.reajason.javaweb.memshell.server.AbstractServer;
|
||||
@@ -40,6 +41,21 @@ public class ConfigController {
|
||||
.map(Packers::name).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回父/子 packer 层级结构,供前端在「父模式 / 子模式」之间选择。
|
||||
* 单独新增端点而非修改 {@link #getPackers()},以避免破坏旧版本前端对返回值的依赖。
|
||||
*/
|
||||
@RequestMapping("/packers/tree")
|
||||
public List<PackerVO> getPackerTree() {
|
||||
return Arrays.stream(Packers.values())
|
||||
.filter(packers -> packers.getParentPacker() == null)
|
||||
.map(packers -> new PackerVO(
|
||||
packers.name(),
|
||||
Packers.getPackersWithParent(packers.getInstance().getClass())
|
||||
.stream().map(Packers::name).toList()))
|
||||
.toList();
|
||||
}
|
||||
|
||||
@RequestMapping
|
||||
public Map<String, Map<?, ?>> config() {
|
||||
Map<String, Map<?, ?>> coreMap = new HashMap<>(16);
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.reajason.javaweb.boot.vo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
* @since 2026/6/27
|
||||
*/
|
||||
public record PackerVO(String name, List<String> children) {
|
||||
}
|
||||
Reference in New Issue
Block a user