fix: support default range for stats endpoint (resolve #125)

This commit is contained in:
Ferdinand Mütsch 2021-02-12 10:29:01 +01:00
parent 4d7fc6bff9
commit 22fbfceca2
2 changed files with 11 additions and 2 deletions

View File

@ -33,6 +33,10 @@ func (h *StatsHandler) RegisterRoutes(router *mux.Router) {
)
r.Path("/v1/users/{user}/stats/{range}").Methods(http.MethodGet).HandlerFunc(h.Get)
r.Path("/compat/wakatime/v1/users/{user}/stats/{range}").Methods(http.MethodGet).HandlerFunc(h.Get)
// Also works without range, see https://github.com/anuraghazra/github-readme-stats/issues/865#issuecomment-776186592
r.Path("/v1/users/{user}/stats").Methods(http.MethodGet).HandlerFunc(h.Get)
r.Path("/compat/wakatime/v1/users/{user}/stats").Methods(http.MethodGet).HandlerFunc(h.Get)
}
// TODO: support filtering (requires https://github.com/muety/wakapi/issues/108)
@ -56,7 +60,12 @@ func (h *StatsHandler) Get(w http.ResponseWriter, r *http.Request) {
return
}
err, rangeFrom, rangeTo := utils.ResolveIntervalRaw(vars["range"])
rangeParam := vars["range"]
if rangeParam == "" {
rangeParam = (*models.IntervalPast7Days)[0]
}
err, rangeFrom, rangeTo := utils.ResolveIntervalRaw(rangeParam)
if err != nil {
w.WriteHeader(http.StatusBadRequest)
w.Write([]byte("invalid range"))

View File

@ -1 +1 @@
1.23.5
1.23.6