(c *gin.Context, taskID int)
| 396 | } |
| 397 | |
| 398 | func CancelDownloadTask(c *gin.Context, taskID int) error { |
| 399 | dep := dependency.FromContext(c) |
| 400 | u := inventory.UserFromContext(c) |
| 401 | r := dep.TaskRegistry() |
| 402 | t, found := r.Get(taskID) |
| 403 | if !found || t.Owner().ID != u.ID { |
| 404 | return serializer.NewError(serializer.CodeNotFound, "Task not found", nil) |
| 405 | } |
| 406 | |
| 407 | if downloadTask, ok := t.(*workflows.RemoteDownloadTask); ok { |
| 408 | if err := downloadTask.CancelDownload(c); err != nil { |
| 409 | return serializer.NewError(serializer.CodeInternalSetting, "Failed to cancel download task", err) |
| 410 | } |
| 411 | } |
| 412 | |
| 413 | return nil |
| 414 | } |
| 415 | |
| 416 | type ( |
| 417 | SetDownloadFilesService struct { |
no test coverage detected