220 lines
7.3 KiB
Go
220 lines
7.3 KiB
Go
package system
|
|
|
|
import (
|
|
"git.echol.cn/loser/st/server/global"
|
|
"git.echol.cn/loser/st/server/model/common/response"
|
|
"git.echol.cn/loser/st/server/model/system/request"
|
|
"github.com/gin-gonic/gin"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
type SkillsApi struct{}
|
|
|
|
func (s *SkillsApi) GetTools(c *gin.Context) {
|
|
data, err := skillsService.Tools(c.Request.Context())
|
|
if err != nil {
|
|
global.GVA_LOG.Error("获取工具列表失败", zap.Error(err))
|
|
response.FailWithMessage("获取工具列表失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"tools": data}, "获取成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) GetSkillList(c *gin.Context) {
|
|
var req request.SkillToolRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
data, err := skillsService.List(c.Request.Context(), req.Tool)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("获取技能列表失败", zap.Error(err))
|
|
response.FailWithMessage("获取技能列表失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"skills": data}, "获取成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) GetSkillDetail(c *gin.Context) {
|
|
var req request.SkillDetailRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
data, err := skillsService.Detail(c.Request.Context(), req.Tool, req.Skill)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("获取技能详情失败", zap.Error(err))
|
|
response.FailWithMessage("获取技能详情失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"detail": data}, "获取成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) SaveSkill(c *gin.Context) {
|
|
var req request.SkillSaveRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
if err := skillsService.Save(c.Request.Context(), req); err != nil {
|
|
global.GVA_LOG.Error("保存技能失败", zap.Error(err))
|
|
response.FailWithMessage("保存技能失败", c)
|
|
return
|
|
}
|
|
response.OkWithMessage("保存成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) CreateScript(c *gin.Context) {
|
|
var req request.SkillScriptCreateRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
fileName, content, err := skillsService.CreateScript(c.Request.Context(), req)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("创建脚本失败", zap.Error(err))
|
|
response.FailWithMessage("创建脚本失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"fileName": fileName, "content": content}, "创建成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) GetScript(c *gin.Context) {
|
|
var req request.SkillFileRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
content, err := skillsService.GetScript(c.Request.Context(), req)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("读取脚本失败", zap.Error(err))
|
|
response.FailWithMessage("读取脚本失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"content": content}, "获取成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) SaveScript(c *gin.Context) {
|
|
var req request.SkillFileSaveRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
if err := skillsService.SaveScript(c.Request.Context(), req); err != nil {
|
|
global.GVA_LOG.Error("保存脚本失败", zap.Error(err))
|
|
response.FailWithMessage("保存脚本失败", c)
|
|
return
|
|
}
|
|
response.OkWithMessage("保存成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) CreateResource(c *gin.Context) {
|
|
var req request.SkillResourceCreateRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
fileName, content, err := skillsService.CreateResource(c.Request.Context(), req)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("创建资源失败", zap.Error(err))
|
|
response.FailWithMessage("创建资源失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"fileName": fileName, "content": content}, "创建成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) GetResource(c *gin.Context) {
|
|
var req request.SkillFileRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
content, err := skillsService.GetResource(c.Request.Context(), req)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("读取资源失败", zap.Error(err))
|
|
response.FailWithMessage("读取资源失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"content": content}, "获取成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) SaveResource(c *gin.Context) {
|
|
var req request.SkillFileSaveRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
if err := skillsService.SaveResource(c.Request.Context(), req); err != nil {
|
|
global.GVA_LOG.Error("保存资源失败", zap.Error(err))
|
|
response.FailWithMessage("保存资源失败", c)
|
|
return
|
|
}
|
|
response.OkWithMessage("保存成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) CreateReference(c *gin.Context) {
|
|
var req request.SkillReferenceCreateRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
fileName, content, err := skillsService.CreateReference(c.Request.Context(), req)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("创建参考失败", zap.Error(err))
|
|
response.FailWithMessage("创建参考失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"fileName": fileName, "content": content}, "创建成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) GetReference(c *gin.Context) {
|
|
var req request.SkillFileRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
content, err := skillsService.GetReference(c.Request.Context(), req)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("读取参考失败", zap.Error(err))
|
|
response.FailWithMessage("读取参考失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"content": content}, "获取成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) SaveReference(c *gin.Context) {
|
|
var req request.SkillFileSaveRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
if err := skillsService.SaveReference(c.Request.Context(), req); err != nil {
|
|
global.GVA_LOG.Error("保存参考失败", zap.Error(err))
|
|
response.FailWithMessage("保存参考失败", c)
|
|
return
|
|
}
|
|
response.OkWithMessage("保存成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) CreateTemplate(c *gin.Context) {
|
|
var req request.SkillTemplateCreateRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
fileName, content, err := skillsService.CreateTemplate(c.Request.Context(), req)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("创建模板失败", zap.Error(err))
|
|
response.FailWithMessage("创建模板失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"fileName": fileName, "content": content}, "创建成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) GetTemplate(c *gin.Context) {
|
|
var req request.SkillFileRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
content, err := skillsService.GetTemplate(c.Request.Context(), req)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("读取模板失败", zap.Error(err))
|
|
response.FailWithMessage("读取模板失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"content": content}, "获取成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) SaveTemplate(c *gin.Context) {
|
|
var req request.SkillFileSaveRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
if err := skillsService.SaveTemplate(c.Request.Context(), req); err != nil {
|
|
global.GVA_LOG.Error("保存模板失败", zap.Error(err))
|
|
response.FailWithMessage("保存模板失败", c)
|
|
return
|
|
}
|
|
response.OkWithMessage("保存成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) GetGlobalConstraint(c *gin.Context) {
|
|
var req request.SkillToolRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
content, exists, err := skillsService.GetGlobalConstraint(c.Request.Context(), req.Tool)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("读取全局约束失败", zap.Error(err))
|
|
response.FailWithMessage("读取全局约束失败", c)
|
|
return
|
|
}
|
|
response.OkWithDetailed(gin.H{"content": content, "exists": exists}, "获取成功", c)
|
|
}
|
|
|
|
func (s *SkillsApi) SaveGlobalConstraint(c *gin.Context) {
|
|
var req request.SkillGlobalConstraintSaveRequest
|
|
_ = c.ShouldBindJSON(&req)
|
|
if err := skillsService.SaveGlobalConstraint(c.Request.Context(), req); err != nil {
|
|
global.GVA_LOG.Error("保存全局约束失败", zap.Error(err))
|
|
response.FailWithMessage("保存全局约束失败", c)
|
|
return
|
|
}
|
|
response.OkWithMessage("保存成功", c)
|
|
}
|