mirror of
https://github.com/sstent/go-garth.git
synced 2026-01-25 08:35:06 +00:00
This commit implements the package structure refactoring as outlined in phase1.md (Task 1A.1). Key changes include: - Reorganized packages into `pkg/garmin` for public API and `internal/` for internal implementations. - Updated all import paths to reflect the new structure. - Consolidated types and client logic into their respective new packages. - Updated `cmd/garth/main.go` to use the new public API. - Fixed various compilation and test issues encountered during the refactoring process. - Converted `internal/api/client/auth_test.go` to a functional test. This establishes a solid foundation for future enhancements and improves maintainability.
42 lines
1.0 KiB
Go
42 lines
1.0 KiB
Go
package stats
|
|
|
|
import "time"
|
|
|
|
const BASE_STEPS_PATH = "/usersummary-service/stats/steps"
|
|
|
|
type DailySteps struct {
|
|
CalendarDate time.Time `json:"calendar_date"`
|
|
TotalSteps *int `json:"total_steps"`
|
|
TotalDistance *int `json:"total_distance"`
|
|
StepGoal int `json:"step_goal"`
|
|
BaseStats
|
|
}
|
|
|
|
func NewDailySteps() *DailySteps {
|
|
return &DailySteps{
|
|
BaseStats: BaseStats{
|
|
Path: BASE_STEPS_PATH + "/daily/{start}/{end}",
|
|
PageSize: 28,
|
|
},
|
|
}
|
|
}
|
|
|
|
type WeeklySteps struct {
|
|
CalendarDate time.Time `json:"calendar_date"`
|
|
TotalSteps int `json:"total_steps"`
|
|
AverageSteps float64 `json:"average_steps"`
|
|
AverageDistance float64 `json:"average_distance"`
|
|
TotalDistance float64 `json:"total_distance"`
|
|
WellnessDataDaysCount int `json:"wellness_data_days_count"`
|
|
BaseStats
|
|
}
|
|
|
|
func NewWeeklySteps() *WeeklySteps {
|
|
return &WeeklySteps{
|
|
BaseStats: BaseStats{
|
|
Path: BASE_STEPS_PATH + "/weekly/{end}/{period}",
|
|
PageSize: 52,
|
|
},
|
|
}
|
|
}
|