MCPcopy Create free account
hub / github.com/krau/SaveAny-Bot / createDirectLinksTask

Method createDirectLinksTask

api/factory.go:89–112  ·  view source on GitHub ↗

createDirectLinksTask 创建直链下载任务

(taskID string, createdAt time.Time, req *CreateTaskRequest, stor storage.Storage)

Source from the content-addressed store, hash-verified

87
88// createDirectLinksTask 创建直链下载任务
89func (f *TaskFactory) createDirectLinksTask(taskID string, createdAt time.Time, req *CreateTaskRequest, stor storage.Storage) (*CreateTaskResponse, error) {
90 var params DirectLinksParams
91 if err := json.Unmarshal(req.Params, &params); err != nil {
92 return nil, fmt.Errorf("invalid params: %w", err)
93 }
94
95 if len(params.URLs) == 0 {
96 return nil, fmt.Errorf("no URLs provided")
97 }
98
99 task := directlinks.NewTask(taskID, f.ctx, params.URLs, stor, req.Path, nil)
100
101 err := f.registerAndEnqueueTask(task, tasktype.TaskTypeDirectlinks, req.Storage, req.Path, req.Webhook)
102 if err != nil {
103 return nil, err
104 }
105
106 return &CreateTaskResponse{
107 TaskID: taskID,
108 Type: tasktype.TaskTypeDirectlinks,
109 Status: TaskStatusQueued,
110 CreatedAt: createdAt,
111 }, nil
112}
113
114// createYTDLPTask 创建 yt-dlp 任务
115func (f *TaskFactory) createYTDLPTask(taskID string, createdAt time.Time, req *CreateTaskRequest, stor storage.Storage) (*CreateTaskResponse, error) {

Callers 1

CreateTaskMethod · 0.95

Calls 2

NewTaskFunction · 0.92

Tested by

no test coverage detected