checkpoint 3

This commit is contained in:
2025-08-25 05:36:30 -07:00
parent 87d2aa0d84
commit 1727435561
2 changed files with 50 additions and 0 deletions

15
cleanup.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
# Move activity.go back to parser directory
mv internal/parser/activity.go internal/parser/activity.go
# Remove extra directories
rm -rf internal/parser/activity
# Revert import paths
find . -name '*.go' -exec sed -i \
-e 's|parser/activity/activity|parser|g' \
-e 's|github.com/sstent/garminsync-go/internal/parser/activity/activity|github.com/sstent/garminsync-go/internal/parser|g' \
{} +
# Remove unused fix_imports script
rm -f fix_imports.sh

View File

@@ -0,0 +1,35 @@
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"
)