Files
go_process_manager/internal/app/api/task.go
2025-07-05 11:50:41 +08:00

69 lines
1.7 KiB
Go

package api
import (
"errors"
"github.com/lzh-1625/go_process_manager/internal/app/logic"
"github.com/lzh-1625/go_process_manager/internal/app/model"
"github.com/lzh-1625/go_process_manager/internal/app/repository"
"github.com/gin-gonic/gin"
)
type taskApi struct{}
var TaskApi = new(taskApi)
func (t *taskApi) CreateTask(ctx *gin.Context, req model.Task) (err error) {
return logic.TaskLogic.CreateTask(req)
}
func (t *taskApi) GetTaskById(ctx *gin.Context, req model.TaskIdReq) (err error) {
result, err := repository.TaskRepository.GetTaskById(req.Id)
if err != nil {
return
}
rOk(ctx, "Operation successful!", result)
return
}
func (t *taskApi) GetTaskList(ctx *gin.Context, _ any) (err error) {
result := logic.TaskLogic.GetAllTaskJob()
rOk(ctx, "Operation successful!", result)
return
}
func (t *taskApi) DeleteTaskById(ctx *gin.Context, req model.TaskIdReq) (err error) {
return logic.TaskLogic.DeleteTask(req.Id)
}
func (t *taskApi) StartTask(ctx *gin.Context, req model.TaskIdReq) (err error) {
go logic.TaskLogic.RunTaskById(req.Id)
return
}
func (t *taskApi) StopTask(ctx *gin.Context, req model.TaskIdReq) (err error) {
if logic.TaskLogic.StopTaskJob(req.Id) != nil {
return errors.New("operation failed")
}
return
}
func (t *taskApi) EditTask(ctx *gin.Context, req model.Task) (err error) {
return logic.TaskLogic.EditTask(req)
}
func (t *taskApi) EditTaskEnable(ctx *gin.Context, req model.Task) (err error) {
return logic.TaskLogic.EditTaskEnable(req.Id, req.Enable)
}
func (t *taskApi) RunTaskByKey(ctx *gin.Context, _ any) (err error) {
return logic.TaskLogic.RunTaskByKey(ctx.Param("key"))
}
func (t *taskApi) CreateTaskApiKey(ctx *gin.Context, req model.TaskIdReq) (err error) {
return logic.TaskLogic.CreateApiKey(req.Id)
}