diff --git a/api/models.go b/api/models.go index ee38bf3..c00dc1e 100644 --- a/api/models.go +++ b/api/models.go @@ -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 } diff --git a/api/project.go b/api/project.go index 0212669..9a9ea66 100644 --- a/api/project.go +++ b/api/project.go @@ -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", diff --git a/api/task.go b/api/task.go index c6993d6..fa724c5 100644 --- a/api/task.go +++ b/api/task.go @@ -77,11 +77,12 @@ func (api *WebAPI) SubmitTask(r *Request) { Message: err.Error(), }, 400) reservation.Cancel() - } else { - r.OkJson(JsonResponse{ - Ok: true, - }) + return } + + r.OkJson(JsonResponse{ + Ok: true, + }) } func (api *WebAPI) GetTaskFromProject(r *Request) { @@ -123,17 +124,17 @@ func (api *WebAPI) GetTaskFromProject(r *Request) { Message: "No task available", }) reservation.CancelAt(time.Now()) - } else { - - r.OkJson(JsonResponse{ - Ok: true, - Content: GetTaskResponse{ - Task: task, - }, - }) + return } + r.OkJson(JsonResponse{ + Ok: true, + Content: GetTaskResponse{ + Task: task, + }, + }) } + func (api WebAPI) validateSignature(r *Request) (*storage.Worker, error) { widStr := string(r.Ctx.Request.Header.Peek("X-Worker-Id"))