mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-10-09 23:17:21 +08:00
167 lines
4.6 KiB
Go
167 lines
4.6 KiB
Go
package v1
|
|
|
|
import (
|
|
"github.com/1Panel-dev/1Panel/backend/app/api/v1/helper"
|
|
"github.com/1Panel-dev/1Panel/backend/app/dto/request"
|
|
"github.com/1Panel-dev/1Panel/backend/constant"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// @Tags McpServer
|
|
// @Summary List mcp servers
|
|
// @Accept json
|
|
// @Param request body request.McpServerSearch true "request"
|
|
// @Success 200 {object} response.McpServersRes
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /mcp/search [post]
|
|
func (b *BaseApi) PageMcpServers(c *gin.Context) {
|
|
var req request.McpServerSearch
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
list := mcpServerService.Page(req)
|
|
helper.SuccessWithData(c, list)
|
|
}
|
|
|
|
// @Tags McpServer
|
|
// @Summary Create mcp server
|
|
// @Accept json
|
|
// @Param request body request.McpServerCreate true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /mcp/server [post]
|
|
func (b *BaseApi) CreateMcpServer(c *gin.Context) {
|
|
var req request.McpServerCreate
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
err := mcpServerService.Create(req)
|
|
if err != nil {
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
return
|
|
}
|
|
helper.SuccessWithOutData(c)
|
|
}
|
|
|
|
// @Tags McpServer
|
|
// @Summary Update mcp server
|
|
// @Accept json
|
|
// @Param request body request.McpServerUpdate true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /mcp/server/update [post]
|
|
func (b *BaseApi) UpdateMcpServer(c *gin.Context) {
|
|
var req request.McpServerUpdate
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
err := mcpServerService.Update(req)
|
|
if err != nil {
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
return
|
|
}
|
|
helper.SuccessWithOutData(c)
|
|
}
|
|
|
|
// @Tags McpServer
|
|
// @Summary Delete mcp server
|
|
// @Accept json
|
|
// @Param request body request.McpServerDelete true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /mcp/server/del [post]
|
|
func (b *BaseApi) DeleteMcpServer(c *gin.Context) {
|
|
var req request.McpServerDelete
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
err := mcpServerService.Delete(req.ID)
|
|
if err != nil {
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
return
|
|
}
|
|
helper.SuccessWithOutData(c)
|
|
}
|
|
|
|
// @Tags McpServer
|
|
// @Summary Operate mcp server
|
|
// @Accept json
|
|
// @Param request body request.McpServerOperate true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /mcp/server/op [post]
|
|
func (b *BaseApi) OperateMcpServer(c *gin.Context) {
|
|
var req request.McpServerOperate
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
err := mcpServerService.Operate(req)
|
|
if err != nil {
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
return
|
|
}
|
|
helper.SuccessWithOutData(c)
|
|
}
|
|
|
|
// @Tags McpServer
|
|
// @Summary Bind Domain for mcp server
|
|
// @Accept json
|
|
// @Param request body request.McpBindDomain true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /mcp/domain/bind [post]
|
|
func (b *BaseApi) BindMcpDomain(c *gin.Context) {
|
|
var req request.McpBindDomain
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
err := mcpServerService.BindDomain(req)
|
|
if err != nil {
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
return
|
|
}
|
|
helper.SuccessWithOutData(c)
|
|
}
|
|
|
|
// @Tags McpServer
|
|
// @Summary Update bind Domain for mcp server
|
|
// @Accept json
|
|
// @Param request body request.McpBindDomainUpdate true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /mcp/domain/update [post]
|
|
func (b *BaseApi) UpdateMcpBindDomain(c *gin.Context) {
|
|
var req request.McpBindDomainUpdate
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
err := mcpServerService.UpdateBindDomain(req)
|
|
if err != nil {
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
return
|
|
}
|
|
helper.SuccessWithOutData(c)
|
|
}
|
|
|
|
// @Tags McpServer
|
|
// @Summary Get bin Domain for mcp server
|
|
// @Accept json
|
|
// @Success 200 {object} response.McpBindDomainRes
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /mcp/domain/get [get]
|
|
func (b *BaseApi) GetMcpBindDomain(c *gin.Context) {
|
|
res, err := mcpServerService.GetBindDomain()
|
|
if err != nil {
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, res)
|
|
}
|