deduplicate days
All checks were successful
/ release (push) Successful in 28s

This commit is contained in:
Samuel Lorch 2024-07-14 03:11:22 +02:00
parent 8b6e20ba00
commit 04a05284ed

View file

@ -7,6 +7,7 @@ import (
"html/template" "html/template"
"log/slog" "log/slog"
"net/http" "net/http"
"slices"
"strings" "strings"
"time" "time"
@ -206,7 +207,7 @@ func generateStats(ctx context.Context) ([]ChartData, error) {
FROM tasks FROM tasks
WHERE updated_at > current_date - 7 AND (status = $1 OR status = $2) WHERE updated_at > current_date - 7 AND (status = $1 OR status = $2)
GROUP BY 1,2 GROUP BY 1,2
ORDER BY date ;`, constants.TASK_STATUS_SUCCESS, constants.TASK_STATUS_FAILED) ORDER BY date;`, constants.TASK_STATUS_SUCCESS, constants.TASK_STATUS_FAILED)
if err != nil { if err != nil {
return nil, fmt.Errorf("Query Task Status Day: %w", err) return nil, fmt.Errorf("Query Task Status Day: %w", err)
} }
@ -219,8 +220,11 @@ func generateStats(ctx context.Context) ([]ChartData, error) {
days := []string{} days := []string{}
successBarData := []opts.BarData{} successBarData := []opts.BarData{}
failedBarData := []opts.BarData{} failedBarData := []opts.BarData{}
for _, v := range taskStatusDayCounts { for _, v := range taskStatusDayCounts {
days = append(days, v.Date.Format(time.DateOnly)) if !slices.Contains(days, v.Date.Format(time.DateOnly)) {
days = append(days, v.Date.Format(time.DateOnly))
}
if v.Status == constants.TASK_STATUS_SUCCESS { if v.Status == constants.TASK_STATUS_SUCCESS {
successBarData = append(successBarData, opts.BarData{ successBarData = append(successBarData, opts.BarData{
Value: v.Count, Value: v.Count,
@ -230,8 +234,8 @@ func generateStats(ctx context.Context) ([]ChartData, error) {
Value: v.Count, Value: v.Count,
}) })
} }
} }
bar := charts.NewBar() bar := charts.NewBar()
bar.SetGlobalOptions( bar.SetGlobalOptions(
charts.WithInitializationOpts(opts.Initialization{ charts.WithInitializationOpts(opts.Initialization{
@ -239,7 +243,7 @@ func generateStats(ctx context.Context) ([]ChartData, error) {
BackgroundColor: "#111", BackgroundColor: "#111",
}), }),
charts.WithTitleOpts(opts.Title{ charts.WithTitleOpts(opts.Title{
Title: "Task Success/Failed Per Day", Title: "Task Success/Failed Last 7 Days",
}), }),
) )
bar.SetXAxis(days). bar.SetXAxis(days).