AdminImportSkillLibrary godoc @Summary 后台导入技能 @Description 后台导入技能(当前支持 zip 和 GitHub 仓库导入) @Tags 技能库-后台 @Accept json @Produce json @Security BearerAuth @Param request body AdminImportSkillRequest true "导入参数" @Success 200 {object} model.CommonResponse @Router /api/admin/skill-library/import [post]
(c *gin.Context)
| 175 | // @Success 200 {object} model.CommonResponse |
| 176 | // @Router /api/admin/skill-library/import [post] |
| 177 | func AdminImportSkillLibrary(c *gin.Context) { |
| 178 | var req AdminImportSkillRequest |
| 179 | if err := c.ShouldBindJSON(&req); err != nil { |
| 180 | c.JSON(http.StatusBadRequest, model.ParamError.ToErrorResponse(err)) |
| 181 | return |
| 182 | } |
| 183 | |
| 184 | eid := config.GetEID(c) |
| 185 | svc := service.NewSkillLibraryService() |
| 186 | allGroupIDs := make([]int64, 0, len(req.GroupIDs)+len(req.SubscriptionGroupIDs)+len(req.UserGroupIDs)) |
| 187 | allGroupIDs = append(allGroupIDs, req.GroupIDs...) |
| 188 | allGroupIDs = append(allGroupIDs, req.SubscriptionGroupIDs...) |
| 189 | allGroupIDs = append(allGroupIDs, req.UserGroupIDs...) |
| 190 | result, err := svc.ImportSkillWithPermissionsAndStartScan(c.Request.Context(), &service.SkillImportRequest{ |
| 191 | Eid: eid, |
| 192 | SourceType: strings.TrimSpace(req.SourceType), |
| 193 | UploadFileID: strings.TrimSpace(req.UploadFileID), |
| 194 | GithubURL: strings.TrimSpace(req.GithubURL), |
| 195 | Ref: strings.TrimSpace(req.Ref), |
| 196 | SkillPath: strings.TrimSpace(req.SkillPath), |
| 197 | MockRiskLevel: strings.TrimSpace(req.MockRiskLevel), |
| 198 | }, allGroupIDs) |
| 199 | if err != nil { |
| 200 | toSkillAdminErrorResponse(c, err) |
| 201 | return |
| 202 | } |
| 203 | c.JSON(http.StatusOK, model.Success.ToResponse(result)) |
| 204 | } |
| 205 | |
| 206 | // AdminGetSkillLibraryImportJob godoc |
| 207 | // @Summary 查询后台技能导入任务 |
nothing calls this directly
no test coverage detected