summaryrefslogtreecommitdiff
path: root/strava/sync.go
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-08-11 14:33:27 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-08-11 14:33:27 +0200
commit3f91689bc9a4560b29bac1b48ac81aebe83e3c2a (patch)
tree30baec5c2681ebba956acef3fd6dcb3e7976c444 /strava/sync.go
parent7d13374eec8c33c4e14cc5b0c3de36e4f620ce0e (diff)
feat: Save Strava activities without routes
Diffstat (limited to 'strava/sync.go')
-rw-r--r--strava/sync.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/strava/sync.go b/strava/sync.go
index 45b13d3..28ba925 100644
--- a/strava/sync.go
+++ b/strava/sync.go
@@ -13,6 +13,8 @@ import (
const garminTrackPointExtensionNamespace = "http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
+var ErrNoTrackPoints = errors.New("activity has no track points")
+
type Activity struct {
ID int64 `json:"id"`
Name string `json:"name"`
@@ -77,7 +79,7 @@ func (c *Client) Get(id int64) (Activity, []byte, error) {
}
gpxData, err := activityGPX(activity, streams)
if err != nil {
- return Activity{}, nil, err
+ return activity, nil, err
}
return activity, gpxData, nil
}
@@ -139,7 +141,7 @@ func (c *Client) activityStreams(id int64) (activityStreams, error) {
func activityGPX(activity Activity, streams activityStreams) ([]byte, error) {
if len(streams.LatLng) == 0 {
- return nil, errors.New("activity has no track points")
+ return nil, ErrNoTrackPoints
}
points := make([]gpx.GPXPoint, len(streams.LatLng))
for i := range streams.LatLng {