func AddTriggerToJob(w http.ResponseWriter, r *http.Request) { jobList := models.GetJobList() vars := mux.Vars(r) job, err := jobList.Get(vars["job"]) if err != nil { http.Error(w, err.Error(), http.StatusNotFound) return } j := job.(models.Job) payload := unmarshal(r.Body, "trigger", w) j.AppendTrigger(payload["trigger"]) triggerList := models.GetTriggerList() t, err := triggerList.Get(payload["trigger"]) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } executor.AddTrigger(t.(models.Trigger)) jobList.Update(j) w.WriteHeader(201) }
func UpdateTrigger(w http.ResponseWriter, r *http.Request) { triggerList := models.GetTriggerList() vars := mux.Vars(r) trigger, err := triggerList.Get(vars["trigger"]) if err != nil { http.Error(w, err.Error(), http.StatusNotFound) return } payload := unmarshal(r.Body, "cron", w) t := trigger.(models.Trigger) t.Schedule = payload["cron"] executor.AddTrigger(t) err = triggerList.Update(t) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } }