aboutsummaryrefslogtreecommitdiff
path: root/backend/internal/database/stocks.go
diff options
context:
space:
mode:
authorGravatar Anshul Gupta <ansg191@anshulg.com> 2024-08-08 16:53:59 -0700
committerGravatar Anshul Gupta <ansg191@anshulg.com> 2024-08-08 16:53:59 -0700
commitf34b92ded11b07f78575ac62c260a380c468e5ea (patch)
tree8ffdc68ed0f2e253e7f9feff3aa90a1182e5946c /backend/internal/database/stocks.go
parenta439618cdc8168bad617d04875697b572f3ed41d (diff)
downloadibd-trader-f34b92ded11b07f78575ac62c260a380c468e5ea.tar.gz
ibd-trader-f34b92ded11b07f78575ac62c260a380c468e5ea.tar.zst
ibd-trader-f34b92ded11b07f78575ac62c260a380c468e5ea.zip
Rework redis taskqueue to store task results
Diffstat (limited to 'backend/internal/database/stocks.go')
-rw-r--r--backend/internal/database/stocks.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/backend/internal/database/stocks.go b/backend/internal/database/stocks.go
index 0627a72..24f5fe7 100644
--- a/backend/internal/database/stocks.go
+++ b/backend/internal/database/stocks.go
@@ -151,8 +151,13 @@ WHERE r.id = $1;`, id)
return &info, nil
}
-func AddAnalysis(ctx context.Context, exec Executor, ratingId string, analysis *analyzer.Analysis) error {
- _, err := exec.ExecContext(ctx, `
+func AddAnalysis(
+ ctx context.Context,
+ exec Executor,
+ ratingId string,
+ analysis *analyzer.Analysis,
+) (id string, err error) {
+ err = exec.QueryRowContext(ctx, `
UPDATE chart_analysis ca
SET processed = true,
action = $2,
@@ -161,14 +166,15 @@ SET processed = true,
confidence = $5
FROM ratings r
WHERE r.id = $1
- AND r.chart_analysis = ca.id;`,
+ AND r.chart_analysis = ca.id
+RETURNING ca.id;`,
ratingId,
analysis.Action,
analysis.Price.Display(),
analysis.Reason,
analysis.Confidence,
- )
- return err
+ ).Scan(&id)
+ return id, err
}
type Stock struct {