8b21af3296
Co-authored-by: Kandev Agent <agent@kandev.dev> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
21 lines
1.1 KiB
Go
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)
|
|
}
|