diff --git a/backend/internal/server/api_contract_test.go b/backend/internal/server/api_contract_test.go index 1aeedf8d..72909b58 100644 --- a/backend/internal/server/api_contract_test.go +++ b/backend/internal/server/api_contract_test.go @@ -925,8 +925,38 @@ func (r *stubUsageLogRepo) GetUserModelStats(ctx context.Context, userID int64, func (r *stubUsageLogRepo) ListWithFilters(ctx context.Context, params pagination.PaginationParams, filters usagestats.UsageLogFilters) ([]service.UsageLog, *pagination.PaginationResult, error) { logs := r.userLogs[filters.UserID] - total := int64(len(logs)) - out := paginateLogs(logs, params) + + // Apply filters + var filtered []service.UsageLog + for _, log := range logs { + // Apply ApiKeyID filter + if filters.ApiKeyID > 0 && log.ApiKeyID != filters.ApiKeyID { + continue + } + // Apply Model filter + if filters.Model != "" && log.Model != filters.Model { + continue + } + // Apply Stream filter + if filters.Stream != nil && log.Stream != *filters.Stream { + continue + } + // Apply BillingType filter + if filters.BillingType != nil && log.BillingType != *filters.BillingType { + continue + } + // Apply time range filters + if filters.StartTime != nil && log.CreatedAt.Before(*filters.StartTime) { + continue + } + if filters.EndTime != nil && log.CreatedAt.After(*filters.EndTime) { + continue + } + filtered = append(filtered, log) + } + + total := int64(len(filtered)) + out := paginateLogs(filtered, params) return out, paginationResult(total, params), nil }