Fix product performance grouped JSON build

This commit is contained in:
M_Kececi
2026-07-03 21:35:14 +03:00
parent 4ae6475875
commit 3697e35064
2 changed files with 160 additions and 71 deletions
+9 -8
View File
@@ -273,6 +273,13 @@ func GetProductPerformanceGroupedHandler(pg *sql.DB) http.HandlerFunc {
groupLevels := splitCSVQuery(r.URL.Query().Get("group_levels"))
limit := intQuery(r, "limit", 50000)
expanded := map[string]bool{}
const maxExpandedGroupKeys = 200
addExpandedKey := func(key string) {
key = strings.TrimSpace(key)
if key != "" && len(expanded) < maxExpandedGroupKeys {
expanded[key] = true
}
}
if r.Method == http.MethodPost {
var body struct {
Mode string `json:"mode"`
@@ -298,17 +305,11 @@ func GetProductPerformanceGroupedHandler(pg *sql.DB) http.HandlerFunc {
limit = body.Limit
}
for _, key := range body.ExpandedKeys {
key = strings.TrimSpace(key)
if key != "" {
expanded[key] = true
}
addExpandedKey(key)
}
} else {
for _, key := range strings.Split(r.URL.Query().Get("expanded_keys"), ",") {
key = strings.TrimSpace(key)
if key != "" {
expanded[key] = true
}
addExpandedKey(key)
}
}