| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package cn.iocoder.yudao.module.system.controller.admin.agent; |
| | | |
| | | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| | | import cn.iocoder.yudao.module.system.api.agent.imports.AgentImportCommitReqVO; |
| | | import cn.iocoder.yudao.module.system.api.agent.imports.AgentImportPreflightReqVO; |
| | | import cn.iocoder.yudao.module.system.api.agent.imports.AgentImportPreflightRespVO; |
| | | import cn.iocoder.yudao.module.system.api.agent.imports.AgentImportReceiptRespVO; |
| | | import cn.iocoder.yudao.module.system.framework.agent.AgentPrincipal; |
| | | import cn.iocoder.yudao.module.system.framework.agent.SystemAgentBridgeGuard; |
| | | import cn.iocoder.yudao.module.system.service.agent.imports.SystemAgentGenericImportService; |
| | | import jakarta.annotation.Resource; |
| | | import jakarta.validation.Valid; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| | | |
| | | /** |
| | | * éç¨ä¸å¡å¯¼å
¥æ¡¥æ¥ï¼é¢æ£ãæäº¤ä¸åæ§ã |
| | | * å
·ä½ä¸å¡è§åç±å模åç {@code AgentImportModuleAdapter} å®ç°ï¼æ¬ç«¯åªåé´æä¸ç¼æå
¥å£ã |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/agent/bridge/imports") |
| | | public class SystemAgentGenericImportBridgeController { |
| | | |
| | | @Resource |
| | | private SystemAgentGenericImportService genericImportService; |
| | | @Resource |
| | | private SystemAgentBridgeGuard bridgeGuard; |
| | | |
| | | @GetMapping |
| | | public CommonResult<List<Map<String, String>>> modules( |
| | | @RequestHeader(value = "X-Agent-Service-Token", required = false) String serviceToken, |
| | | @RequestHeader(value = "X-Agent-Delegation-Token", required = false) String delegationToken, |
| | | @RequestHeader(value = "X-Agent-Task-Id", required = false) String taskId) { |
| | | bridgeGuard.requireAny(serviceToken, delegationToken, taskId, "import.modules.read", null, null); |
| | | return success(genericImportService.modules()); |
| | | } |
| | | |
| | | @PostMapping("/{moduleId}/preflight") |
| | | public CommonResult<AgentImportPreflightRespVO> preflight( |
| | | @RequestHeader(value = "X-Agent-Service-Token", required = false) String serviceToken, |
| | | @RequestHeader(value = "X-Agent-Delegation-Token", required = false) String delegationToken, |
| | | @RequestHeader(value = "X-Agent-Task-Id", required = false) String taskId, |
| | | @PathVariable String moduleId, |
| | | @Valid @RequestBody AgentImportPreflightReqVO request) { |
| | | AgentPrincipal principal = bridgeGuard.requireAny(serviceToken, delegationToken, taskId, |
| | | "import.preflight", moduleId, null); |
| | | return success(genericImportService.preflight(moduleId, request, principal)); |
| | | } |
| | | |
| | | @PostMapping("/{moduleId}/commit") |
| | | public CommonResult<AgentImportReceiptRespVO> commit( |
| | | @RequestHeader(value = "X-Agent-Service-Token", required = false) String serviceToken, |
| | | @RequestHeader(value = "X-Agent-Delegation-Token", required = false) String delegationToken, |
| | | @RequestHeader(value = "X-Agent-Task-Id", required = false) String taskId, |
| | | @PathVariable String moduleId, |
| | | @Valid @RequestBody AgentImportCommitReqVO request) { |
| | | AgentPrincipal principal = bridgeGuard.requireAny(serviceToken, delegationToken, taskId, |
| | | "import.commit", moduleId, null); |
| | | return success(genericImportService.commit(moduleId, request, principal)); |
| | | } |
| | | |
| | | @GetMapping("/{moduleId}/commands/{commandId}") |
| | | public CommonResult<AgentImportReceiptRespVO> getCommand( |
| | | @RequestHeader(value = "X-Agent-Service-Token", required = false) String serviceToken, |
| | | @RequestHeader(value = "X-Agent-Delegation-Token", required = false) String delegationToken, |
| | | @RequestHeader(value = "X-Agent-Task-Id", required = false) String taskId, |
| | | @PathVariable String moduleId, |
| | | @PathVariable String commandId) { |
| | | AgentPrincipal principal = bridgeGuard.requireAny(serviceToken, delegationToken, taskId, |
| | | "import.receipt.read", moduleId, null); |
| | | return success(genericImportService.getCommand(moduleId, commandId, principal)); |
| | | } |
| | | } |