summaryrefslogtreecommitdiff
path: root/golang/pkg/database
diff options
context:
space:
mode:
authorJulien Dessaux2025-02-14 00:14:15 +0100
committerJulien Dessaux2025-02-14 00:14:15 +0100
commitd97985a694b218713ddf63ed684b6a509f931f3b (patch)
tree84609f4e242419bf89301e0ead4927f450d7bfe5 /golang/pkg/database
parent[golang] Bootstrap contracting and refactor the agent code (diff)
downloadspacetraders-d97985a694b218713ddf63ed684b6a509f931f3b.tar.gz
spacetraders-d97985a694b218713ddf63ed684b6a509f931f3b.tar.bz2
spacetraders-d97985a694b218713ddf63ed684b6a509f931f3b.zip
[golang] implement automation loop and add contract accepting
Diffstat (limited to '')
-rw-r--r--golang/pkg/database/agents.go2
-rw-r--r--golang/pkg/database/db.go16
-rw-r--r--golang/pkg/database/tokens.go2
3 files changed, 18 insertions, 2 deletions
diff --git a/golang/pkg/database/agents.go b/golang/pkg/database/agents.go
index cd9e0a2..e2580a9 100644
--- a/golang/pkg/database/agents.go
+++ b/golang/pkg/database/agents.go
@@ -12,7 +12,7 @@ func (db *DB) SaveAgent(agent *model.Agent) error {
if err != nil {
return fmt.Errorf("failed to marshal agent: %w", err)
}
- if _, err := db.Exec(`INSERT INTO agents SET data = (json(?));`, data); err != nil {
+ if _, err := db.Exec(`INSERT INTO agents VALUES data = (json(?));`, data); err != nil {
return fmt.Errorf("failed to insert agent data: %w", err)
}
return nil
diff --git a/golang/pkg/database/db.go b/golang/pkg/database/db.go
index cb15e52..f094039 100644
--- a/golang/pkg/database/db.go
+++ b/golang/pkg/database/db.go
@@ -5,6 +5,7 @@ import (
"database/sql"
"fmt"
"runtime"
+ "strings"
)
func initDB(ctx context.Context, url string) (*sql.DB, error) {
@@ -90,6 +91,21 @@ func (db *DB) Close() error {
return nil
}
+func (db *DB) Reset() error {
+ _, err := db.Exec(strings.Join([]string{
+ "DELETE FROM agents;",
+ "DELETE FROM markets;",
+ "DELETE FROM systems;",
+ "DELETE FROM tokens;",
+ "DELETE FROM transactions;",
+ "DELETE FROM waypoints;",
+ }, ""))
+ if err != nil {
+ return fmt.Errorf("failed to reset database: %w", err)
+ }
+ return nil
+}
+
func (db *DB) Exec(query string, args ...any) (sql.Result, error) {
return db.writeDB.ExecContext(db.ctx, query, args...)
}
diff --git a/golang/pkg/database/tokens.go b/golang/pkg/database/tokens.go
index 0356cb2..8111551 100644
--- a/golang/pkg/database/tokens.go
+++ b/golang/pkg/database/tokens.go
@@ -1,6 +1,6 @@
package database
-func (db *DB) AddToken(token string) error {
+func (db *DB) SaveToken(token string) error {
_, err := db.Exec(`INSERT INTO tokens(data) VALUES (?);`, token)
return err
}