Files
kandev/apps/backend/internal/analytics/repository/interface.go
T
João Salavisa 8b21af3296 fix(stats): key Top Agents usage by model and stop dropping each range's first day (#2510)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 19:43:46 +01:00

21 lines
1.1 KiB
Go

package repository
import (
"context"
"time"
"github.com/kandev/kandev/internal/analytics/models"
)
// Repository defines the interface for analytics/statistics operations.
type Repository interface {
GetTaskStats(ctx context.Context, workspaceID string, start *time.Time, limit int) ([]*models.TaskStats, error)
GetGlobalStats(ctx context.Context, workspaceID string, start *time.Time) (*models.GlobalStats, error)
GetDailyActivity(ctx context.Context, workspaceID string, days int) ([]*models.DailyActivity, error)
GetCompletedTaskActivity(ctx context.Context, workspaceID string, days int) ([]*models.CompletedTaskActivity, error)
GetModelUsage(ctx context.Context, workspaceID string, limit int, start *time.Time) ([]*models.ModelUsage, error)
GetRepositoryStats(ctx context.Context, workspaceID string, start *time.Time) ([]*models.RepositoryStats, error)
GetGitStats(ctx context.Context, workspaceID string, start *time.Time) (*models.GitStats, error)
ListSessionCodeStats(ctx context.Context, filter models.SessionCodeStatsFilter) ([]*models.SessionCodeStats, error)
}