package routing import ( lishwist "lishwist/core" "lishwist/http/response" "log" "net/http" "github.com/Teajey/rsvp" ) type Events struct { Events []lishwist.Event `xml:"Event"` } func EventList(app *lishwist.Session, session *response.Session, h http.Header, r *http.Request) rsvp.Response { admin := app.Admin() if admin == nil { log.Println("Attempt to access EventList by non-admin. Responding 404 Not Found.") return response.NotFound() } events, err := admin.ListEvents() if err != nil { log.Printf("Admin failed to ListEvents: %s\n", err) return response.Error(http.StatusInternalServerError, "Failed to get events: %s", err) } return response.Data("", Events{Events: events}) }