package com.vincent.rsf.server.ai.controller;
|
|
import com.vincent.rsf.framework.common.R;
|
import com.vincent.rsf.server.ai.dto.AiPromptPreviewRequest;
|
import com.vincent.rsf.server.ai.service.AiConfigOpsService;
|
import com.vincent.rsf.server.system.controller.BaseController;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
@RestController
|
@RequiredArgsConstructor
|
public class AiConfigOpsController extends BaseController {
|
|
private final AiConfigOpsService aiConfigOpsService;
|
|
@PreAuthorize("hasAnyAuthority('system:aiParam:list','system:aiPrompt:list','system:aiMcpMount:list')")
|
@GetMapping("/ai/config/summary")
|
public R getSummary(@RequestParam(value = "promptCode", required = false) String promptCode) {
|
return R.ok().add(aiConfigOpsService.getSummary(promptCode, getTenantId()));
|
}
|
|
@PreAuthorize("hasAnyAuthority('system:aiPrompt:list','system:aiPrompt:save','system:aiPrompt:update')")
|
@PostMapping("/ai/config/prompt/render-preview")
|
public R renderPromptPreview(@RequestBody AiPromptPreviewRequest request) {
|
return R.ok().add(aiConfigOpsService.renderPromptPreview(request, getTenantId()));
|
}
|
}
|