package channel import ( "net/http" "strconv" "git.cliffbreak.de/Cliffbreak/tsviewer/response" "github.com/go-chi/chi" ) func ChannelAPIHandler(s Service) http.HandlerFunc { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { response.Handler(w, r, response.HandlerFunc(func() (int, error) { id, err := strconv.ParseUint(chi.URLParam(r, "id"), 10, 64) if err != nil { return http.StatusBadRequest, err } c, err := s.Channel(int(id)) if err != nil { return http.StatusNotFound, err } return response.New(c, r).Send(w, http.StatusOK) })) }) } func ChannelsAPIHandler(s Service) http.HandlerFunc { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { response.Handler(w, r, response.HandlerFunc(func() (int, error) { cc, err := s.Channels() if err != nil { return http.StatusBadRequest, err } return response.New(cc, r).Send(w, http.StatusOK) })) }) }