diff options
author | Julien Dessaux | 2025-02-19 00:19:58 +0100 |
---|---|---|
committer | Julien Dessaux | 2025-02-19 00:19:58 +0100 |
commit | 312ef2eb5792cd145d6829e2abc017dd304c5819 (patch) | |
tree | cf782f8356bea73eacb5495631794cf5584e00cb /golang/pkg/agent/utils.go | |
parent | [golang] update error handling and bootstrap trade procurement (diff) | |
download | spacetraders-312ef2eb5792cd145d6829e2abc017dd304c5819.tar.gz spacetraders-312ef2eb5792cd145d6829e2abc017dd304c5819.tar.bz2 spacetraders-312ef2eb5792cd145d6829e2abc017dd304c5819.zip |
[golang] implement trading and contracting
Diffstat (limited to 'golang/pkg/agent/utils.go')
-rw-r--r-- | golang/pkg/agent/utils.go | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/golang/pkg/agent/utils.go b/golang/pkg/agent/utils.go index 274e973..b274f43 100644 --- a/golang/pkg/agent/utils.go +++ b/golang/pkg/agent/utils.go @@ -40,6 +40,22 @@ func (a *agent) listWaypointsInSystemWithTrait(systemSymbol string, trait string return waypoints, nil } +func (a *agent) listMarketsInSystem(systemSymbol string) ([]model.Market, error) { + waypoints, err := a.listWaypointsInSystemWithTrait(systemSymbol, "MARKETPLACE") + if err != nil { + return nil, fmt.Errorf("failed to list waypoints in system %s with trait MARKETPLACE: %w", systemSymbol, err) + } + var markets []model.Market + for i := range waypoints { + market, err := a.client.GetMarket(waypoints[i].Symbol, a.db) + if err != nil { + return nil, fmt.Errorf("failed to get market %s: %w", waypoints[i].Symbol, err) + } + markets = append(markets, *market) + } + return markets, nil +} + func (a *agent) listShipyardsInSystem(systemSymbol string) ([]model.Shipyard, error) { waypoints, err := a.listWaypointsInSystemWithTrait(systemSymbol, "SHIPYARD") if err != nil { @@ -47,7 +63,7 @@ func (a *agent) listShipyardsInSystem(systemSymbol string) ([]model.Shipyard, er } var shipyards []model.Shipyard for i := range waypoints { - shipyard, err := a.client.GetShipyard(&waypoints[i], a.db) + shipyard, err := a.client.GetShipyard(waypoints[i].Symbol, a.db) if err != nil { return nil, fmt.Errorf("failed to get shipyard %s: %w", waypoints[i].Symbol, err) } |