toggl

package
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: May 1, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

func NewClient

func NewClient(client *http.Client, token string) *Client

func NewDefaultClient

func NewDefaultClient(token string) *Client

func (*Client) FetchWorkspaceProjects

func (cl *Client) FetchWorkspaceProjects(workspaceID int) (Projects, error)

func (*Client) FetchWorkspaces

func (cl *Client) FetchWorkspaces() (Workspaces, error)

func (*Client) GetCurrentTimeEntry

func (cl *Client) GetCurrentTimeEntry() (TimeEntry, error)

func (*Client) PostStartTimeEntry

func (cl *Client) PostStartTimeEntry(
	timeEntry TimeEntry,
) (response TimeEntry, err error)

func (*Client) PutStopTimeEntry

func (cl *Client) PutStopTimeEntry(workspaceID int, timeEntryID int) error

type Project

type Project struct {
	Active        bool   `json:"active"`
	ActualHours   int    `json:"actual_hours"`
	At            string `json:"at"`
	AutoEstimates bool   `json:"auto_estimates"`
	Billable      bool   `json:"billable"`
	Color         string `json:"color"`
	CreatedAt     string `json:"created_at"`
	HexColor      string `json:"hex_color"`
	ID            int    `json:"id"`
	IsPrivate     bool   `json:"is_private"`
	Name          string `json:"name"`
	Template      bool   `json:"template"`
	WorkspaceID   int    `json:"workspace_id"`
}

type Projects

type Projects []Project

func (Projects) FindByID

func (repository Projects) FindByID(id int) (Project, error)

type TimeEntry

type TimeEntry struct {
	At          string   `json:"at"`
	Billable    bool     `json:"billable"`
	Description string   `json:"description"`
	Duration    int64    `json:"duration"`
	Duronly     bool     `json:"duronly"`
	ID          int      `json:"id"`
	Start       string   `json:"start"`
	Tags        []string `json:"tags"`
	UserID      int      `json:"user_id"`
	ProjectID   int      `json:"project_id"`
	WorkspaceID int      `json:"workspace_id"`
}

func (TimeEntry) AddParam

func (timeEntry TimeEntry) AddParam() interface{}

type Workspace

type Workspace struct {
	Admin                       bool   `json:"admin"`
	APIToken                    string `json:"api_token"`
	At                          string `json:"at"`
	DefaultCurrency             string `json:"default_currency"`
	DefaultHourlyRate           int    `json:"default_hourly_rate"`
	IcalEnabled                 bool   `json:"ical_enabled"`
	ID                          int    `json:"id"`
	Name                        string `json:"name"`
	OnlyAdminsMayCreateProjects bool   `json:"only_admins_may_create_projects"`
	OnlyAdminsSeeBillableRates  bool   `json:"only_admins_see_billable_rates"`
	OnlyAdminsSeeTeamDashboard  bool   `json:"only_admins_see_team_dashboard"`
	Premium                     bool   `json:"premium"`
	Profile                     int    `json:"profile"`
	ProjectsBillableByDefault   bool   `json:"projects_billable_by_default"`
	Rounding                    int    `json:"rounding"`
	RoundingMinutes             int    `json:"rounding_minutes"`
	Subscription                struct {
		CreatedAt            string      `json:"created_at"`
		DeletedAt            interface{} `json:"deleted_at"`
		Description          string      `json:"description"`
		UpdatedAt            interface{} `json:"updated_at"`
		VatApplicable        bool        `json:"vat_applicable"`
		VatInvalidAcceptedAt interface{} `json:"vat_invalid_accepted_at"`
		VatInvalidAcceptedBy interface{} `json:"vat_invalid_accepted_by"`
		VatValid             bool        `json:"vat_valid"`
		VatValidatedAt       interface{} `json:"vat_validated_at"`
		WorkspaceID          int         `json:"workspace_id"`
	} `json:"subscription"`
}

type Workspaces

type Workspaces []Workspace

func (Workspaces) FindByID

func (repository Workspaces) FindByID(id int) (Workspace, error)

Jump to

Keyboard shortcuts

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