garmin

package
v0.0.0-...-f50a457 Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ApiServiceHost   = "connect.garmin.com"
	ApiServiceHostCn = "connect.garmin.cn"
	SsoPrefix        = "https://sso.garmin.com"
	SsoPrefixCn      = "https://sso.garmin.cn"
	UserAgent        = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Activity

type Activity struct {
	ActivityId         int64        `json:"activityId"`
	ActivityName       string       `json:"activityName"`
	Description        string       `json:"description"`
	UserProfileId      int          `json:"userProfileId"`
	IsMultiSportParent bool         `json:"isMultiSportParent"`
	ActivityType       ActivityType `json:"activityTypeDTO"`
	Summary            Summary      `json:"summaryDTO"`
	MetadataDTO        MetaData     `json:"metadataDTO"`
}

type ActivityListItem

type ActivityListItem struct {
	ActivityId     int64  `json:"activityId"`
	ActivityName   string `json:"activityName"`
	StartTimeLocal string `json:"startTimeLocal"`
	StartTimeGMT   string `json:"startTimeGMT"`
}

func (*ActivityListItem) Equals

func (a *ActivityListItem) Equals(obj interface{}) bool

type ActivityType

type ActivityType struct {
	TypeId       int    `json:"typeId"`
	TypeKey      string `json:"typeKey"`
	ParentTypeId int    `json:"parentTypeId"`
	SortOrder    int    `json:"sortOrder"`
	IsHidden     bool   `json:"isHidden"`
}

type Client

type Client struct {
	Email     string `json:"email"`
	Password  string `json:"password"`
	ApiHost   string `json:"api_host"`
	ApiPrefix string `json:"api_prefix"`
	SsoPrefix string `json:"sso_prefix"`
	// contains filtered or unexported fields
}

func NewClient

func NewClient(options ...Option) *Client

func (*Client) Auth

func (c *Client) Auth(reLogin bool) error

func (*Client) DownloadActivity

func (c *Client) DownloadActivity(id int64) (io.ReadCloser, string, error)

func (*Client) GetActivity

func (c *Client) GetActivity(id int64) (Activity, error)

func (*Client) GetActivityList

func (c *Client) GetActivityList(start int64, limit int64) ([]ActivityListItem, error)

func (*Client) SetOptions

func (c *Client) SetOptions(options ...Option)

func (*Client) UploadActivity

func (c *Client) UploadActivity(fileName string, file io.ReadCloser) error

type MetaData

type MetaData struct {
	Manufacturer string   `json:"manufacturer"`
	Sensors      []Sensor `json:"sensors"`
}

type Option

type Option func(client *Client)

func Credentials

func Credentials(email string, password string) Option

func SetEnv

func SetEnv(apiHost string, ssoPrefix string) Option

type Sensor

type Sensor struct {
	SKU             string  `json:"sku"`
	SoftwareVersion float32 `json:"softwareVersion"`
	LocalDeviceType string  `json:"localDeviceType"`
}

type Summary

type Summary struct {
	StartTimeLocal     string  `json:"startTimeLocal"`
	StartTimeGMT       string  `json:"startTimeGMT"`
	StartLatitude      float64 `json:"startLatitude"`
	StartLongitude     float64 `json:"startLongitude"`
	Distance           float64 `json:"distance"`
	Duration           float64 `json:"duration"`
	MovingDuration     float64 `json:"movingDuration"`
	ElapsedDuration    float64 `json:"elapsedDuration"`
	ElevationGain      float64 `json:"elevationGain"`
	ElevationLoss      float64 `json:"elevationLoss"`
	MaxElevation       float64 `json:"maxElevation"`
	MinElevation       float64 `json:"minElevation"`
	AverageSpeed       float64 `json:"averageSpeed"`
	AverageMovingSpeed float64 `json:"averageMovingSpeed"`
	MaxSpeed           float64 `json:"maxSpeed"`
	Calories           float64 `json:"calories"`
	AverageHR          float64 `json:"averageHR"`
	MaxHR              float64 `json:"maxHR"`
	AverageTemperature float64 `json:"averageTemperature"`
	MinTemperature     float64 `json:"minTemperature"`
	MaxTemperature     float64 `json:"maxTemperature"`
	TrainingEffect     float64 `json:"trainingEffect"`
	AverageBikeCadence float64 `json:"averageBikeCadence"`
	MaxBikeCadence     float64 `json:"maxBikeCadence"`
	AveragePower       float64 `json:"averagePower"`
	MaxPower           float64 `json:"maxPower"`
	AverageRunCadence  float64 `json:"averageRunCadence"`
	MaxRunCadence      float64 `json:"maxRunCadence"`
}

type UserInfo

type UserInfo struct {
	Email    string `json:"email"`
	Password string `json:"password"`
}

Jump to

Keyboard shortcuts

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