Files
garminsync-go/internal/parser/activity/activity.go
2025-08-24 19:37:39 -07:00

36 lines
809 B
Go

package parser
import "time"
// ActivityMetrics contains all metrics extracted from activity files
type ActivityMetrics struct {
ActivityType string
StartTime time.Time
Duration time.Duration
Distance float64 // in meters
MaxHeartRate int
AvgHeartRate int
AvgPower int
Calories int
Steps int
ElevationGain float64 // in meters
ElevationLoss float64 // in meters
MinTemperature float64 // in °C
MaxTemperature float64 // in °C
AvgTemperature float64 // in °C
}
// Parser defines the interface for activity file parsers
type Parser interface {
ParseFile(filename string) (*ActivityMetrics, error)
}
// FileType represents supported file formats
type FileType string
const (
FIT FileType = "fit"
TCX FileType = "tcx"
GPX FileType = "gpx"
)