wakapi

package
v0.97.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2026 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Overview

Package wakapi implements the Wakapi coding-stats provider.

Index

Constants

View Source
const (
	ID          = "wakapi"
	EndpointKey = "endpoint"
	APIKeyKey   = "api_key"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Project

type Project struct {
	ID              string `json:"id"`
	Name            string `json:"name"`
	LastHeartbeatAt string `json:"last_heartbeat_at"`
}

Project is a Wakapi tracked project.

type ProjectsResponse

type ProjectsResponse struct {
	Data []Project `json:"data"`
}

ProjectsResponse wraps WakaTime-compatible project list.

type Summary

type Summary struct {
	Projects  []SummaryItem `json:"projects"`
	Languages []SummaryItem `json:"languages"`
	Editors   []SummaryItem `json:"editors"`
	Total     int64         `json:"total_seconds"`
}

Summary is a Wakapi activity summary.

type SummaryItem

type SummaryItem struct {
	Key          string  `json:"key"`
	Total        int64   `json:"total"`
	TotalSeconds float64 `json:"total_seconds"`
	Name         string  `json:"name"`
}

SummaryItem is a named duration bucket in a summary.

type Wakapi

type Wakapi struct {
	// contains filtered or unexported fields
}

Wakapi is an HTTP client for the Wakapi API.

func GetClient

func GetClient() *Wakapi

GetClient builds a Wakapi client from vendors.wakapi config. Returns nil when endpoint is not configured.

func NewWakapi

func NewWakapi(endpoint, apiKey string) *Wakapi

NewWakapi creates a Wakapi client. Auth uses Basic base64(api_key). Returns nil when endpoint is empty.

func (*Wakapi) GetSummary

func (w *Wakapi) GetSummary(ctx context.Context, interval string) (*Summary, error)

GetSummary returns activity summary for an interval (e.g. "today").

func (*Wakapi) ListProjects

func (w *Wakapi) ListProjects(ctx context.Context) ([]Project, error)

ListProjects returns tracked projects (WakaTime-compatible).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL