Files
crawlab/backend/routes/variable.go

103 lines
2.5 KiB
Go

package routes
import (
"crawlab/model"
"github.com/gin-gonic/gin"
"github.com/globalsign/mgo/bson"
"net/http"
)
// 新增
// @Summary Put variable
// @Description Put variable
// @Tags variable
// @Produce json
// @Param Authorization header string true "Authorization token"
// @Param variable body model.Variable true "reqData body"
// @Success 200 json string Response
// @Failure 400 json string Response
// @Router /variable [put]
func PutVariable(c *gin.Context) {
var variable model.Variable
if err := c.ShouldBindJSON(&variable); err != nil {
HandleError(http.StatusBadRequest, c, err)
return
}
if err := variable.Add(); err != nil {
HandleError(http.StatusInternalServerError, c, err)
return
}
HandleSuccess(c)
}
// 修改
// @Summary Post variable
// @Description Post variable
// @Tags variable
// @Produce json
// @Param Authorization header string true "Authorization token"
// @Param variable body model.Variable true "reqData body"
// @Param id path string true "variable id"
// @Success 200 json string Response
// @Failure 400 json string Response
// @Router /variable/{id} [post]
func PostVariable(c *gin.Context) {
var id = c.Param("id")
var variable model.Variable
if err := c.ShouldBindJSON(&variable); err != nil {
HandleError(http.StatusBadRequest, c, err)
return
}
variable.Id = bson.ObjectIdHex(id)
if err := variable.Save(); err != nil {
HandleError(http.StatusInternalServerError, c, err)
return
}
HandleSuccess(c)
}
// 删除
// @Summary Delete variable
// @Description Delete variable
// @Tags variable
// @Produce json
// @Param Authorization header string true "Authorization token"
// @Param id path string true "variable id"
// @Success 200 json string Response
// @Failure 400 json string Response
// @Router /variable/{id} [delete]
func DeleteVariable(c *gin.Context) {
var idStr = c.Param("id")
var id = bson.ObjectIdHex(idStr)
variable, err := model.GetVariable(id)
if err != nil {
HandleError(http.StatusInternalServerError, c, err)
return
}
variable.Id = id
if err := variable.Delete(); err != nil {
HandleError(http.StatusInternalServerError, c, err)
return
}
HandleSuccess(c)
}
// 列表
// @Summary Get variable list
// @Description Get variable list
// @Tags variable
// @Produce json
// @Param Authorization header string true "Authorization token"
// @Success 200 json string Response
// @Failure 400 json string Response
// @Router /variables [get]
func GetVariableList(c *gin.Context) {
list := model.GetVariableList()
HandleSuccessData(c, list)
}