mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-21 17:21:09 +01:00
127 lines
2.4 KiB
Go
127 lines
2.4 KiB
Go
package mock
|
||
|
||
import (
|
||
"crawlab/constants"
|
||
"crawlab/model"
|
||
"fmt"
|
||
"github.com/gin-gonic/gin"
|
||
"github.com/globalsign/mgo/bson"
|
||
"net/http"
|
||
"time"
|
||
)
|
||
|
||
var scheduleList = []model.Schedule{
|
||
{
|
||
Id: bson.ObjectId("5d429e6c19f7abede924fee2"),
|
||
Name: "test schedule",
|
||
SpiderId: "123",
|
||
NodeId: bson.ObjectId("5d429e6c19f7abede924fee2"),
|
||
Cron: "***1*",
|
||
EntryId: 10,
|
||
// 前端展示
|
||
SpiderName: "test scedule",
|
||
NodeName: "测试节点",
|
||
|
||
CreateTs: time.Now(),
|
||
UpdateTs: time.Now(),
|
||
},
|
||
{
|
||
Id: bson.ObjectId("xx429e6c19f7abede924fee2"),
|
||
Name: "test schedule2",
|
||
SpiderId: "234",
|
||
NodeId: bson.ObjectId("5d429e6c19f7abede924fee2"),
|
||
Cron: "***1*",
|
||
EntryId: 10,
|
||
// 前端展示
|
||
SpiderName: "test scedule2",
|
||
NodeName: "测试节点",
|
||
|
||
CreateTs: time.Now(),
|
||
UpdateTs: time.Now(),
|
||
},
|
||
}
|
||
|
||
func GetScheduleList(c *gin.Context) {
|
||
results := scheduleList
|
||
|
||
c.JSON(http.StatusOK, Response{
|
||
Status: "ok",
|
||
Message: "success",
|
||
Data: results,
|
||
})
|
||
}
|
||
|
||
func GetSchedule(c *gin.Context) {
|
||
id := c.Param("id")
|
||
|
||
var result model.Schedule
|
||
for _, sch := range scheduleList {
|
||
if sch.Id == bson.ObjectId(id) {
|
||
result = sch
|
||
}
|
||
}
|
||
c.JSON(http.StatusOK, Response{
|
||
Status: "ok",
|
||
Message: "success",
|
||
Data: result,
|
||
})
|
||
}
|
||
|
||
func PostSchedule(c *gin.Context) {
|
||
id := c.Param("id")
|
||
var oldItem model.Schedule
|
||
for _, sch := range scheduleList {
|
||
if sch.Id == bson.ObjectId(id) {
|
||
oldItem = sch
|
||
}
|
||
|
||
}
|
||
|
||
var newItem model.Schedule
|
||
if err := c.ShouldBindJSON(&newItem); err != nil {
|
||
HandleError(http.StatusBadRequest, c, err)
|
||
return
|
||
}
|
||
newItem.Id = oldItem.Id
|
||
|
||
c.JSON(http.StatusOK, Response{
|
||
Status: "ok",
|
||
Message: "success",
|
||
})
|
||
}
|
||
|
||
func PutSchedule(c *gin.Context) {
|
||
var item model.Schedule
|
||
|
||
// 绑定数据模型
|
||
if err := c.ShouldBindJSON(&item); err != nil {
|
||
HandleError(http.StatusBadRequest, c, err)
|
||
return
|
||
}
|
||
|
||
// 如果node_id为空,则置为空ObjectId
|
||
if item.NodeId == "" {
|
||
item.NodeId = bson.ObjectIdHex(constants.ObjectIdNull)
|
||
}
|
||
|
||
c.JSON(http.StatusOK, Response{
|
||
Status: "ok",
|
||
Message: "success",
|
||
})
|
||
}
|
||
|
||
func DeleteSchedule(c *gin.Context) {
|
||
id := bson.ObjectIdHex("5d429e6c19f7abede924fee2")
|
||
for _, sch := range scheduleList {
|
||
if sch.Id == bson.ObjectId(id) {
|
||
fmt.Println("delete a schedule")
|
||
}
|
||
}
|
||
fmt.Println(id)
|
||
fmt.Println("update schedule")
|
||
c.JSON(http.StatusOK, Response{
|
||
Status: "ok",
|
||
Message: "success",
|
||
})
|
||
}
|