Skip to content

Commit

Permalink
prevent duplicate schedules for same airports
Browse files Browse the repository at this point in the history
  • Loading branch information
its-felix committed Nov 3, 2024
1 parent 1d657ac commit 63ba7e4
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions go/api/data/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -501,11 +501,19 @@ func (h *Handler) QuerySchedules(ctx context.Context, airline common.AirlineIden
for _, variant := range fs.Variants {
if variant.Data.ServiceType == "J" && variant.Data.AircraftType == aircraftType && variant.Data.AircraftConfigurationVersion == aircraftConfigurationVersion {
fn := fs.Number()
result[fn] = append(result[fn], RouteAndRanges{
DepartureAirport: variant.Data.DepartureAirport,
ArrivalAirport: variant.Data.ArrivalAirport,
Ranges: variant.Ranges,
idx := slices.IndexFunc(result[fn], func(rr RouteAndRanges) bool {
return rr.DepartureAirport == variant.Data.DepartureAirport && rr.ArrivalAirport == variant.Data.ArrivalAirport
})

if idx == -1 {
result[fn] = append(result[fn], RouteAndRanges{
DepartureAirport: variant.Data.DepartureAirport,
ArrivalAirport: variant.Data.ArrivalAirport,
Ranges: variant.Ranges,
})
} else {
result[fn][idx].Ranges = result[fn][idx].Ranges.ExpandAll(variant.Ranges)
}
}
}
}
Expand Down

0 comments on commit 63ba7e4

Please sign in to comment.