partital fix - checkpoint 2

This commit is contained in:
2025-08-28 17:31:01 -07:00
parent 5f27c27444
commit ff5065770a
51 changed files with 491 additions and 46807 deletions

25
internal/api/steps.go Normal file
View File

@@ -0,0 +1,25 @@
package api
import (
"time"
"github.com/go-playground/validator/v10"
)
// DailySteps represents daily step count data from Garmin Connect
type DailySteps struct {
CalendarDate time.Time `json:"calendarDate" validate:"required"`
TotalSteps int `json:"totalSteps" validate:"min=0"`
Goal int `json:"goal" validate:"min=0"`
ActiveMinutes int `json:"activeMinutes" validate:"min=0"`
DistanceMeters float64 `json:"distanceMeters" validate:"min=0"`
CaloriesBurned int `json:"caloriesBurned" validate:"min=0"`
StepsToGoal int `json:"stepsToGoal"`
StepGoalAchieved bool `json:"stepGoalAchieved"`
}
// Validate ensures DailySteps fields meet requirements
func (s *DailySteps) Validate() error {
validate := validator.New()
return validate.Struct(s)
}