package server import ( "local/firestormy/config" "local/firestormy/config/ns" "local/firestormy/scheduler" "net/http" "strings" ) func (s *Server) disable(w http.ResponseWriter, r *http.Request) { s.setDisabled(w, r, true) } func (s *Server) enable(w http.ResponseWriter, r *http.Request) { s.setDisabled(w, r, false) } func (s *Server) setDisabled(w http.ResponseWriter, r *http.Request, disabled bool) { keys := strings.Split(r.URL.Path, "/") key := keys[len(keys)-1] j := &scheduler.Job{} b, err := config.Store.Get(key, ns.Jobs...) if err != nil { http.Error(w, err.Error(), http.StatusNotFound) return } if err := j.Decode(b); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } j.Disabled = disabled if err := scheduler.Schedule.Update(j); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } w.Write([]byte("{}")) }