diff options
Diffstat (limited to '')
-rw-r--r-- | golang/pkg/api/systems.go | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/golang/pkg/api/systems.go b/golang/pkg/api/systems.go index 05e43e3..5f5def6 100644 --- a/golang/pkg/api/systems.go +++ b/golang/pkg/api/systems.go @@ -24,24 +24,6 @@ func (c *Client) GetSystem(symbol string, db *database.DB) (*model.System, error return &system, nil } -func (c *Client) ListWaypointsInSystem(system *model.System, db *database.DB) ([]model.Waypoint, error) { - if waypoints, err := db.LoadWaypointsInSystem(system); err == nil && waypoints != nil { - // TODO check last updated time - return waypoints, nil - } - uriRef := url.URL{Path: path.Join("systems", system.Symbol, "waypoints")} - var waypoints []model.Waypoint - if err := c.Send("GET", &uriRef, nil, &waypoints); err != nil { - return nil, fmt.Errorf("failed to list waypoints in system %s: %w", system.Symbol, err) - } - for _, waypoint := range waypoints { - if err := db.SaveWaypoint(&waypoint); err != nil { - return nil, fmt.Errorf("failed to list waypoints in system %s: %w", system.Symbol, err) - } - } - return waypoints, nil -} - func (c *Client) GetShipyard(waypoint *model.Waypoint, db *database.DB) (*model.Shipyard, error) { if shipyard, err := db.LoadShipyard(waypoint.Symbol); err == nil && shipyard != nil && (shipyard.Ships != nil) { // TODO || !IsThereAShipAtWaypoint(waypoint)) { @@ -75,3 +57,21 @@ func (c *Client) GetWaypoint(symbol string, db *database.DB) (*model.Waypoint, e } return &waypoint, nil } + +func (c *Client) ListWaypointsInSystem(systemSymbol string, db *database.DB) ([]model.Waypoint, error) { + if waypoints, err := db.LoadWaypointsInSystem(systemSymbol); err == nil && waypoints != nil { + // TODO check last updated time + return waypoints, nil + } + uriRef := url.URL{Path: path.Join("systems", systemSymbol, "waypoints")} + var waypoints []model.Waypoint + if err := c.Send("GET", &uriRef, nil, &waypoints); err != nil { + return nil, fmt.Errorf("failed to list waypoints in system %s: %w", systemSymbol, err) + } + for _, waypoint := range waypoints { + if err := db.SaveWaypoint(&waypoint); err != nil { + return nil, fmt.Errorf("failed to list waypoints in system %s: %w", systemSymbol, err) + } + } + return waypoints, nil +} |