MCPcopy Index your code
hub / github.com/53AI/53AIHub / CreateSpace

Function CreateSpace

api/controller/space.go:54–88  ·  view source on GitHub ↗

CreateSpace godoc @Summary 创建空间 @Description 创建团队空间接口 @Description 支持在创建时设置默认权限,通过permissions参数指定 @Tags 空间管理 @Accept json @Produce json @Security BearerAuth @Param request body SpaceRequest true "空间信息" @Success 200 {object} model.CommonResponse{data=model.Space} @Router /api/spaces [post]

(c *gin.Context)

Source from the content-addressed store, hash-verified

52// @Success 200 {object} model.CommonResponse{data=model.Space}
53// @Router /api/spaces [post]
54func CreateSpace(c *gin.Context) {
55 eid := config.GetEID(c)
56 userID := config.GetUserId(c)
57
58 var req SpaceRequest
59 if err := c.ShouldBindJSON(&req); err != nil {
60 c.JSON(http.StatusBadRequest, model.ParamError.ToResponse(err))
61 return
62 }
63
64 // 检查功能是否可用
65 params := map[string]interface{}{
66 "from": "space",
67 "op": "add",
68 }
69 _, err := service.IsFeatureAvailable(c, "knowledge_base", params)
70 if err != nil {
71 c.JSON(http.StatusForbidden, model.FeatureNotAvailableError.ToResponse(err))
72 return
73 }
74
75 spaceService := mcpsvc.NewSpaceService()
76 space, err := spaceService.CreateSpace(c.Request.Context(), eid, userID, req.Name, req.Description, req.Icon, req.Visibility, req.Permissions)
77 if err != nil {
78 c.JSON(http.StatusInternalServerError, model.FileError.ToResponse(err))
79 return
80 }
81
82 // 记录系统日志
83 LogSpaceCreate(c, space.Name)
84 space.LoadOwnerInfo(eid)
85 space.LoadLibraryCount(eid)
86
87 c.JSON(http.StatusOK, model.Success.ToResponse(space))
88}
89
90// GetSpaces godoc
91// @Summary 获取空间列表

Callers

nothing calls this directly

Calls 6

CreateSpaceMethod · 0.95
LogSpaceCreateFunction · 0.85
GetEIDMethod · 0.80
ToResponseMethod · 0.80
LoadOwnerInfoMethod · 0.80
LoadLibraryCountMethod · 0.80

Tested by

no test coverage detected