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"
"log/slog"
"net/http"
"slices"
"strings"
"time"
@ -206,7 +207,7 @@ func generateStats(ctx context.Context) ([]ChartData, error) {
FROM tasks
WHERE updated_at > current_date - 7 AND (status = $1 OR status = $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 {
return nil, fmt.Errorf("Query Task Status Day: %w", err)
}
@ -219,8 +220,11 @@ func generateStats(ctx context.Context) ([]ChartData, error) {
days := []string{}
successBarData := []opts.BarData{}
failedBarData := []opts.BarData{}
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 {
successBarData = append(successBarData, opts.BarData{
Value: v.Count,
@ -230,8 +234,8 @@ func generateStats(ctx context.Context) ([]ChartData, error) {
Value: v.Count,
})
}
}
bar := charts.NewBar()
bar.SetGlobalOptions(
charts.WithInitializationOpts(opts.Initialization{
@ -239,7 +243,7 @@ func generateStats(ctx context.Context) ([]ChartData, error) {
BackgroundColor: "#111",
}),
charts.WithTitleOpts(opts.Title{
Title: "Task Success/Failed Per Day",
Title: "Task Success/Failed Last 7 Days",
}),
)
bar.SetXAxis(days).