feat: task manage api

This commit is contained in:
Noah Hsu
2022-06-29 18:36:14 +08:00
parent c88680b495
commit 0bf724f447
7 changed files with 119 additions and 20 deletions

View File

@ -1 +1,92 @@
package controllers
import (
"github.com/alist-org/alist/v3/internal/aria2"
"github.com/alist-org/alist/v3/internal/fs"
"github.com/alist-org/alist/v3/server/common"
"github.com/gin-gonic/gin"
"strconv"
)
func UndoneDownTask(c *gin.Context) {
common.SuccessResp(c, aria2.DownTaskManager.ListUndone())
}
func DoneDownTask(c *gin.Context) {
common.SuccessResp(c, aria2.DownTaskManager.ListDone())
}
func CancelDownTask(c *gin.Context) {
tid := c.Query("tid")
if err := aria2.DownTaskManager.Cancel(tid); err != nil {
common.ErrorResp(c, err, 500)
} else {
common.SuccessResp(c)
}
}
func UndoneTransferTask(c *gin.Context) {
common.SuccessResp(c, aria2.TransferTaskManager.ListUndone())
}
func DoneTransferTask(c *gin.Context) {
common.SuccessResp(c, aria2.TransferTaskManager.ListDone())
}
func CancelTransferTask(c *gin.Context) {
id := c.Query("tid")
tid, err := strconv.ParseUint(id, 10, 64)
if err != nil {
common.ErrorResp(c, err, 400)
return
}
if err := aria2.TransferTaskManager.Cancel(tid); err != nil {
common.ErrorResp(c, err, 500)
} else {
common.SuccessResp(c)
}
}
func UndoneUploadTask(c *gin.Context) {
common.SuccessResp(c, fs.UploadTaskManager.ListUndone())
}
func DoneUploadTask(c *gin.Context) {
common.SuccessResp(c, fs.UploadTaskManager.ListDone())
}
func CancelUploadTask(c *gin.Context) {
id := c.Query("tid")
tid, err := strconv.ParseUint(id, 10, 64)
if err != nil {
common.ErrorResp(c, err, 400)
return
}
if err := fs.UploadTaskManager.Cancel(tid); err != nil {
common.ErrorResp(c, err, 500)
} else {
common.SuccessResp(c)
}
}
func UndoneCopyTask(c *gin.Context) {
common.SuccessResp(c, fs.CopyTaskManager.ListUndone())
}
func DoneCopyTask(c *gin.Context) {
common.SuccessResp(c, fs.CopyTaskManager.ListDone())
}
func CancelCopyTask(c *gin.Context) {
id := c.Query("tid")
tid, err := strconv.ParseUint(id, 10, 64)
if err != nil {
common.ErrorResp(c, err, 400)
return
}
if err := fs.CopyTaskManager.Cancel(tid); err != nil {
common.ErrorResp(c, err, 500)
} else {
common.SuccessResp(c)
}
}

View File

@ -53,6 +53,20 @@ func Init(r *gin.Engine) {
setting.POST("/reset_token", controllers.ResetToken)
setting.POST("/set_aria2", controllers.SetAria2)
task := admin.Group("/task")
task.GET("/down/undone", controllers.UndoneDownTask)
task.GET("/down/done", controllers.DoneDownTask)
task.POST("/down/cancel", controllers.CancelDownTask)
task.POST("/transfer/undone", controllers.UndoneTransferTask)
task.POST("/transfer/done", controllers.DoneTransferTask)
task.POST("/transfer/cancel", controllers.CancelTransferTask)
task.POST("/upload/undone", controllers.UndoneUploadTask)
task.POST("/upload/done", controllers.DoneUploadTask)
task.POST("/upload/cancel", controllers.CancelUploadTask)
task.POST("/copy/undone", controllers.UndoneCopyTask)
task.POST("/copy/done", controllers.DoneCopyTask)
task.POST("/copy/cancel", controllers.CancelCopyTask)
// guest can
public := api.Group("/public")
public.GET("/settings", controllers.PublicSettings)