1
0
mirror of https://github.com/muety/wakapi.git synced 2023-08-10 21:12:56 +03:00

fix: crash when calling badge endpoint with no filters applied (resolve #66)

This commit is contained in:
Ferdinand Mütsch
2020-11-01 16:03:30 +01:00
parent 68e66298b8
commit 96ff490d8d
4 changed files with 15 additions and 10 deletions

View File

@ -70,6 +70,8 @@ func (h *BadgeHandler) ApiGet(w http.ResponseWriter, r *http.Request) {
filters = models.NewFiltersWith(models.SummaryLanguage, filterKey) filters = models.NewFiltersWith(models.SummaryLanguage, filterKey)
case "machine": case "machine":
filters = models.NewFiltersWith(models.SummaryMachine, filterKey) filters = models.NewFiltersWith(models.SummaryMachine, filterKey)
default:
filters = &models.Filters{}
} }
summary, err, status := h.loadUserSummary(user, interval) summary, err, status := h.loadUserSummary(user, interval)

View File

@ -43,7 +43,7 @@ func (h *AllTimeHandler) ApiGet(w http.ResponseWriter, r *http.Request) {
return return
} }
vm := v1.NewAllTimeFrom(summary, &models.Filters{Project: values.Get("project")}) vm := v1.NewAllTimeFrom(summary, models.NewFiltersWith(models.SummaryProject, values.Get("project")))
utils.RespondJSON(w, http.StatusOK, vm) utils.RespondJSON(w, http.StatusOK, vm)
} }

View File

@ -1,7 +1,6 @@
package services package services
import ( import (
"errors"
"github.com/muety/wakapi/config" "github.com/muety/wakapi/config"
"sync" "sync"
@ -36,15 +35,19 @@ func (srv *AliasService) LoadUserAliases(userId string) error {
} }
func (srv *AliasService) GetAliasOrDefault(userId string, summaryType uint8, value string) (string, error) { func (srv *AliasService) GetAliasOrDefault(userId string, summaryType uint8, value string) (string, error) {
if ua, ok := userAliases.Load(userId); ok { if !srv.IsInitialized(userId) {
for _, a := range ua.([]*models.Alias) { if err := srv.LoadUserAliases(userId); err != nil {
if a.Type == summaryType && a.Value == value { return "", err
return a.Key, nil
}
} }
return value, nil
} }
return "", errors.New("user aliases not initialized")
aliases, _ := userAliases.Load(userId)
for _, a := range aliases.([]*models.Alias) {
if a.Type == summaryType && a.Value == value {
return a.Key, nil
}
}
return value, nil
} }
func (srv *AliasService) IsInitialized(userId string) bool { func (srv *AliasService) IsInitialized(userId string) bool {

View File

@ -1 +1 @@
1.13.2 1.13.3