func (uis *UIServer) hostPage(w http.ResponseWriter, r *http.Request) { projCtx := MustHaveProjectContext(r) vars := mux.Vars(r) id := vars["host_id"] h, err := host.FindOne(host.ById(id)) if err != nil { uis.LoggedError(w, r, http.StatusInternalServerError, err) return } if h == nil { http.Error(w, "Host not found", http.StatusNotFound) return } events, err := event.Find(event.MostRecentHostEvents(id, 50)) if err != nil { uis.LoggedError(w, r, http.StatusInternalServerError, err) return } flashes := PopFlashes(uis.CookieStore, r, w) uis.WriteHTML(w, http.StatusOK, struct { Flashes []interface{} Events []event.Event Host *host.Host User *user.DBUser ProjectData projectContext }{flashes, events, h, GetUser(r), projCtx}, "base", "host.html", "base_angular.html", "menu.html") }
func (uis *UIServer) fullEventLogs(w http.ResponseWriter, r *http.Request) { resourceType := strings.ToUpper(mux.Vars(r)["resource_type"]) resourceId := mux.Vars(r)["resource_id"] projCtx := MustHaveProjectContext(r) var eventQuery db.Q switch resourceType { case event.ResourceTypeTask: eventQuery = event.MostRecentTaskEvents(resourceId, 100) case event.ResourceTypeHost: eventQuery = event.MostRecentHostEvents(resourceId, 100) default: http.Error(w, fmt.Sprintf("Unknown resource: %v", resourceType), http.StatusBadRequest) return } loggedEvents, err := event.Find(eventQuery) if err != nil { uis.LoggedError(w, r, http.StatusInternalServerError, err) return } uis.WriteHTML(w, http.StatusOK, struct { ProjectData projectContext User *user.DBUser Data []event.Event }{projCtx, GetUser(r), loggedEvents}, "base", "event_log.html", "base_angular.html") }