func (s *Server) ListJobs(pipelineDB db.PipelineDB) http.Handler { logger := s.logger.Session("list-jobs") return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { var jobs []atc.Job dashboard, groups, err := pipelineDB.GetDashboard() if err != nil { logger.Error("failed-to-get-dashboard", err) w.WriteHeader(http.StatusInternalServerError) return } for _, job := range dashboard { jobs = append( jobs, present.Job(job.Job, job.JobConfig, groups, job.FinishedBuild, job.NextBuild), ) } w.WriteHeader(http.StatusOK) json.NewEncoder(w).Encode(jobs) }) }