MCPcopy Create free account
hub / github.com/53AI/53AIHub / submitSkillImportJob

Method submitSkillImportJob

api/service/skill_library_service.go:237–274  ·  view source on GitHub ↗
(ctx context.Context, req *SkillImportRequest, permissionGroupIDs []int64)

Source from the content-addressed store, hash-verified

235}
236
237func (s *SkillLibraryService) submitSkillImportJob(ctx context.Context, req *SkillImportRequest, permissionGroupIDs []int64) (*SkillImportResult, error) {
238 if req == nil {
239 return nil, ErrSkillImportRequestInvalid
240 }
241
242 payload := &SkillImportJobPayload{
243 SourceType: strings.TrimSpace(req.SourceType),
244 UploadFileID: strings.TrimSpace(req.UploadFileID),
245 GithubURL: strings.TrimSpace(req.GithubURL),
246 Ref: strings.TrimSpace(req.Ref),
247 SkillPath: strings.TrimSpace(req.SkillPath),
248 PermissionGroupIDs: normalizePermissionGroupIDs(permissionGroupIDs),
249 }
250 payloadBytes, err := json.Marshal(payload)
251 if err != nil {
252 return nil, err
253 }
254
255 job := &model.SkillScanJob{
256 Eid: req.Eid,
257 Status: model.SkillScanJobStatusPending,
258 ScanPayload: string(payloadBytes),
259 Message: "导入任务已提交",
260 RetryCount: 0,
261 StartedTime: 0,
262 FinishedTime: 0,
263 }
264 if err := model.DB.Create(job).Error; err != nil {
265 return nil, err
266 }
267
268 s.RunAsyncImportJob(context.Background(), job.ID)
269
270 return &SkillImportResult{
271 ScanJobID: job.ID,
272 ScanStatus: job.Status,
273 }, nil
274}
275
276func normalizeSkillImportRequest(req *SkillImportRequest) error {
277 if req == nil {

Callers 1

Calls 3

RunAsyncImportJobMethod · 0.95
CreateMethod · 0.45

Tested by

no test coverage detected