set and get now work trough endpoint api

This commit is contained in:
zipfriis
2026-03-25 17:44:04 +01:00
parent b9f462f5be
commit e056d8a37e
7 changed files with 82 additions and 18 deletions

View File

@@ -3,24 +3,50 @@ package database
import (
"Portifolio/internal/model"
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
)
func GetTrades(db *sql.DB) ([]model.Trade, error) {
rows, err := db.Query("SELECT id, company_id, currency_id, shares, product, type, price, traded_at FROM trades")
rows, err := db.Query("SELECT company_id, currency_id, shares, product, type, price, traded_at FROM trades")
if err != nil {
return nil, err
}
defer rows.Close()
var trades []model.Trade
for rows.Next() {
var TickerInt int
var CurrencyInt int
var TypeInt int
var t model.Trade
err := rows.Scan(&t.Ticker, &t.Currency, &t.Shares, &t.Product, &t.Type, &t.Price, &t.Date)
err := rows.Scan(&TickerInt, &CurrencyInt, &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
}
currency, err := GetCurrencyByID(db, CurrencyInt)
if err != nil {
return nil, err
}
t.Currency = currency
t.Ticker = *company
switch TypeInt {
case 0:
t.Type = model.TradeType(false)
case 1:
t.Type = model.TradeType(true)
default:
return nil, fmt.Errorf("failed to convert given Type int to bool of trade type.")
}
trades = append(trades, t)
}
if err = rows.Err(); err != nil {