Project can't chain tasks to itself

This commit is contained in:
simon987 2019-02-25 19:12:08 -05:00
parent df7f91a475
commit b2fcf6fce4
3 changed files with 18 additions and 14 deletions

View File

@ -157,7 +157,7 @@ type UpdateProjectRequest struct {
SubmitRate rate.Limit `json:"submit_rate"`
}
func (req *UpdateProjectRequest) isValid() bool {
func (req *UpdateProjectRequest) isValid(pid int64) bool {
if len(req.Name) <= 0 {
return false
}
@ -167,6 +167,9 @@ func (req *UpdateProjectRequest) isValid() bool {
if req.Hidden && req.Public {
return false
}
if req.Chain == pid {
return false
}
return true
}

View File

@ -157,7 +157,7 @@ func (api *WebAPI) UpdateProject(r *Request) {
return
}
if !updateReq.isValid() {
if !updateReq.isValid(id) {
r.Json(JsonResponse{
Ok: false,
Message: "Invalid request",

View File

@ -77,12 +77,13 @@ func (api *WebAPI) SubmitTask(r *Request) {
Message: err.Error(),
}, 400)
reservation.Cancel()
} else {
return
}
r.OkJson(JsonResponse{
Ok: true,
})
}
}
func (api *WebAPI) GetTaskFromProject(r *Request) {
@ -123,7 +124,8 @@ func (api *WebAPI) GetTaskFromProject(r *Request) {
Message: "No task available",
})
reservation.CancelAt(time.Now())
} else {
return
}
r.OkJson(JsonResponse{
Ok: true,
@ -133,7 +135,6 @@ func (api *WebAPI) GetTaskFromProject(r *Request) {
})
}
}
func (api WebAPI) validateSignature(r *Request) (*storage.Worker, error) {
widStr := string(r.Ctx.Request.Header.Peek("X-Worker-Id"))