changes to model

This commit is contained in:
samantha42
2026-03-26 08:39:42 +01:00
parent ff7b41e2a8
commit 3f878c1dc0
15 changed files with 119 additions and 195 deletions

View File

@@ -9,7 +9,7 @@ import (
)
func GetTrades(db *sql.DB) ([]model.Trade, error) {
rows, err := db.Query("SELECT company_id, currency_code, shares, product, type, price, traded_at FROM trades")
rows, err := db.Query("SELECT company_id, symbol, currency_id, currency_code, shares, product, type, price, traded_at FROM trades")
if err != nil {
return nil, err
}
@@ -17,21 +17,14 @@ func GetTrades(db *sql.DB) ([]model.Trade, error) {
var trades []model.Trade
for rows.Next() {
var tickerInt int
var typeInt int
var t model.Trade
err := rows.Scan(&tickerInt, &t.Currency, &t.Shares, &t.Product, &typeInt, &t.Price, &t.Date)
err := rows.Scan(&t.CompanyID, &t.Symbol, &t.CompanyID, &t.CurrencyCode, &t.Shares, &t.Product, &typeInt, &t.Price, &t.Date)
if err != nil {
return nil, err
}
company, err := GetCompanyByID(db, tickerInt)
if err != nil {
return nil, err
}
t.Ticker = *company
switch typeInt {
case 0:
t.Type = model.TradeType(false)
@@ -50,7 +43,7 @@ func GetTrades(db *sql.DB) ([]model.Trade, error) {
}
func GetPositions(db *sql.DB) ([]model.Position, error) {
rows, err := db.Query("SELECT company_id, shares, weight, CostBases, currency_id")
rows, err := db.Query("SELECT company_id, symbol, shares, weight, CostBasis, currency_id, currency_code from position")
if err != nil {
return nil, err
}
@@ -59,10 +52,12 @@ func GetPositions(db *sql.DB) ([]model.Position, error) {
var positions []model.Position
for rows.Next() {
var t model.Position
err := rows.Scan(&t.Company.ID, &t.Shares, &t.Weight, &t.CostBasis, t.Currency)
err := rows.Scan(&t.CompanyID, &t.Symbol, &t.Shares, &t.Weight, &t.CostBasis, &t.CurrencyID, &t.CurrencyCode)
if err != nil {
return nil, err
}
positions = append(positions, t)
}
if err = rows.Err(); err != nil {
@@ -74,9 +69,11 @@ func GetPositions(db *sql.DB) ([]model.Position, error) {
func InsertTrade(db *sql.DB, trade model.Trade) error {
_, err := db.Exec(
"INSERT INTO trades (company_id, currency_id, shares, product, type, price, traded_at) VALUES (?, ?, ?, ?, ?, ?, ?)",
trade.Ticker.ID,
trade.Currency,
"INSERT INTO trades (company_id, symbol, currency_id, currency_code, shares, product, type, price, traded_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
trade.CompanyID,
trade.Symbol,
trade.CurrencyID,
trade.CurrencyCode,
trade.Shares,
trade.Product,
trade.Type,