mirror of
https://github.com/sstent/go-garth.git
synced 2026-01-25 16:42:28 +00:00
feat(refactor): Implement 1A.1 Package Structure Refactoring
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.
This commit is contained in:
36
internal/stats/stress_weekly.go
Normal file
36
internal/stats/stress_weekly.go
Normal file
@@ -0,0 +1,36 @@
|
||||
package stats
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"time"
|
||||
)
|
||||
|
||||
const WEEKLY_STRESS_PATH = "/wellness-service/wellness/weeklyStress"
|
||||
|
||||
type WeeklyStress struct {
|
||||
CalendarDate time.Time `json:"calendar_date"`
|
||||
TotalStressDuration int `json:"total_stress_duration"`
|
||||
AverageStressLevel float64 `json:"average_stress_level"`
|
||||
MaxStressLevel int `json:"max_stress_level"`
|
||||
StressQualifier string `json:"stress_qualifier"`
|
||||
BaseStats
|
||||
}
|
||||
|
||||
func NewWeeklyStress() *WeeklyStress {
|
||||
return &WeeklyStress{
|
||||
BaseStats: BaseStats{
|
||||
Path: WEEKLY_STRESS_PATH + "/{end}/{period}",
|
||||
PageSize: 52,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (w *WeeklyStress) Validate() error {
|
||||
if w.CalendarDate.IsZero() {
|
||||
return errors.New("calendar_date is required")
|
||||
}
|
||||
if w.TotalStressDuration < 0 {
|
||||
return errors.New("total_stress_duration must be non-negative")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user