aboutsummaryrefslogtreecommitdiff
path: root/web/views.go
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-08-23 11:09:07 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-08-23 11:09:07 +0200
commit53615a05708ff852af42905e2b5ced66ba70c43d (patch)
tree5f936b6bb8a2305cff6c8d086e6ad5af4c1aa491 /web/views.go
parent765ea1fffcc1bd1af2e6e9645d6f138dfd4ae0eb (diff)
Merge ride and rides packages into ride/store following mountain_pass structure
Consolidate persistence (Save, List, Backfill) into ride/store.go alongside ride.go/climb.go/moving_time.go, rename rides.Ride to ride.StoredRide to avoid collision with parsed ride.Ride, update all web/cli consumers and RideView to use named Ride field, adjust templates and regenerate templ files, and remove rides directory.
Diffstat (limited to 'web/views.go')
-rw-r--r--web/views.go27
1 files changed, 13 insertions, 14 deletions
diff --git a/web/views.go b/web/views.go
index 7a5a461..64afb82 100644
--- a/web/views.go
+++ b/web/views.go
@@ -9,11 +9,10 @@ import (
"github.com/martinlehoux/biking_home/official_climb"
"github.com/martinlehoux/biking_home/ride"
"github.com/martinlehoux/biking_home/rideanalysis"
- "github.com/martinlehoux/biking_home/rides"
)
type RideView struct {
- rides.Ride
+ Ride ride.StoredRide
Cotacol string
CotacolPer100Km string
MovingTime string
@@ -39,7 +38,7 @@ type AnalyticsPoint struct {
CotacolPer100Km float64 `json:"cotacolPer100Km"`
}
-func buildAnalyticsPoints(items []rides.Ride) []AnalyticsPoint {
+func buildAnalyticsPoints(items []ride.StoredRide) []AnalyticsPoint {
points := make([]AnalyticsPoint, 0, len(items))
for _, item := range items {
cotacol, ready := item.CotacolScore()
@@ -194,16 +193,16 @@ func parseRideSort(query url.Values) RideSort {
return RideSort{Column: column, Descending: direction != "asc"}
}
-func (s RideSort) databaseColumn() (rides.SortColumn, bool) {
- columns := map[string]rides.SortColumn{
- rideSortName: rides.SortName,
- rideSortStarted: rides.SortStartDate,
- rideSortDistance: rides.SortDistance,
- rideSortMovingTime: rides.SortMovingTime,
- rideSortSpeed: rides.SortSpeed,
- rideSortElevation: rides.SortElevation,
- rideSortCotacol: rides.SortCotacol,
- rideSortCotacolKm: rides.SortCotacolKm,
+func (s RideSort) databaseColumn() (ride.SortColumn, bool) {
+ columns := map[string]ride.SortColumn{
+ rideSortName: ride.SortName,
+ rideSortStarted: ride.SortStartDate,
+ rideSortDistance: ride.SortDistance,
+ rideSortMovingTime: ride.SortMovingTime,
+ rideSortSpeed: ride.SortSpeed,
+ rideSortElevation: ride.SortElevation,
+ rideSortCotacol: ride.SortCotacol,
+ rideSortCotacolKm: ride.SortCotacolKm,
}
column, found := columns[s.Column]
return column, found
@@ -277,7 +276,7 @@ func officialClimbCreateURL(id int64) string {
return fmt.Sprintf("/rides/%d/official-climbs", id)
}
-func buildRideDetailView(item rides.Ride, parsed ride.Ride, passes []mountain_pass.MountainPass, officialClimbs []official_climb.OfficialClimb, matchPolicy official_climb.MatchPolicy) RideDetailView {
+func buildRideDetailView(item ride.StoredRide, parsed ride.Ride, passes []mountain_pass.MountainPass, officialClimbs []official_climb.OfficialClimb, matchPolicy official_climb.MatchPolicy) RideDetailView {
coordinates := make([][]float64, parsed.Len())
for i := 0; i < parsed.Len(); i++ {
coordinate := parsed.Coord(i)