summaryrefslogtreecommitdiff
path: root/golang/pkg/agent/utils.go
diff options
context:
space:
mode:
authorJulien Dessaux2025-02-19 00:19:58 +0100
committerJulien Dessaux2025-02-19 00:19:58 +0100
commit312ef2eb5792cd145d6829e2abc017dd304c5819 (patch)
treecf782f8356bea73eacb5495631794cf5584e00cb /golang/pkg/agent/utils.go
parent[golang] update error handling and bootstrap trade procurement (diff)
downloadspacetraders-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.go18
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)
}