更新
This commit is contained in:
1 parent
5718a00e31
commit
1850ac640e
226 files changed
+37772
-12071
No files matched your search
@@ -9,6 +9,7 @@ import (
|
||||
"time"
|
||||
|
||||
"server/models"
|
||||
"server/pkg/identity"
|
||||
"server/pkg/jwtutil"
|
||||
"server/services"
|
||||
|
||||
@@ -21,22 +22,7 @@ type BackendMcpServerController struct {
|
||||
}
|
||||
|
||||
func (c *BackendMcpServerController) mcpSrvClaims() (*jwtutil.Claims, error) {
|
||||
auth := c.Ctx.Request.Header.Get("Authorization")
|
||||
if auth == "" {
|
||||
return nil, fmt.Errorf("未登录")
|
||||
}
|
||||
parts := strings.SplitN(auth, " ", 2)
|
||||
if len(parts) != 2 || parts[0] != "Bearer" {
|
||||
return nil, fmt.Errorf("认证信息格式错误")
|
||||
}
|
||||
claims, err := jwtutil.ParseToken(parts[1])
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("无效的token")
|
||||
}
|
||||
if claims.UserType != "backend" {
|
||||
return nil, fmt.Errorf("无权访问")
|
||||
}
|
||||
return claims, nil
|
||||
return identity.Claims(c.Ctx.Request.Header.Get("Authorization"), identity.EndBackend)
|
||||
}
|
||||
|
||||
func (c *BackendMcpServerController) mcpSrvErr(httpStatus, bizCode int, msg string) {
|
||||
@@ -113,7 +99,8 @@ func (p *mcpServerPayload) toModel(claims *jwtutil.Claims) models.BackendMcpServ
|
||||
func (c *BackendMcpServerController) List() {
|
||||
claims, err := c.mcpSrvClaims()
|
||||
if err != nil {
|
||||
c.mcpSrvErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.mcpSrvErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
var list []models.BackendMcpServer
|
||||
@@ -134,7 +121,8 @@ func (c *BackendMcpServerController) List() {
|
||||
func (c *BackendMcpServerController) Create() {
|
||||
claims, err := c.mcpSrvClaims()
|
||||
if err != nil {
|
||||
c.mcpSrvErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.mcpSrvErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
body, err := io.ReadAll(c.Ctx.Request.Body)
|
||||
@@ -164,7 +152,8 @@ func (c *BackendMcpServerController) Create() {
|
||||
func (c *BackendMcpServerController) Update() {
|
||||
claims, err := c.mcpSrvClaims()
|
||||
if err != nil {
|
||||
c.mcpSrvErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.mcpSrvErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
idStr := c.Ctx.Input.Param(":id")
|
||||
@@ -225,7 +214,8 @@ func (c *BackendMcpServerController) Update() {
|
||||
func (c *BackendMcpServerController) Delete() {
|
||||
claims, err := c.mcpSrvClaims()
|
||||
if err != nil {
|
||||
c.mcpSrvErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.mcpSrvErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
idStr := c.Ctx.Input.Param(":id")
|
||||
@@ -257,7 +247,8 @@ func (c *BackendMcpServerController) Delete() {
|
||||
func (c *BackendMcpServerController) Toggle() {
|
||||
claims, err := c.mcpSrvClaims()
|
||||
if err != nil {
|
||||
c.mcpSrvErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.mcpSrvErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
idStr := c.Ctx.Input.Param(":id")
|
||||
@@ -306,7 +297,8 @@ func (c *BackendMcpServerController) Toggle() {
|
||||
func (c *BackendMcpServerController) Test() {
|
||||
claims, err := c.mcpSrvClaims()
|
||||
if err != nil {
|
||||
c.mcpSrvErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.mcpSrvErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
body, err := io.ReadAll(c.Ctx.Request.Body)
|
||||
@@ -379,7 +371,8 @@ func (c *BackendMcpServerController) Test() {
|
||||
func (c *BackendMcpServerController) Tools() {
|
||||
claims, err := c.mcpSrvClaims()
|
||||
if err != nil {
|
||||
c.mcpSrvErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.mcpSrvErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
idStr := c.Ctx.Input.Param(":id")
|
||||
@@ -422,7 +415,8 @@ func (c *BackendMcpServerController) Tools() {
|
||||
// Market GET /backend/mcp/server/market
|
||||
func (c *BackendMcpServerController) Market() {
|
||||
if _, err := c.mcpSrvClaims(); err != nil {
|
||||
c.mcpSrvErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.mcpSrvErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
c.mcpSrvOk(map[string]interface{}{"list": services.GetMcpMarket()})
|
||||
@@ -433,7 +427,8 @@ func (c *BackendMcpServerController) Market() {
|
||||
func (c *BackendMcpServerController) AddFromMarket() {
|
||||
claims, err := c.mcpSrvClaims()
|
||||
if err != nil {
|
||||
c.mcpSrvErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.mcpSrvErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
body, err := io.ReadAll(c.Ctx.Request.Body)
|
||||
|
||||
Reference in new issue
Block a user