mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-21 17:21:09 +01:00
added batch delete schedules
This commit is contained in:
@@ -256,14 +256,16 @@ func main() {
|
||||
}
|
||||
// 定时任务
|
||||
{
|
||||
authGroup.GET("/schedules", routes.GetScheduleList) // 定时任务列表
|
||||
authGroup.GET("/schedules/:id", routes.GetSchedule) // 定时任务详情
|
||||
authGroup.PUT("/schedules", routes.PutSchedule) // 创建定时任务
|
||||
authGroup.PUT("/schedules/batch", routes.PutBatchSchedules) // 批量创建定时任务
|
||||
authGroup.POST("/schedules/:id", routes.PostSchedule) // 修改定时任务
|
||||
authGroup.DELETE("/schedules/:id", routes.DeleteSchedule) // 删除定时任务
|
||||
authGroup.POST("/schedules/:id/disable", routes.DisableSchedule) // 禁用定时任务
|
||||
authGroup.POST("/schedules/:id/enable", routes.EnableSchedule) // 启用定时任务
|
||||
authGroup.GET("/schedules", routes.GetScheduleList) // 定时任务列表
|
||||
authGroup.GET("/schedules/:id", routes.GetSchedule) // 定时任务详情
|
||||
authGroup.PUT("/schedules", routes.PutSchedule) // 创建定时任务
|
||||
authGroup.PUT("/schedules/batch", routes.PutBatchSchedules) // 批量创建定时任务
|
||||
authGroup.POST("/schedules/:id", routes.PostSchedule) // 修改定时任务
|
||||
authGroup.DELETE("/schedules/:id", routes.DeleteSchedule) // 删除定时任务
|
||||
authGroup.DELETE("/schedules", routes.DeleteBatchSchedules) // 批量删除定时任务
|
||||
authGroup.POST("/schedules/:id/disable", routes.DisableSchedule) // 禁用定时任务
|
||||
authGroup.POST("/schedules/:id/enable", routes.EnableSchedule) // 启用定时任务
|
||||
authGroup.POST("/schedules-set-status", routes.SetStatusSchedules) // 批量设置定时任务状态
|
||||
}
|
||||
// 用户
|
||||
{
|
||||
|
||||
@@ -259,3 +259,62 @@ func PutBatchSchedules(c *gin.Context) {
|
||||
|
||||
HandleSuccess(c)
|
||||
}
|
||||
|
||||
func DeleteBatchSchedules(c *gin.Context) {
|
||||
ids := make(map[string][]string)
|
||||
if err := c.ShouldBindJSON(&ids); err != nil {
|
||||
HandleError(http.StatusBadRequest, c, err)
|
||||
return
|
||||
}
|
||||
list := ids["ids"]
|
||||
for _, id := range list {
|
||||
if err := model.RemoveSchedule(bson.ObjectIdHex(id)); err != nil {
|
||||
HandleError(http.StatusInternalServerError, c, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// 更新定时任务
|
||||
if err := services.Sched.Update(); err != nil {
|
||||
HandleError(http.StatusInternalServerError, c, err)
|
||||
return
|
||||
}
|
||||
|
||||
HandleSuccess(c)
|
||||
}
|
||||
|
||||
func SetStatusSchedules(c *gin.Context) {
|
||||
type ReqBody struct {
|
||||
ScheduleIds []bson.ObjectId `json:"schedule_ids"`
|
||||
Enabled bool `json:"enabled"`
|
||||
}
|
||||
var reqBody ReqBody
|
||||
if err := c.ShouldBindJSON(&reqBody); err != nil {
|
||||
HandleError(http.StatusBadRequest, c, err)
|
||||
return
|
||||
}
|
||||
for _, id := range reqBody.ScheduleIds {
|
||||
s, err := model.GetSchedule(id)
|
||||
if err != nil {
|
||||
log.Errorf("get schedule error: " + err.Error())
|
||||
debug.PrintStack()
|
||||
HandleError(http.StatusInternalServerError, c, err)
|
||||
return
|
||||
}
|
||||
s.Enabled = reqBody.Enabled
|
||||
if err := s.Save(); err != nil {
|
||||
log.Errorf("save schedule error: " + err.Error())
|
||||
debug.PrintStack()
|
||||
HandleError(http.StatusInternalServerError, c, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// 更新定时任务
|
||||
if err := services.Sched.Update(); err != nil {
|
||||
HandleError(http.StatusInternalServerError, c, err)
|
||||
return
|
||||
}
|
||||
|
||||
HandleSuccess(c)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user