fitbit

package
v0.0.0-...-1767cb9 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2019 License: MIT Imports: 11 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 {
	Users []*User
	// contains filtered or unexported fields
}

func NewClient

func NewClient(db *database.Database, clientID, clientSecret string) (*Client, error)

func (*Client) CallbackHandler

func (c *Client) CallbackHandler(w http.ResponseWriter, r *http.Request)

func (*Client) Close

func (c *Client) Close() error

func (*Client) GetCurrentDayLimit

func (c *Client) GetCurrentDayLimit(user string, top bool) (*HeartData, error)

func (*Client) GetCurrentDayZones

func (c *Client) GetCurrentDayZones(user string) ([]HeartRateZone, error)

func (*Client) GetCurrentDaysData

func (c *Client) GetCurrentDaysData(user string) ([]HeartData, error)

func (*Client) GetCurrentResting

func (c *Client) GetCurrentResting(user string) (int, error)

func (*Client) GetCurrentUser

func (c *Client) GetCurrentUser(client *http.Client) (*User, error)

func (*Client) GetHeartData

func (c *Client) GetHeartData(user string, opts HeartRateOptions) (*HeartRateData, error)

func (*Client) GetMaxZones

func (c *Client) GetMaxZones(user string) (map[string]HeartRateZone, error)

func (*Client) GetNHeartRates

func (c *Client) GetNHeartRates(user string, top bool, limit int) ([]HeartData, error)

func (*Client) GetResting

func (c *Client) GetResting(user string, top bool) (*HeartData, error)

func (*Client) GetUser

func (c *Client) GetUser(userID string) (*User, error)

func (*Client) GetZonesByDate

func (c *Client) GetZonesByDate(user string, startDate, endDate time.Time) ([]HeartRateZone, error)

func (*Client) LoginHandler

func (c *Client) LoginHandler(w http.ResponseWriter, r *http.Request)

type HeartData

type HeartData struct {
	Time  string `json:"time"`
	Value int    `json:"value"`
}

type HeartRateData

type HeartRateData struct {
	OverviewByDay []HeartRateOverView `json:"activities-heart"`
	IntraDay      *HeartRateIntraDay  `json:"activities-heart-intraday"`
}

type HeartRateDetailLevel

type HeartRateDetailLevel string
const (
	HeartRateDetailLevel1Sec HeartRateDetailLevel = "1sec"
	HeartRateDetailLevel1Min HeartRateDetailLevel = "1min"
)

func GetHeartRateDetailLevel

func GetHeartRateDetailLevel(level HeartRateDetailLevel) *HeartRateDetailLevel

type HeartRateIntraDay

type HeartRateIntraDay struct {
	Data             []HeartData `json:"dataset"`
	DataInterval     int         `json:"datasetInterval"`
	DataIntervalType string      `json:"datasetType"`
}

type HeartRateOptions

type HeartRateOptions struct {
	StartDate   *time.Time
	EndDate     *time.Time
	DetailLevel *HeartRateDetailLevel
}

type HeartRateOverView

type HeartRateOverView struct {
	Date  string                 `json:"dateTime"`
	Value HeartRateOverviewValue `json:"value"`
}

type HeartRateOverviewValue

type HeartRateOverviewValue struct {
	Zones            []HeartRateZone `json:"heartRateZones"`
	RestingHeartRate int             `json:"restingHeartRate"`
}

type HeartRatePeriod

type HeartRatePeriod string

func GetHeartRatePeriod

func GetHeartRatePeriod(period HeartRatePeriod) *HeartRatePeriod

type HeartRateZone

type HeartRateZone struct {
	Name        string  `json:"name"`
	CaloriesOut float64 `json:"caloriesOut"`
	Max         int     `json:"max"`
	Min         int     `json:"Min"`
	Minutes     int     `json:"minutes"`
	Date        string
}

type RequestError

type RequestError struct {
	Code       int
	RetryAfter time.Duration
	Errors     []struct {
		ErrorType string `json:"errorType"`
		FieldName string `json:"fieldName"`
		Message   string `json:"message"`
	} `json:"errors"`
}

func (*RequestError) Error

func (e *RequestError) Error() string

type User

type User struct {
	ID          string `json:"encodedId"`
	DisplayName string `json:"displayName"`
	FullName    string `json:"fullName"`
	MemberSince string `json:"memberSince"`
	// contains filtered or unexported fields
}

func (*User) SaveHeartRateData

func (u *User) SaveHeartRateData(db *sql.DB, data *HeartRateData) error

type UserResponse

type UserResponse struct {
	User *User `json:"user"`
}

Jump to

Keyboard shortcuts

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