diff --git a/backend/internal/repository/ops_repo_latency_histogram_buckets.go b/backend/internal/repository/ops_repo_latency_histogram_buckets.go index f7809480..cd5bed37 100644 --- a/backend/internal/repository/ops_repo_latency_histogram_buckets.go +++ b/backend/internal/repository/ops_repo_latency_histogram_buckets.go @@ -47,18 +47,18 @@ func latencyHistogramRangeCaseExpr(column string) string { func latencyHistogramRangeOrderCaseExpr(column string) string { var sb strings.Builder - sb.WriteString("CASE\n") + _, _ = sb.WriteString("CASE\n") order := 1 for _, b := range latencyHistogramBuckets { if b.upperMs <= 0 { continue } - sb.WriteString(fmt.Sprintf("\tWHEN %s < %d THEN %d\n", column, b.upperMs, order)) + _, _ = sb.WriteString(fmt.Sprintf("\tWHEN %s < %d THEN %d\n", column, b.upperMs, order)) order++ } - sb.WriteString(fmt.Sprintf("\tELSE %d\n", order)) - sb.WriteString("END") + _, _ = sb.WriteString(fmt.Sprintf("\tELSE %d\n", order)) + _, _ = sb.WriteString("END") return sb.String() } diff --git a/backend/internal/repository/ops_repo_request_details.go b/backend/internal/repository/ops_repo_request_details.go index 678e1648..d8d5d111 100644 --- a/backend/internal/repository/ops_repo_request_details.go +++ b/backend/internal/repository/ops_repo_request_details.go @@ -187,7 +187,7 @@ LIMIT $%d OFFSET $%d if err != nil { return nil, 0, err } - defer rows.Close() + defer func() { _ = rows.Close() }() toIntPtr := func(v sql.NullInt64) *int { if !v.Valid { diff --git a/backend/internal/repository/ops_repo_trends.go b/backend/internal/repository/ops_repo_trends.go index f25e157a..61b5ad64 100644 --- a/backend/internal/repository/ops_repo_trends.go +++ b/backend/internal/repository/ops_repo_trends.go @@ -77,7 +77,7 @@ ORDER BY bucket ASC` if err != nil { return nil, err } - defer rows.Close() + defer func() { _ = rows.Close() }() points := make([]*service.OpsThroughputTrendPoint, 0, 256) for rows.Next() { @@ -189,7 +189,7 @@ ORDER BY request_count DESC` if err != nil { return nil, err } - defer rows.Close() + defer func() { _ = rows.Close() }() items := make([]*service.OpsThroughputPlatformBreakdownItem, 0, 8) for rows.Next() { diff --git a/backend/internal/repository/usage_log_repo_integration_test.go b/backend/internal/repository/usage_log_repo_integration_test.go index 51964782..591ee2f5 100644 --- a/backend/internal/repository/usage_log_repo_integration_test.go +++ b/backend/internal/repository/usage_log_repo_integration_test.go @@ -204,7 +204,7 @@ func (s *UsageLogRepoSuite) TestDashboardStats_TodayTotalsAndPerformance() { userToday := mustCreateUser(s.T(), s.client, &service.User{ Email: "today@example.com", - CreatedAt: maxTime(todayStart.Add(10*time.Second), now.Add(-10*time.Second)), + CreatedAt: testMaxTime(todayStart.Add(10*time.Second), now.Add(-10*time.Second)), UpdatedAt: now, }) userOld := mustCreateUser(s.T(), s.client, &service.User{ @@ -237,7 +237,7 @@ func (s *UsageLogRepoSuite) TestDashboardStats_TodayTotalsAndPerformance() { TotalCost: 1.5, ActualCost: 1.2, DurationMs: &d1, - CreatedAt: maxTime(todayStart.Add(2*time.Minute), now.Add(-2*time.Minute)), + CreatedAt: testMaxTime(todayStart.Add(2*time.Minute), now.Add(-2*time.Minute)), } _, err = s.repo.Create(s.ctx, logToday) s.Require().NoError(err, "Create logToday") @@ -621,7 +621,7 @@ func (s *UsageLogRepoSuite) TestGetGlobalStats() { s.Require().Equal(int64(45), stats.TotalOutputTokens) } -func maxTime(a, b time.Time) time.Time { +func testMaxTime(a, b time.Time) time.Time { if a.After(b) { return a } diff --git a/backend/internal/service/ops_alert_models.go b/backend/internal/service/ops_alert_models.go index 783a3d1e..0acf13ab 100644 --- a/backend/internal/service/ops_alert_models.go +++ b/backend/internal/service/ops_alert_models.go @@ -72,4 +72,3 @@ type OpsAlertEventFilter struct { Platform string GroupID *int64 } - diff --git a/backend/internal/service/ops_cleanup_service.go b/backend/internal/service/ops_cleanup_service.go index c46ceaa9..afd2d22c 100644 --- a/backend/internal/service/ops_cleanup_service.go +++ b/backend/internal/service/ops_cleanup_service.go @@ -94,19 +94,19 @@ func (s *OpsCleanupService) Start() { if parsed, err := time.LoadLocation(strings.TrimSpace(s.cfg.Timezone)); err == nil && parsed != nil { loc = parsed } - } - - c := cron.New(cron.WithParser(opsCleanupCronParser), cron.WithLocation(loc)) - _, err := c.AddFunc(schedule, func() { s.runScheduled() }) - if err != nil { - log.Printf("[OpsCleanup] not started (invalid schedule=%q): %v", schedule, err) - return - } - s.cron = c - s.cron.Start() - log.Printf("[OpsCleanup] started (schedule=%q tz=%s)", schedule, loc.String()) - }) - } + } + + c := cron.New(cron.WithParser(opsCleanupCronParser), cron.WithLocation(loc)) + _, err := c.AddFunc(schedule, func() { s.runScheduled() }) + if err != nil { + log.Printf("[OpsCleanup] not started (invalid schedule=%q): %v", schedule, err) + return + } + s.cron = c + s.cron.Start() + log.Printf("[OpsCleanup] started (schedule=%q tz=%s)", schedule, loc.String()) + }) +} func (s *OpsCleanupService) Stop() { if s == nil { diff --git a/backend/internal/service/ops_request_details.go b/backend/internal/service/ops_request_details.go index e33e6f38..12b9aa1b 100644 --- a/backend/internal/service/ops_request_details.go +++ b/backend/internal/service/ops_request_details.go @@ -149,4 +149,3 @@ func (s *OpsService) ListRequestDetails(ctx context.Context, filter *OpsRequestD PageSize: pageSize, }, nil } - diff --git a/backend/internal/service/ops_retry.go b/backend/internal/service/ops_retry.go index bf6213ae..747aa3b8 100644 --- a/backend/internal/service/ops_retry.go +++ b/backend/internal/service/ops_retry.go @@ -52,7 +52,6 @@ const ( type limitedResponseWriter struct { header http.Header wroteHeader bool - status int limit int totalWritten int64 @@ -65,7 +64,6 @@ func newLimitedResponseWriter(limit int) *limitedResponseWriter { } return &limitedResponseWriter{ header: make(http.Header), - status: http.StatusOK, limit: limit, } } @@ -79,7 +77,6 @@ func (w *limitedResponseWriter) WriteHeader(statusCode int) { return } w.wroteHeader = true - w.status = statusCode } func (w *limitedResponseWriter) Write(p []byte) (int, error) {